Juni 30, 2022, 21:06:12

Neuigkeiten:

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


Hinzufügen von Datensätzen zu einer bestehenden Tabelle

Begonnen von Umbauwfb, Dezember 29, 2021, 17:08:23

⏪ vorheriges - nächstes ⏩

Umbauwfb

Ich muss zum ersten mal mit einem loop in VBA aus einer bestehenden Tabelle mit einem Ja/Nein-Feld ("Übernehmen") Datensätze in eine andere bestehende Tabelle schreiben und hänge fest. Vielleicht kann mir jemand weiterhelfen  :)



Zu befüllende Tabelle:   TeilnehmerAdressdatenT
Felder:
ID
TeilnehmerID
AdressdatenID

Diese Tabelle soll nachfolgend mit neuen Datensätzen befüllt werden
Die Datensätze stammen ebenfalls aus einer Tabelle und können durch Eingaben in ein Ja/Nein-Feld in einem Formular selektiert werden.

Formular:            tmpCheckDuplikateTN_Zu_AdressdatenF
Datenquelle des Formulars:      tmpCheckDuplikateTN_Zu_AdressdatenT   

Das Ja/Nein-Feld heißt: "Übernehmen"
Datenfelder, die übernommen werden sollen:
TeilnehmerID
AdressdatenID

Wenn Feld ,,Übernehmen" = Ja
soll ein Datensatz in der Tabelle TeilnehmerAdressdatenT angefügt werden mit den zugehörigen Inhalten der Felder TeilnehmerID und AdressdatenID

Bestehende Code-Baustelle:

Private Sub cmdAddAdressdatenTN_Click()
       
        Dim db As Database
        Dim rs As Recordset
       
        Set db = CurrentDb
        Set rs = db.OpenRecordset("???????")
       
        Do Until rs.EOF
            If me.Übernehmen.Value = True         
           
           
           
        Loop
End Sub     

DF6GL

Hallo,

auch hier immer wieder die Frage:  Wozu soll das gut sein?


Es braucht  keine VBA-Schleife, wenn:

Das Ja/Nein-Feld Bestandteil der Tabelle "tmpCheckDuplikateTN_Zu_AdressdatenT" ist und das Feld mittels Formular-Eingaben bearbeitet wird.


Private Sub cmdAddAdressdatenTN_Click()

Dim db as Dao.Database

Set db = Currentdb

  If Me.Dirty Then Me.Dirty = False

  db.Execute "Insert into TeilnehmerAdressdatenT (TeilnehmerID, AdressdatenID)  " & _
             " Select T.TeilnehmerID, T.AdressdatenID From tmpCheckDuplikateTN_Zu_AdressdatenT as T Where T.Übernehmen <> 0 ", dbFailOnError


' evtl, wenn das Ja/Nein-Feld "resettet" werden soll/muss:
' db.Execute "Update tmpCheckDuplikateTN_Zu_AdressdatenT Set Übernehmen = 0", dbFailOnError

End Sub