Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: silentwolf am März 05, 2013, 10:45:54

Titel: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 05, 2013, 10:45:54
Hallo ich bins mal wieder  ::),

könnte mir jemand bitte sagen ob ich mit einer Abfrage Datensätze kontrollieren kann die auf zwei verschiedenen Datensätzen beruhen?

Also zu meinen Problem.
Ich habe Fahrtenbuch Einträge mit KMSTandAnfang und KMStandEnde in einem DS.
Nun würde ich gerne kontrollieren ob der nächste DS korrekt ist also ob der KMSTandAnfang mit dem vorherigen DS KMSTandEnde übereinstimmt.

Hoffe Ihr könnt mein Problem verstehen :)

Danke für Eure Hilfe!!

Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 05, 2013, 11:16:01
Hallo Albert,

du könntest im Unterformular des Fehrtenbuchs ins Ereignis 'Vor Aktualisierung' des Steuerelements 'FB_kmStandAnfang' folgende Prozedur einbauen:


Private Sub FB_KmStandAnfang_BeforeUpdate(Cancel As Integer)

   Dim rst As dao.Recordset
   
   Set rst = CurrentDb.OpenRecordset("SELECT MAX(FB_KmStandEnde) AS KM FROM tblFahrtenbuch")
   
   If Me.FB_KmStandAnfang <> rst!KM Then
       MsgBox "Der eingegebene km-Stand stimmt nicht mit dem letzten Endstand überein!", vbExclamation, "KM-Stand"
       Cancel = true
   End If
   
   Set rst = Nothing

End Sub


HTH
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 05, 2013, 19:09:10
Hallo Peter,
hab auch diese Nachricht nicht bekommen :(
Weis nicht was da los war  ::)
Wie auch immer vielen Dank erstmal für Deinen Code.
Nur ich hab bereits Datensätze in meineem Fahrtenbuch.. und wollte an diesen DS den code testen.
Also hab ich den KMSTandAnfang geändert und zuerst hat es funktioniert doch wie ich den DS wieder richtigestellt habe hat es immer noch
die msgbox gekommen :(

Weis nicht warum es nicht funktioniert ??

Lg
Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 05, 2013, 19:12:48
Ach noch eines
es gibt mir den Eigenschaften nicht gefunden Fehler zurück  :(

Schöne Grüße

Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 05, 2013, 21:33:05
Hi,

an welcher Stelle - setze einen Haltepunkt und spring dann mit F8 durch den Code bis zum Fehler.
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 07, 2013, 18:05:56
Hallo Peter,

hab es mit dem Haltepunkt versucht aber mit F8 komm ich dann nicht weiter :(
Muss doch noch besser debugging ansehen ;)
meld mich aber wenn ich es hinbekommen habe  ;D

Schöne Grüße

Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 07, 2013, 21:09:06
Hallo Albert.

Den Haltepunkt setzt du direkt auf den Prozedurkopf  ...  also bei   Private Sub...

Dann startest du dein Formular ganz wie gewohnt und versuchst mal einen km-Stand Neu einzutragen.
wenn du nach der Eingabe das Feld entweder mit der Tab-Taste oder Enter verlassen willst oder aber auch mit der Maus in ein anders Formularfeld wechseln willst, kommt dieser Haltepunkt zum Tragen, da durch obige Aktionen das Ereignis 'Vor Aktualisierung' ausgelöst wird.
Der VBE wird angezeigt und die Programmzeile mit dem Haltepunkt ist gelb hinterlegt.
nun kannst du mit F8 den Code schrittweise durchgehen und siehst dann ganz genau, wo ein Fehler auftritt.

Ich denke, es wird die Zeile Set rst = dao.recordset sein.
Wenn das so ist, schau mal im VBE unter 'Extras' ... Verweise nach ob da ein Verweis auf die 'Microsoft DAO 3.x Object Library gesetzt ist.
Wenn nicht, hole das bitte gleich nach.

In dem Fall dann nach dem Setzen des Verweises das Verweisfenster mit OK schließen, das Formular neu starten und mal sehen obs dann läuft.

HTH
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 08, 2013, 06:45:11
Guten Morgen Peter,

danke für Deine Erklärung! Es kommt langsam etwas Licht ins Dunkle Access Leben :) dank Deiner Hilfe!!
Hab zwar den Code noch nicht mit Haltepunkt durchlaufen lassen aber den Verweis wollte ich gleich kontrollieren.

Nun hab ich da schon wieder ein Problem :(
Es erlaubt mir nicht diesen Verweis hinzuzufügen da er in Konflikt mit einen anderen Verweis steht :(
Aber wo finde ich den wieder  ???
Also welcher er ist oder wo ich was ändern muss damit es funktioniert  :'(


Danke

Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 08, 2013, 07:05:21
Hallo Albert,

da staunst du - ja, ich bin schon an der Arbeit  ;)

Kannst mir einen Screenshot von den gesetzten Verweisen zeigen?

Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 08, 2013, 07:45:10
Hallo jo da schau I  ;D
brav sag ich nur !!

Hier bitteschön !


Schöne Grüße

Albert

[Anhang gelöscht durch Administrator]
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 08, 2013, 12:21:23
Hallo Albert,

tja - früher Vogel fängt den Wurm ...

Ich habe nicht gewußt, dass du mit Acc2007 arbeitest, wegen der *.mdb war ich der Ansicht du werkelst mit 2003.
Lass im Code mal das DAO weg.

Wenn das nix bringt, kannst du noch den Verweis auf die 'Microsoft Ofice 12 Access database engine Objects' rausnehmen - das Verweisfenster schließen und danach die DAO 3.6 Data Objects setzen.
Das DAO schreibst dann aber wieder rein.

Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 08, 2013, 12:36:57
Hallo Peter,

ja das sehe ich auch so mit dem frühen Vogel ;)

Danke für Deine Antwort!
Jetzt hab ich mal das DAO weg gelassen.
Debugging ausgeführt und den KM STand versucht zu ändern.
Leider immer noch das selbe Problem :( Danach wollte ich Microsoft access 12.0. ... entfernen.
Geht leider auch nicht ...wird zur Zeit verwendet und kann deshalb nicht entfernt werden.

hmm na ja Hilfe sagt mir ja auch nicht wirklich was da ich nicht weis wo der Fehler liegen kann :(

Tut mir leid  :'(

Albert

Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 08, 2013, 12:40:38
Hi,

wo bleibt denn der Code definitiv hängen?
(Haltepunkt auf Prozedurkopf und dann mit F8 ... wie gestern kurz beschrieben.

.... wird verwendet ...

starte die DB nochmal neu mit gedrückter SHIFT-Taste und gehe dann gleich in den Formularentwurf, dann sollte es schon gehen
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 08, 2013, 12:59:21
Hallo Peter,

also ich glaub ich bin zu blöd fürs debugging  :'(
Hab das nun so gemacht wie Du das gesagt hast.
Na ja dann werden die nächsten Zeilen immer gelb markiert.
und nach der msgbox also bei
cancel = true kommt die Msgbox das der KM STand nicht in Ordnung ist!
Wenn ich dann bis zum End Sub gehe kommt die Fehler meldung Eigenschaft nicht gefunden :(

Das selbe gilt auch wenn ich den KM STand aber schon geändert habe zu den richtigen...


Danke für Deine Erklärungen!!

Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 08, 2013, 13:01:28
Hmmm...

lass mal den gesamten Code anschauen, den du da verwendest...
des gibts jo net ..   :'(
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 08, 2013, 13:07:31
Ich bin auch schon ratlos  ::)

Private Sub FB_KmStandAnfang_BeforeUpdate(Cancel As Integer)
    Dim rst As Recordset

    Set rst = CurrentDb.OpenRecordset("SELECT MAX(FB_KmStandEnde) AS KM FROM tblFahrtenbuch")

    If Me.FB_KmStandAnfang <> rst!KM Then
        MsgBox "Der eingegebene km-Stand stimmt nicht mit dem letzten Endstand überein!", vbExclamation, "KM-Stand"
        Cancel = True
    End If

    Set rst = Nothing
End Sub


Na nur Scherz wusst ja von Anfang an nicht was ich mache  ???

Danke
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 08, 2013, 13:13:33
OK, Frage - hast du jetzt den Verweis auf DAO 3.x gesetzt oder steht der noch immer auf der Microsoft Office 12 ... ?

Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 08, 2013, 13:26:45
Ich bekomme den Objekt 12 nicht heraus :(
Und das andere bekomme ich nicht rein :(

eine nicht ganz tolle Sache :(


Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 08, 2013, 20:23:01
Hallo Albert,

ZitatIch bekomme den Objekt 12 nicht heraus
Und das andere bekomme ich nicht rein

Das kannst du nur dann nicht ändern, wenn z.B. das Formular im Hintergrund in der Formularansicht geöffnet ist.

Ist aber egal, an dem liegt es nicht.

Access 2007 hat allem Anschein nach ein Problem damit, wenn das BeforeUpdate-Ereignis auf ein Textfeld angewendet und die Konstante für Cancel gesetzt wird.
Die Meldung 'Eigenschaft nicht vorhanden' bezieht sich offensichtlich auf die Anweisung  'Cancel = True'

Unter Access 2010 läuft deine DB ohne Problem und ohne dieser leidigen Meldung.

Um nun das zu umgehen kann ich dir im Moment nur eine Alternative anbieten.
Schmeiß das BeforeUpdate-Ereignis raus und setze auf 'Beim Verlassen' eine Ereignisprozedur.
in die fügst dann folgende Zeilen ein.


Private Sub FB_KmStandAnfang_Exit(Cancel As Integer)

   Dim rst As Recordset
   
   Set rst = CurrentDb.OpenRecordset("SELECT MAX(FB_KmStandEnde) AS KM FROM tblFahrtenbuch")

   If Me.FB_KmStandAnfang <> rst!km Then
       
       MsgBox "Der eingegebene km-Stand stimmt nicht mit dem letzten Endstand überein!", vbExclamation, "KM-Stand"        
       Cancel = True
       Me.FB_KmStandAnfang = Null
       
   End If
   
   Set rst = Nothing
   
End Sub


Wenn du den falschen km-Stand NICHT löschen möchtest, nimmst du diese Zeile aus dem Code raus ...   Me.FB_KmStandAnfang = Null

LG
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 09, 2013, 06:39:21
Guten Morgen Peter,

hab den Code geändert hab aber bei meiner DB immer noch den selben Fehlter :(
Cancel = True
soweit ich das sagen kann :(
Es ist so wenn ich den Datensatz ändere auf den korrekten KM Stand immer noch die selbe Msgbox auftritt.


Lg

Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 09, 2013, 09:40:47
Hallo Albert,

E-Mail mit der geänderten und unter 2007 getesteten DB (obige Änderungen funktionierend) ist unterwegs.
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 09, 2013, 14:49:14
Hallo Peter,

hab grad die DB getestet leider ohne Erfolg.
Immer noch das selbe Problem :(

Was mach ich jetzt blos??
Kann man die DB oder Access reparieren?
Hab schon komprimiert und repariert das hilft aber mal nicht :(

Schöne Grüße

Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 09, 2013, 17:28:23
Hallo Albert,

das ist ja zum 'junge Hund kriegen' - ich kann nur nochmals betonen, dass das Ding, so wie isch sie dir geschickt habe unter Acc2007 bei mir fehlerlos läuft.
Was mich auch ein wenig nachdenklich stimmt ist das da ...
ZitatIch bekomme den Objekt 12 nicht heraus
Und das andere bekomme ich nicht rein

Das schaut ja fast so aus als hätte deine Office-Installation wirklich einen Schlag
Da bin ich momentan mit meinem Latein ein bisschen am Ende.

Hast du alle Updates und Service-Packs für Access und Office 2007 installiert?
Hast du vielleicht einen 2. Rechner, auf dem du die DB laufen lassen kannst?

ZitatKann man die DB oder Access reparieren
Ja, kann man - mit deiner Datei hast du das ja schon gemacht.
Die Office-Installtion kann man mit Hilfe des Original-Installationsmediums auch reparieren.

Systemsteuerung ... Programme und Funktionen ... Office 2007 ...   markieren und dann Oben im Fenster 'Ändern auswählen'
Wenn du dann auf 'Features und Funktionen hinzufügen' klickst schau mal ob in der Auswahl ALLE Dropdownfelder weiß sind.

Wenn ja das brich das ab und wähle im Dialog statt dessen 'Reparieren' aus.

Wenn graue Felder zu sehen sind, dann klapp das ERSTE  DropDown (Microsoft Office) auf und wähle da 'Alles vom Arbeitsplatz starten' aus

Danach jeweils den Aufforderungen und Dialogen folgen.



Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 10, 2013, 07:30:12
Guten Morgen Peter!

danke für Deine Mail!!
Das es bei Dir funktioniert hab ich nie in Frage gestellt!! :)
Hab gestern auch noch herum probiert und die original cd office eingelegt und auf reparieren geklickt ... hat alles noch nichts genutzt!
Muss ich denn bei Deiner Erklärung die CD in den Computer legen?
Ich habe auch einen anderen Rechner ja und werde versuchen das es dort funktioniet.. gebe Dir natürlich ein feetback diesbezüglich.
In der Zwischenzeit werde ich mal probieren es so zu erledigen wie Du mir das vorgeschlagen hast!

Vielen Dank erstmal wieder!!


Lg

Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 10, 2013, 08:24:10
Hallo Peter,

so hab meine DB bei einen anderen Rechner ausprobiert.. leider das selbe Problem!
Hab den Verweis DAO 3,6 in meine Verweise bekommen nachdem ich Microsoft Objekt 12 Database ..... herausgenommen habe???
Microsoft Access 12.0 Objekt Library bekomme ich nach wie vor nicht heraus!
Weis nicht ob ich nun Microsoft 12.0 database Engine Object Library wieder anklicken soll bzw.muss??
Bekomme ich auf alle Fälle nicht mehr angeklickt solange ich DAO 3.6. habe.

Hoffe Du weist weiter ? :(

Soll ich Office 2007 nochmal neu installieren?? Ach ja es ist eine gekaufte Lizenz ;) Wenn sich jemand wundern sollte :)



Schöne Grüße


Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 10, 2013, 10:15:43
Hallo Albert,

ZitatHab den Verweis DAO 3,6 in meine Verweise bekommen nachdem ich Microsoft Objekt 12 Database ..... herausgenommen habe
Das ist ein normales Verhalten - du kannst nur DAO ODER MS Office 12 ...  anhaken, beide zur gleichen Zeit geht nicht.

Nur, an dem liegt es nicht - du kannst ruhig wieder DAO den Haken wegnehmen, DANN musst du das Verweisfenster schließen, DANN wieder öffnen und den Verweis auf MS Office 12 database Engine Objects Library auswählen.

Hast du auch meine DB auf beiden Rechnern getestet?

Du kannst versuchen die Office-Installation zu reparieren, so wie ich im Beitrag beschrieben habe.
Wenn das auch nix nutzt - OK versuch mal eine Neuinstallation.
ABER GANZ WICHTIG!
Führe 'Reparieren' oder die Neuinstallation IMMER mit der Auswahl 'Alles vom Arbeitsplatz starten'  aus - alles Andere ist MIST!


ZitatAch ja es ist eine gekaufte Lizenz
Ein Schelm, der anderes denkt ...  :D
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 10, 2013, 10:42:28
Hallo Peter,

vielen Dank für Deine mail!
Na ja werd mal schauen !
Ja hab es auch auf andenern Rechnern probiert aber funktioniert auch nicht!
Das gibt es wohl nicht das alle meine Installationen falsch sind oder schon??

Werd es neu installieren :( Pff

Schönen Gruß

Albert
Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: database am März 10, 2013, 21:36:19
Hallo,

nun, ich denke nach der Verlegung des Codes auf das Form_BeforeUpdate - Ereignis sollte das Ding nun laufen.
Neuinstallation abgewendet ...  ::)


Titel: Re: Fahrtenbuch Abfrage Frage
Beitrag von: silentwolf am März 11, 2013, 07:53:10
Hallo Peter!!

Ja das hast Du wieder mal bravourös hinbekommen  ;D

Sehr herzlichen Dank!!!

Albert