collapse

* Benutzer Info

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

* Wer ist Online

  • Punkt Gäste: 62
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 1
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13974
  • stats Beiträge insgesamt: 66583
  • stats Themen insgesamt: 8974
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Änderungen im Hfo und Ufo erkennen?  (Gelesen 11898 mal)

Offline -Tom-

  • Access-Profi
  • **
  • Beiträge: 214
    • Weber-Computerhilfe - Damit Ihr Computer nicht zum Alptraum wird!
Änderungen im Hfo und Ufo erkennen?
« am: November 15, 2013, 19:55:47 »
Hallo,

Ich habe ein Hauptformular und dazu zwei Unterformulare. Dies Ufos enthalten auch wieder Unterformulare.

Wie kann ich nun Änderungen in den ganzen Formularen erkennen?

Im Hfo könnte ich das ja mit Me.Dirty realisieren, aber das geht ja nicht mit den Ufos.

Ich habe zu dem Problem diese Seite gefunden, beim versuch das umzusetzen habe ich allerdings Probleme.

z.B. Wenn ich mein Hfo öffne wird die folgende Sub durchlaufen

Private Sub UnterformularAktualisieren()

    Dim strSQL As String
    Dim rst As DAO.Recordset

    'Zusammenstellen des SQL-Strings
    strSQL = "SELECT * FROM tbl_MotorGrunddaten WHERE MotorGrunddatenID = " & Nz(Me!cboMotNrSuchen, 0) & ""
   
   
    'Öffnen des Recordset
    Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)

    'Zuweisen des Recordset an das Unterformular
     Set Me!frm01MotorErfassungUfoMechDat.Form.Recordset = rst
     Set Me!frm02MotorErfassungUfoElDat.Form.Recordset = rst

End Sub

Und hier erhalte ich bei  Set rst = db.OpenRecordset(strSQL, dbOpenDynaset) einen Laufzeitfehler 91 - Objektvariable oder With-Blockvariable nicht festgelegt.

Warum?

Kann mir jemand helfen das auf der Seite beschriebene umzusetzen oder gibt es noch eine andere Möglichkeit die Änderungen zu erkennen?

-Tom-
Computerprobleme??? -> http//www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
 

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1889
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #1 am: November 15, 2013, 20:45:33 »
Hi Tom,

was passiert, wenn Du einen einfacheren Ansatz probierst, um den Fehler zu vermeiden:

Code: (vb) [Auswählen]
Set Me!frm01MotorErfassungUfoMechDat.Form.Recordset = "SELECT * FROM tbl_MotorGrunddaten WHERE MotorGrunddatenID = " & Nz(Me!cboMotNrSuchen, 0)
Ich setze voraus, dass cboMotNrSuchen ein Zahlenfeld ist.

Wobei mir der Zusammenhang zur Ausgangsfrage (wie Änderungen erkennen) noch unklar ist.
Nach meinem Verständnis würde ich eine Änderung erkennen, wenn ich einen früheren Zustand mit einem aktuellen Zustand vergleiche.
Vielleicht habe ich aber die Frage nicht verstanden.

Harald
Servus
 

Offline -Tom-

  • Access-Profi
  • **
  • Beiträge: 214
    • Weber-Computerhilfe - Damit Ihr Computer nicht zum Alptraum wird!
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #2 am: November 15, 2013, 21:28:06 »
Hi Tom,

was passiert, wenn Du einen einfacheren Ansatz probierst, um den Fehler zu vermeiden:

Code: (vb) [Auswählen]
Set Me!frm01MotorErfassungUfoMechDat.Form.Recordset = "SELECT * FROM tbl_MotorGrunddaten WHERE MotorGrunddatenID = " & Nz(Me!cboMotNrSuchen, 0)
Ich setze voraus, dass cboMotNrSuchen ein Zahlenfeld ist.

Hier erhalte ich einen Laufzeitfehler 424 - Objekt erforderlich.

Wobei mir der Zusammenhang zur Ausgangsfrage (wie Änderungen erkennen) noch unklar ist.
Nach meinem Verständnis würde ich eine Änderung erkennen, wenn ich einen früheren Zustand mit einem aktuellen Zustand vergleiche.
Vielleicht habe ich aber die Frage nicht verstanden.

Ich öffne z.B. einen vorhanden Datensatz, wenn jetzt hier in irgendeinem Feld etwas geändert wurde möchte ich das erkennen und erst mit einem Klick auf speichern die Änderung abspeichern.

-Tom-
Computerprobleme??? -> http//www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
 

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1889
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #3 am: November 15, 2013, 22:45:16 »
Hi

Mist copy & paste

Set Me!frm01MotorErfassungUfoMechDat.Form.Recordsource = "SELECT * FROM tbl_MotorGrunddaten WHERE MotorGrunddatenID = " & Nz(Me!cboMotNrSuchen, 0)


Danke für die Erklärungen.
Es gibt das Ereignis "Vor Aktualisierung" {= Form_BeforeUpdate}.
Dort könntest Du eine Bedingung einbauen:
If MsgBox("Speichern", vbYesNo) = vbNo Then Me.Undo

Harald
« Letzte Änderung: November 15, 2013, 22:56:05 von bahasu »
Servus
 

Offline -Tom-

  • Access-Profi
  • **
  • Beiträge: 214
    • Weber-Computerhilfe - Damit Ihr Computer nicht zum Alptraum wird!
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #4 am: November 18, 2013, 07:37:08 »
Set Me!frm01MotorErfassungUfoMechDat.Form.Recordsource = "SELECT * FROM tbl_MotorGrunddaten WHERE MotorGrunddatenID = " & Nz(Me!cboMotNrSuchen, 0)

Gleicher Fehler -> Laufzeitfehler 424 - Objekt erforderlich.


Es gibt das Ereignis "Vor Aktualisierung" {= Form_BeforeUpdate}.
Dort könntest Du eine Bedingung einbauen:
If MsgBox("Speichern", vbYesNo) = vbNo Then Me.Undo

Dann erhalte ich beim wechsel zwischen dem Hfo und Ufos immer diese Meldung und das kann dann nerven.

-Tom-
Computerprobleme??? -> http//www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
 

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1889
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #5 am: November 18, 2013, 09:00:19 »
Hi,

kannst Du eine komprimierte und gezippte a2003-Datenbank zur Verfügung stellen?

Harald
Servus
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23349
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #6 am: November 18, 2013, 09:01:09 »
Hallo,


1)
Set Me!frm01MotorErfassungUfoMechDat.Form.Recordsource = "SELECT * FROM tbl_MotorGrunddaten WHERE MotorGrunddatenID = " & Nz(Me!cboMotNrSuchen, 0)


2)


Zitat
Wie kann ich nun Änderungen in den ganzen Formularen erkennen?
.
.

Dann erhalte ich beim wechsel zwischen dem Hfo und Ufos immer diese Meldung und das kann dann n
erven.

Tja, das ist doch was Du wolltest....(und die Frage Frage ist eigentlich, WARUM Du das willst.)

Bei einem Formularwechsel wird nun mal gespeichert...


Zitat
Wie kann ich nun Änderungen in den ganzen Formularen erkennen?

"Erkennen" durch Nutzung der Dirty-Eigenschaft (des jeweiligen Formulares) oder der Beforeupdate-Ereignisse der jeweiligen Forms, bzw. der einzelnen Steuerelemente, wenn man es "genauer" (differenzierter) haben will. Diese Situation eignet sich für diejenigen Fälle, in denen eine Speicherung (nach Prüfung auf Plausibilität) verhindert werden soll. Grundsätzlich nachzufragen, ist eher hinderlich (wie Du selber merkst).  
Die  AfterUpdate-Ereignisse kommen dann in Frage, wenn man sicher sein muss/will, dass die Werte gespeichert wurden  und mit den gespeicherten Werten direkt weitergearbeitet werden soll.

Vielleicht sollte die Ablaufsteuerung nochmal überdacht werden.

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1889
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #7 am: November 18, 2013, 17:39:41 »
Hi Tom,

sorry, für das set...
Ich brauche wohl eine neue Brille oder ein neues Hirn. ;D
 
Dann erhalte ich beim wechsel zwischen dem Hfo und Ufos immer diese Meldung und das kann dann nerven.

wobei ich mich frage, warum das obige Ereignis alleine beim Wechsel (d.h. ohne jegliche Datenänderung) zwischen Formularen ausgelöst werden sollte.

Harald

Servus
 

Offline -Tom-

  • Access-Profi
  • **
  • Beiträge: 214
    • Weber-Computerhilfe - Damit Ihr Computer nicht zum Alptraum wird!
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #8 am: November 19, 2013, 09:03:43 »
Hallo,

Zitat
Set Me!frm01MotorErfassungUfoMechDat.Form.Recordsource = "SELECT * FROM tbl_MotorGrunddaten WHERE MotorGrunddatenID = " & Nz(Me!cboMotNrSuchen, 0)

Danke, damit ist der Fehler weg.

Zitat
"Erkennen" durch Nutzung der Dirty-Eigenschaft (des jeweiligen Formulares) oder der Beforeupdate-Ereignisse der jeweiligen Forms

Ich werde das damit nochmal testen, denn der jetzige Versuch scheitert an weiteren Fehlermeldungen.

Zitat
wobei ich mich frage, warum das obige Ereignis alleine beim Wechsel (d.h. ohne jegliche Datenänderung) zwischen Formularen ausgelöst werden sollte.

Das ist natürlich richtig dass das Ereignis auch nur bei einer Änderung auftreten sollte. Wie gesagt werde das nochmal testen.

Danke für die Hilfe!

-Tom-
Computerprobleme??? -> http//www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
 

Offline -Tom-

  • Access-Profi
  • **
  • Beiträge: 214
    • Weber-Computerhilfe - Damit Ihr Computer nicht zum Alptraum wird!
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #9 am: November 28, 2013, 19:18:17 »
Hallo,

Das mit dem erkennen von Änderungen im HFo und Ufo funktioniert nun wie gewünscht.
Nur habe ich das Problem dass wenn ich einen neuen Datensatz erstelle oder von einem leeren neuen DS in einen bestehenden DS wechsle das BeforeUpdate-Ereignis greift und mir eine Änderung erkennt die es nicht gibt.

Kann es sein dass das das durch die Verknüpfung von dem Hfo mit dem Ufo kommt?

Kann ich erkennen was geändert wurde?
Wie kann ich das ganze verhindern umgehen?

-Tom-
Computerprobleme??? -> http//www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
 

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1889
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #10 am: November 28, 2013, 19:40:16 »
Hi,

kannst Du eine komprimierte + gezippte Datenbank im a2003-Format zur Verfügung stellen?

Harald
Servus
 

Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 889
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #11 am: November 28, 2013, 19:51:07 »
Bei neuen Datensätzen:
If Not Me.NewRecord Then ...
Zur Änderungsprotokollierung gibt es übrigens eine Demo: AccSampleAuditTrail.zip
Mit freundlichem Glück Auf!

Eberhard
 

Offline -Tom-

  • Access-Profi
  • **
  • Beiträge: 214
    • Weber-Computerhilfe - Damit Ihr Computer nicht zum Alptraum wird!
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #12 am: November 28, 2013, 19:53:59 »
Muss es auch zwei Archive aufteilen, sonst langen mir die 200KB nicht.
Zum entpacken das .txt bei der Dateiendung entfernen!

Das ganze passirt im Hfo "frm01MotorErfassung".

-Tom-
Computerprobleme??? -> http//www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
 

Offline -Tom-

  • Access-Profi
  • **
  • Beiträge: 214
    • Weber-Computerhilfe - Damit Ihr Computer nicht zum Alptraum wird!
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #13 am: November 28, 2013, 19:54:55 »
Bei neuen Datensätzen:
If Not Me.NewRecord Then ...
Zur Änderungsprotokollierung gibt es übrigens eine Demo: AccSampleAuditTrail.zip

Das habe ich versucht, aber das BeforeUpdate-Ereignis wird zuvor ausgelöst und da enthält Me.NewRecord noch eine 0.

-Tom-
Computerprobleme??? -> http//www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
 

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1889
Re: Änderungen im Hfo und Ufo erkennen?
« Antwort #14 am: November 28, 2013, 21:34:31 »
Hi,

die Dateien kann ich nicht öffnen (ZIP_Ordner ist ungültig.

Harald
Servus