Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

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

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access