Neuigkeiten:

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

Mobiles Hauptmenü

vor dem Speichern prüfen ob ein Eintrag bereits vorhanden ist

Begonnen von Uwe_Noob, April 07, 2020, 20:27:25

⏪ vorheriges - nächstes ⏩

Uwe_Noob

Hallo zusammen,

wie kann ich es bewerkstelligen, vor dem Speichern zu prüfen ob das Wort im Textfeld bereits in der Tabelle vorhanden ist um dann das speichern in einer Else schleife abzubrechen.
Hier ist das was ich mir bereits angeschaut haben.
Private Sub cmbsave_Click()

If DCount("rs!spanisch", "rs", "rs!spanisch = " & Me.txtneuspanisch) > 0 Then
MsgBox "Blöd"
End If

If Me.txtid = "" Then
    rs.AddNew
Else
    rs.Edit
End If

    rs!Deutsch = Me.txtneudeutsch
    rs!Spanisch = Me.txtneuspanisch
    rs!Verb = Me.chkverb
    rs!regel = Me.chkregel
    refreshData
    rs.Update
                   
    ueberTragen
    konJugieren_ar
    konJugieren_er
    konJugieren_ir
   
End Sub


Private Sub Form_Load()

    Set db = CurrentDb
    Set rs = db.OpenRecordset("tabvok", dbOpenDynaset, dbSeeChanges)
    'Set rsverb = db.OpenRecordset("tabverben", dbOpenDynaset, dbSeeChanges)
    rs.MoveFirst
    refreshData
   
End Sub
End If

Wobei ich erstmal nur die MSGBox sehen möchte um dann den Rest fertig zumachen
Gruß
Uwe
2 Monate Access ^^

ebs17

Bei Dir fällt ein Recordset vom Himmel. Nicht gut.

Ich würde eines selber initialisieren und gleich auf die gefilterte Tabelle öffnen. Das spart auch ein vorheriges Zählen und damit eine doppelte Abfrageausführung, etwa ...
Private Sub cmbsave_Click()
   Dim rs As DAO.Recordset
   Dim sSQL As String

   sSQL = "SELECT * FROM MeineTabelle WHERE spanisch = '" & Me.txtneuspanisch & "'"
   Set rs = CurrentDb.Openrecordset(sSQL, dbOpenDynaset)
   With rs
      If .EOF Then      ' nicht vorhanden
         .AddNew
         .Fields("spanisch") = Me.txtneuspanisch
      Else
         .Edit
      End If
      .Fields("Deutsch") = Me.txtneudeutsch
      ' weitere Zuweisungen
      .Update
      .Close
   End With
End Sub
Mit freundlichem Glück Auf!

Eberhard

Uwe_Noob

Hallo Ebs17,
hatte auch gemerkt das ich zuwenig Code kopiert habe.
Das Recordset ist vorhanden ^^
Die Abfrage würde aber nicht verhindern das gleiche Datensätze eingetragen werden können ... oder ?
Gruß
Uwe
2 Monate Access ^^

ebs17

#3
Doch, wenn der Filter auf gleichen Datensatz stimmt.

Manches Vorgeschlagene könnte man einfach ausprobieren, um ein eigenes Erleben zu haben.
Mit freundlichem Glück Auf!

Eberhard

Uwe_Noob

#4
Moin Eberhard,

testen wede ich das auf jedenfall. Es war lediglich eine Frage :-)
Ich danke dir.

Gruß
Uwe

PS. Getestet und für gut befunden. Jetzt noch etwas feintuning von wegen ist gespeichert oder ist vorhanden und alles ist schick.
Danke nochmal.
2 Monate Access ^^