Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
auto commit umgehen ?
zurück: Bildbereich eines Formulars festlegen weiter: Tabelle sichern und Inhalt löschen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
leira
Im Profil kannst Du frei den Rang ändern


Verfasst am:
11. Jun 2004, 09:25
Rufname:

auto commit umgehen ? - auto commit umgehen ?

Nach oben
       

Hallo,

ich habe ein Formular, über das man die Daten der DB eingeben und ändern kann. Dass Daten dabei sofort gespeichert werden, ist eher nicht gewünscht, deswegen meine Frage :
Kann man das auto commit in Formularen irgendwie umgehen und statt dessen ein "Wollen Sie Ihre Änderungen speichern ?" - "Ja/Nein" Fenster einblenden wenn jemand das Formular schließen will oder zum nächsten Datensatz übergehen will ?

Danke schonmal,

Grüße,
Leira
Willi Wipp
Moderator


Verfasst am:
11. Jun 2004, 15:15
Rufname:
Wohnort: Raum Wiesbaden


Re: auto commit umgehen? - Re: auto commit umgehen?

Nach oben
       

Hi Leira,

das kannst Du mit bei den Ereignissen Beim Anzeigen (Current) und
Beim Schliessen (Close) oder auch Vor Aktualisierung (BeforeUpdate)
mit der Eigenschaft Me.Dirty testen.
Mit Me.Undo kannst Du dann die Aenderungen verwerfen.
Bei Formularen mit Unterformular wird das Ganze dann komplexer!

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
leira
Im Profil kannst Du frei den Rang ändern


Verfasst am:
11. Jun 2004, 15:47
Rufname:

AW: auto commit umgehen ? - AW: auto commit umgehen ?

Nach oben
       

Hallo Willi,

Danke für die Antwort, ich werde es gleich nächste Woche Dienstag ausprobieren und dann nochmal schreiben, obs geklappt hat !
Schönes Wochenende,

Grüße,
Leira
leira
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Jul 2004, 09:55
Rufname:

Dirty bei Unterformularen ? - Dirty bei Unterformularen ?

Nach oben
       

Hallo Willi,

jetzt hab ich das Problem mit den Unterformularen,
Code:
If Forms!Unterformular.dirty Then

funktioniert nicht, er sagt, das Formular gibts nicht.
Was kann ich tun ?

Viele Grüße,
Leira
Willi Wipp
Moderator


Verfasst am:
13. Jul 2004, 10:26
Rufname:
Wohnort: Raum Wiesbaden

Re: auto commit umgehen? (II) - Re: auto commit umgehen? (II)

Nach oben
       

Hi Leira,

so kann man ein Unterformular (UFo) nicht ansprechen, wenn es als Unterformular geoeffnet ist.
Ein UFo kann man vom Hauptformular (HFo) so ansprechen
Code:
Me!DeinUFo.Form.Eigenschaft
von einem anderen Formular aus so
Code:
Me!DeinHFo!DeinUFo.Form.Eigenschaft

Fuer die Dirty Eigenschaft gilt das aber nicht.
Diese kannst Du nur z.B. im Formular Ereigniss Vor Aktualisierung (Before Update) des UFo's abtesten.
Grund: Das Update passiert bereits, wenn Du den Fokus aus dem UFo nimmst!

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
leira
Im Profil kannst Du frei den Rang ändern


Verfasst am:
21. Jul 2004, 13:02
Rufname:

Speichern Button ? - Speichern Button ?

Nach oben
       

Hallo Willi,

ich habe in meinem Unterformular jetzt ein Before_update, dass auf Me.dirty abprüft und dann nachfragt. Funktioniert soweit super.
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Me.Dirty Then
        ANTWORT = MsgBox("Wollen Sie die Änderungen speichern ?", vbYesNoCancel, "Änderungen speichern ?")
        If ANTWORT = vbNo Then
            Me.Undo
          ElseIf ANTWORT = vbYes Then
            DoCmd.Save
        Else: End
        End If
    End If
End Sub

Jetzt wollte ich auch einen Button "speichern", der im Prinzip das Gleiche macht, also den Datensatz speichert. Ich verwende genau den gleichen Code, aber hier funktionierts nicht :
Code:
Private Sub speichern_Click()
    If Me.Dirty Then
        ANTWORT = MsgBox("Wollen Sie die Änderungen speichern ?", vbYesNoCancel, "Änderungen speichern ?")
        If ANTWORT = vbNo Then
            Me.Undo
        ElseIf ANTWORT = vbYes Then
            DoCmd.Save
        Else: End
        End If
    End If
End Sub

Das DoCmd.Save scheint hier nicht zu funktionieren, warum ???? Kann das an dem (Cancel as Integer) liegen, das übergeben wird ? [Was tut das überhaupt ?]
Was könnte ich sonst machen ?

Danke schonmal,

Viele Grüße,
Leira
Willi Wipp
Moderator


Verfasst am:
21. Jul 2004, 14:12
Rufname:
Wohnort: Raum Wiesbaden


Re: auto commit umgehen? - Re: auto commit umgehen?

Nach oben
       

Hi Leira,

die Methode Save des Objektes DoCmd kannst Du nicht verwenden
um die Aenderungen an einem Datensatz (DS) zu speichern.
Das macht man z.B. mit der Methode RunCommand acCmdSaveRecord.
In Deinem Fall wuerde ich eine der beiden folgenden Varianten vorschlagen
Code:
Option Compare Database
Option Explicit

Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim vAntwort    As Variant
   
    If Me.Dirty Then
        vAntwort = MsgBox("Wollen Sie die Änderungen speichern?", _
                          vbYesNoCancel + vbQuestion, _
                          "Änderungen speichern ?")
        Select Case vAntwort
          Case vbYes                         'Nichts tun => Änderung speichern
          Case vbNo
            Me.Undo                                        'Änderung verwerfen
          Case Else
            Cancel = True                                   'Vorgang abbrechen
        End Select
    End If
End Sub

' Moeglichkeit 1:
' DS speichern mit DoCmd.RunCommand acCmdSaveRecord
' => Form_BeforeUpdate wird aufgerufen, wenn der DS geaendert wurde
Private Sub speichern_Click()
    On Error Resume Next                     'Falls Speichern abgebrochen wird
    'Dadurch wird automatisch !
    DoCmd.RunCommand acCmdSaveRecord                       'Änderung speichern
    On Error GoTo 0             'Allgemeine Fehlerbehandlung wieder aktivieren
End Sub

' Moeglichkeit 2:
' Abfrage wie bei Form_BeforeUpdate
' => Form_BeforeUpdate muss deaktiviert werden zum Speichern!
'Private Sub speichern_Click()
'    Dim vAntwort    As Variant
'
'    If Me.Dirty Then
'        vAntwort = MsgBox("Wollen Sie die Änderungen speichern?", _
'                          vbYesNoCancel + vbQuestion, _
'                          "Änderungen speichern ?")
'        Select Case vAntwort
'          Case vbYes
'            Me.BeforeUpdate = ""     'Sonst wird Form_BeforeUpdate aufgerufen!
'            DoCmd.RunCommand acCmdSaveRecord               'Änderung speichern
'            Me.BeforeUpdate = "[Event Procedure]"          'wieder aktivieren!
'          Case vbNo
'            Me.Undo                                        'Änderung verwerfen
'          Case Else                           'Nichts tun => Vorgang abbrechen
'        End Select
'    End If
'End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Kreuzungstabelle umgehen 6 studentapprentice 200 10. Aug 2012, 11:05
MissPh! Kreuzungstabelle umgehen
Keine neuen Beiträge Access Tabellen & Abfragen: Kreuztabellenabfrage umgehen 2 Ingo Unbedarft 299 23. März 2012, 14:18
Ingo unbedarft Kreuztabellenabfrage umgehen
Keine neuen Beiträge Access Programmierung / VBA: shift-taste zum Umgehen der Start-Einstellungen deaktivieren 22 skater2301 16478 08. Sep 2010, 17:34
Gast shift-taste zum Umgehen der Start-Einstellungen deaktivieren
Keine neuen Beiträge Access Programmierung / VBA: Auto ID beim AddNew rücklesen via VBA db.OpenRecordset 9 Amiwerewolf 3613 02. Aug 2010, 00:03
Amiwerewolf Auto ID beim AddNew rücklesen via VBA db.OpenRecordset
Keine neuen Beiträge Access Tabellen & Abfragen: "Endlosspalten" bzw. auto. Tabellen für Preis-Entw 1 Mr. K 310 23. Feb 2010, 12:37
MissPh! "Endlosspalten" bzw. auto. Tabellen für Preis-Entw
Keine neuen Beiträge Access Formulare: Auto Erstelldatum 2 frontera66 394 15. Nov 2008, 16:11
frontera66 Auto Erstelldatum
Keine neuen Beiträge Access Formulare: Werte aus Auto Formular nicht automatisch speichern 1 derFuxx 404 08. Sep 2008, 15:23
Gast Werte aus Auto Formular nicht automatisch speichern
Keine neuen Beiträge Access Hilfe: User=Admin in der .ldb umgehen 5 Lars 2560 01. Apr 2008, 09:57
KlausMz User=Admin in der .ldb umgehen
Keine neuen Beiträge Access Hilfe: auto wert in Replikat 5 carioca 797 03. März 2008, 11:31
K_Mueller auto wert in Replikat
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Hilfe: anschließen an benutzerrguppen umgehen? 1 räikki 400 07. Sep 2007, 13:47
KlausMz anschließen an benutzerrguppen umgehen?
Keine neuen Beiträge Access Programmierung / VBA: 127-Punkt-Begrenzung bei Texten umgehen 2 johnson 404 12. Aug 2007, 09:49
johnson 127-Punkt-Begrenzung bei Texten umgehen
Keine neuen Beiträge Access Programmierung / VBA: Auto Resize von Bildern in Bildsteuerelementen 0 Rundi 605 19. Okt 2006, 13:23
Rundi Auto Resize von Bildern in Bildsteuerelementen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: CSS Forum