Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Fahrtenbuch Abfrage Frage

Begonnen von silentwolf, März 05, 2013, 10:45:54

⏪ vorheriges - nächstes ⏩

silentwolf

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

database

#1
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

silentwolf

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

silentwolf

Ach noch eines
es gibt mir den Eigenschaften nicht gefunden Fehler zurück  :(

Schöne Grüße

Albert

database

Hi,

an welcher Stelle - setze einen Haltepunkt und spring dann mit F8 durch den Code bis zum Fehler.

silentwolf

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

database

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

silentwolf

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

database

Hallo Albert,

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

Kannst mir einen Screenshot von den gesetzten Verweisen zeigen?


silentwolf

Hallo jo da schau I  ;D
brav sag ich nur !!

Hier bitteschön !


Schöne Grüße

Albert

[Anhang gelöscht durch Administrator]

database

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.


silentwolf

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


database

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

silentwolf

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

database

Hmmm...

lass mal den gesamten Code anschauen, den du da verwendest...
des gibts jo net ..   :'(