Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Fahrtenbuch Abfrage Frage

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

⏪ vorheriges - nächstes ⏩

silentwolf

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

database

OK, Frage - hast du jetzt den Verweis auf DAO 3.x gesetzt oder steht der noch immer auf der Microsoft Office 12 ... ?


silentwolf

Ich bekomme den Objekt 12 nicht heraus :(
Und das andere bekomme ich nicht rein :(

eine nicht ganz tolle Sache :(


Albert

database

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

silentwolf

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

database

Hallo Albert,

E-Mail mit der geänderten und unter 2007 getesteten DB (obige Änderungen funktionierend) ist unterwegs.

silentwolf

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

database

#22
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.




silentwolf

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

silentwolf

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

database

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

silentwolf

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

database

Hallo,

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



silentwolf

Hallo Peter!!

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

Sehr herzlichen Dank!!!

Albert