collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 47
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13913
  • stats Beiträge insgesamt: 65793
  • stats Themen insgesamt: 8879
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Kalender übernehmen  (Gelesen 1707 mal)

Offline jacobian

  • Newbie
  • Beiträge: 26
Kalender übernehmen
« am: Dezember 28, 2017, 23:53:50 »
Liebe Spezialisten
Mein Anliegen ist es, eine Erinnerungsfunktion einzurichten, welche mit möglichst wenig Arbeitsschritten ein pop-up an einem bestimmten Tag und an einer bestimmten Uhrzeit einen Text anzeigt.

Erst hab ich mir überlegt, dass es ja bloss 3 Felder dazu braucht: Datum, Uhrzeit und Textfeld.
Hier fehlt mir jedoch dann das know-how in visual basic. blöd!
Der zweite Weg, war ein activ-x - Steuerelement, wo ich das Element Kalender-Steuerelement 12.0 finde. Dies wär dann halt bloss eine Teillösung der Aufgabe. Nämlich bloss das Datum!
Und zuletzt hab ich mich auf die Suche gemacht nach fertigen Lösungen und auch welche gefunden:
http://www.ms-office-forum.de/forum/showthread.php?t=99673
Hier wird ein Lösung angeboten, welche viel Platz auf dem Formular einnimmt. Es wird davon ausgegangen, dass auch eine ganze Liste der vergangenen Aufgaben angezeigt werden kann.         
Hier entnehme ich die Idee, eine aufgabe als erledigt markieren zu können, also ein viertes Element einzubauen.
Ferner getestet: Access Kalender 2018 von Smart tool: Ein geniales Aufgabentool. Bloss möcht ich EINE Aufgabe defninieren und es sollte schlank sein. http://www.add-in-world.com/download/access-kalender/           
Und dann endlich gefunden:  http://www.office-loesung.de/ftopic4502_0_0_asc.php       
Hier ist eigentlich die Lösung vorhanden, jedoch spuckt es eine Fehlermeldung aus wenn ich sämtliche Elemente importiere in meine Dantenbank, siehe Anhang.

Hier  http://www.access-o-mania.de/forum/index.php?topic=21352.0   hab ich dann noch den selben Kalender in Version 2010 konvertiert gefunden. Die gleiche Fehlermeldung erscheint.

https://support.microsoft.com/de-de/help/503570
Dort gelesen dass : Die Methode "FindFirst" ist jedoch nur auf Recordsetobjekte vom Typ "Dynaset" und "Snapshot" anwendbar ist, nicht aber auf den Typ "Table". Dies hat mich nach einigen Vesuchen, resp. Änderungen im Quellcode nicht weitergebracht.

Das Betriebssystem ist Windows7 und Standarddateiformat : Access 2002-2203
Hab den Terminkalender97 im access2003 aufmachen können und die Anwendung funktioniert dort ohne Fehlermeldung. Eben halt nicht wenn ich es in meine bestehende Datenbank übernehmen will.
Weiss also jemand, was ich ändern/probieren sollte, damit der Terminkalender97 sich ohne Fehlermeldung bedienen lässt?
Vielen herzlichen Dank
Edi



 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1170
Re: Kalender übernehmen
« Antwort #1 am: Dezember 29, 2017, 05:28:17 »
Screenshots sollte man der Größe wegen im PNG-Format hochladen. Wenig sinnvoll erscheint es auch, Screenshots von Code-Passagen oder Meldungsfenstern anzufertigen - den kurzen Satz kann man doch schließlich abtippen.

Genug kritisiert :) - im Anhang findest Du das konvertierte Kalenderformular oder verwende Haralds Upload hier.
« Letzte Änderung: Dezember 29, 2017, 08:07:53 von Lachtaube »
Grüße von der (⌒▽⌒)
 

Offline jacobian

  • Newbie
  • Beiträge: 26
Re: Kalender übernehmen
« Antwort #2 am: Dezember 30, 2017, 14:55:25 »
Hallo Lachtaube
Vielen Dank schon mal für die Antwort.
Lustig, dass das Thema vor wenigen Tagen aufgegriffen wurde!
Leider seh ich in deinem Anhang ausschliesslich ein Formular, welches ein Datumsfeld mit datepicker enthält.
Vermutlich sind meine Kenntnisse nicht ausreichend, um den Text mit Erinnerungsfunktion-popup zu einer bestimmten Zeit zu ergänzen.
Siehst du denn einen Grund für die Fehlermeldung in meinem Anhang (sorry fürs Format) ?
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1170
Re: Kalender übernehmen
« Antwort #3 am: Dezember 30, 2017, 15:14:29 »
Jacobian, wenn ich den Kopf mit der Maus drücke, erscheint bei mir das Kalender-Formular. Ist das bei Dir nicht der Fall?

Und nein, ich kann in Deinem Bild nichts erkennen. Versuche den Code zu kopilieren - vielleicht meldet sich dann VBA mit etwas Konkretem.
Grüße von der (⌒▽⌒)
 

Offline jacobian

  • Newbie
  • Beiträge: 26
Re: Kalender übernehmen
« Antwort #4 am: Januar 01, 2018, 12:32:08 »
Hallo und ein gutes neues Jahr!
Ja das sieht bei mir genau so aus. Bloss würd ich mir eine Erinnerungsfunktion wünschen. Ich möchte an einem bestimmten Tag zu einer bestimmten Uhrzeit mittels jeweiligen Text eine Erinnerung angezeigt bekommen.
Bislang hab ich noch nicht rausgekriegt wie das kompilieren geht aber ich such mal weiterhin danach..
 

Offline PhilS

  • Administrator
  • Access-Profi
  • *****
  • Beiträge: 323
    • Tipps zu Access, VBA, SQL und Co.
Re: Kalender übernehmen
« Antwort #5 am: Januar 01, 2018, 13:28:00 »
Bislang hab ich noch nicht rausgekriegt wie das kompilieren geht aber ich such mal weiterhin danach..
Im VBA-Editor, Menü "Debuggen"-"Kompilieren ...".
Wenn es dabei zu Fehlern kommt ist die Meldung wichtig, aber noch viel mehr die Codezeile, die dabei markiert wird.
Neues Access 2019 Feature angekündigt: Modern Charts
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1170
Re: Kalender übernehmen
« Antwort #6 am: Januar 01, 2018, 13:32:44 »
Ich wünsche Dir auch ein gutes Neues!

Zum Kompilieren: im VBA-Editor den ersten Menüeintrag von oben unter Debuggen auswählen.

Zum Erinnern: je nachdem wann die Erinnerung stattfinden soll, muss beim Starten (das wäre einmalig) oder in bestimmten Abständen geprüft werden, ob eine Erinnerung fällig ist. Für Letzteres braucht es ein (optional verstecktes) Formular, das in gewissen Zeitabständen prüft, ob Erinnerungen angefallen sind. Diese wird man dann vermutlich in einer Tabelle festhalten und nebst Datum auch mit Uhrzeit ausstatten. Der kleine Kalenderdialog kann lediglich zur Auswahl und/oder Anzeige eines Datums verwendet werden. Wenn nebst Datum und ggf einer Zeitperiode auch noch Text zur Darstellung gebracht werden soll, ist die Aufgabe viel umfangreicher. Auf Roger's Library gibt es ein Beispiel ScheduleTracker, das ggf. als Muster dienen kann (weniger das Layout - das gefällt mir nicht- sondern eher das Datenhandling). Da befinden sich auch noch mehr Beispiele, die Zeiträume nebst Text anzeigen.

Persönlich nutzte ich Google Calendar, das mir Termine und Freizeit anzeigt und bei Bedarf eine Email verschickt oder auch das Handy wackeln/klingen lässt.
Grüße von der (⌒▽⌒)
 

Offline jacobian

  • Newbie
  • Beiträge: 26
Re: Kalender übernehmen
« Antwort #7 am: Januar 01, 2018, 22:39:24 »
okay danke beiden!
unter VB und dem formular "Kalender", welches ich importiert hab sieht man, was ich im ersten post im Anhang gesedet hab. Wenn dort die Fehlermeldung weggeklickt wird, ist bei der Zeile: rs.FindFirst "Datum = " & DatumSQL(DateSerial(Me!Jahr, Me!Monat, aktDay))   das FindFirst blau hinterlegt.
Wenn ich mir andere Formulare anschau dann stoss ich auf das Formular Kunde, wo die ganze Zeile rot hinterlegt ist.
Private Sub Text46_BeforeUpdate(Cancel As Integer)
DatDiff("jjjj";[DATEDENAISSANCE];Datum())+(Format(Datum();"mmtt")<Format([DATEDENAISSANCE];"mmtt"))
End Sub
Da ich bei der Fehler-Elimination sämtliche Feldnamen in den Tabellen, welche Datum hiessen umbenannt habe, geh ich davon aus dass es deswegen rot ist, da hier bei der Berechnung des Alters das Feld Datum nicht mehr gefunden wurde.
Mittlerweile hab ich auch die Altersberechnungsfunktion gelöscht. Hat nix gebracht.
Wo find ich ein Verzeichnis, was die Farben gelb, rot, grün und blau zu bedeuten haben?
Eine Alternative zu dem besagten "Kalender97", der es mir angetan hat find ich es immer ein wenig weniger schön, wenn es extern passiert. Ich könnt ja eigentlich "Kalender97" parallel laufen lassen - dann kommt keine Fehlermeldung.
Deswegen bin ich noch motiviert, es weiterhin zu versuchen.
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1170
Re: Kalender übernehmen
« Antwort #8 am: Januar 02, 2018, 00:45:27 »
Im VBA-Editor im Menü Extras/Optionen... im Register Editor Format kannst Du das Farbschema einsehen und ändern.

Die gezeigte Anweisung ist syntaktisch falsch (und vermutlich auch rot markiert) und auch vom Sinn her nicht so recht etwas zuzuordnen. In VBA werden Funktionen ausschließlich mit englischen Namen verwendet. Argumente werden durch Kommata und nicht durch Semikola getrennt. Funktionen benötigen ein Ziel für eine Wertezuweisung - ansonsten wären es Prozeduren, die ohne Klammerung geschrieben werden.

Private Sub Text46_AfterUpdate()
   Dim CalculatedAge As Long
   
   CalculatedAge = DateDiff("yyyy", Me.DATEDENAISSANCE, Date) + _
                   (Format(Date, "mmdd") < Format(Me.DATEDENAISSANCE, "mmdd"))
   Me.TextfeldZurAltersanzeige = CalculatedAge
   'oder
   MsgBox CalculatedAge
End Sub

Am besten kommentierst Du alles Rote zunächst einmal aus. Wenn es danach keine Fehlermeldung mehr beim Kompilieren gibt, kann man Code in jeder auskommentierten Baustelle nach und nach abarbeiten.
Grüße von der (⌒▽⌒)
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1736
Re: Kalender übernehmen
« Antwort #9 am: Januar 02, 2018, 12:56:58 »
Hallo Lachtaube,
Zitat
Am besten kommentierst Du alles Rote zunächst einmal aus.
Ob das eine so gute Idee ist? Evtl. erzeugt das doch weitere Fehler.
Ich arbeite Kompilierungsfehler in der Reihenfolge ab wie sie angezeigt
werden.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1170
Re: Kalender übernehmen
« Antwort #10 am: Januar 02, 2018, 13:31:51 »
Ekkehard, Du hast ja auch ausreichende Kenntnisse der VBA-Syntax, was bei Jacobian vermutlich nicht der Fall isein dürfte.
Grüße von der (⌒▽⌒)
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1736
Re: Kalender übernehmen
« Antwort #11 am: Januar 02, 2018, 15:54:11 »
Hallo Lachtaube, (ich würde dich ja lieber mit Realnamen ansprechen)
Was ich meine ist, dass das Auskommentieren fehlerhaften Codes zu
Folgefehlern führen kann, die er dann versucht zu korrigieren, was aber
gar nicht nötig ist, wenn der erste Fehler ausgemerzt ist.
Das hat IMO auch nichts mit den Kenntnissen zu tun, denn das Problem
verschwindet ja auch nicht durch das Auskommentieren  ;)
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline PhilS

  • Administrator
  • Access-Profi
  • *****
  • Beiträge: 323
    • Tipps zu Access, VBA, SQL und Co.
Re: Kalender übernehmen
« Antwort #12 am: Januar 02, 2018, 16:32:55 »
Ich möchte hier Ekkehard zustimmen. Ich halte es nicht für eine gute Idee allen problematischen Code auszukommentieren. Neben dem Problem, dass man sich dadurch mit Folgefehlern beschäftigt, die man gar nicht hätte, wenn man gleich den eigentlichen Fehler korrigiert hätte, stiftet es vielleicht auch mehr Verwirrung weil man den Überlick über relevanten und dauerhaft auskommentierten Code verliert. - Ganz besonders für Anfänger.

Der Compiler bricht ja jeweils bei einem konkreten Fehler ab. Diesen kann man dann jeweils konkret angehen.

Nebenbei zum eigentlichen Problem: Mich beschleicht hier der Verdacht, dass die wesentlichen Probleme daher rühren, dass der Code auf DAO ausgelegt ist, aber jacobian in seinem Projekt nur die ADO-Bibliothek eingebunden hat.
@jacobian: Schau mal im VBA-Editor unter Menü "Extras"-"Verweise" ob du dort die Microsoft DAO 3.6 Object Library eingebunden hast. Wenn nein, diese in der Liste suchen und ankreuzen. - Danach nochmal kompilieren.
- Ich wette 0.02EUR darauf, dass das die Anzahl der Kompilierfehler drastisch reduzieren wird.
 
Neues Access 2019 Feature angekündigt: Modern Charts
 

Offline jacobian

  • Newbie
  • Beiträge: 26
Re: Kalender übernehmen
« Antwort #13 am: Januar 06, 2018, 18:43:24 »
aktiviert waren bei mir folgende Bibliotheken:
Visual Basic for Application
Microsoft Access 12.0 Object Library
OLE Automation
Microsoft ActiveX Data Objects 2.5 Library
Microsoft Office 12.0 Access Database engine Object Library
Microsoft Visual Basic for Application Extensibility 5.3
Konnte jedoch nicht das Microsoft DAO 3.6 Object Library einfach aktivieren, sondern  musste erst das Microsoft Office 12.0 Access Database enginge Object Library deaktivieren.
Bedingtes Juhui, denn nun ist die Fehlermeldung: Laufzeitfehler 3061:  1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben.
Wenn ich jetzt auf die Schaltfläche Debuggen klicke wird diese Zeile gelb hinterlegt:  Set rs = db.OpenRecordset("Select Datum From Termin", dbOpenSnapshot)
Die Lösung für Laufzeitfehler 3061 hab ich bislang nicht gefunden.
Möchte noch präzisieren dass meine Access-Version 2007 ist.


 

Offline Frithjiof

  • Access-User
  • *
  • Beiträge: 74
Re: Kalender übernehmen
« Antwort #14 am: Januar 06, 2018, 19:17:12 »

Wenn ich jetzt auf die Schaltfläche Debuggen klicke wird diese Zeile gelb hinterlegt:  Set rs = db.OpenRecordset("Select Datum From Termin", dbOpenSnapshot)
Bist du sicher dass das Feld "Datum" (=ungünstiger Feldname) heißt und die Tabelle "Termin"?
Geht das vielleicht?
Set rs = db.OpenRecordset("Select Termin.Datum From Termin;", dbOpenSnapshot)