Access-o-Mania

Access-Forum => Formular => Thema gestartet von: Umbauwfb am Dezember 29, 2021, 17:08:23

Titel: Hinzufügen von Datensätzen zu einer bestehenden Tabelle
Beitrag von: Umbauwfb am Dezember 29, 2021, 17:08:23
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     
Titel: Re: Hinzufügen von Datensätzen zu einer bestehenden Tabelle
Beitrag von: DF6GL am Dezember 29, 2021, 17:54:13
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