Ich habe ein Feld in einem Formular "Vk_vorlagedispo". Daneben habe ich einen Button mit dem sich ein Suchformular öffnet.
In dem Suchformular habe ich ein Listenfeld mit mehrfach-Auswahl. Wenn ich dann ein paar DS ausgewählt habe kann ich auf übernehmen klicken und damit werden die Primärschlüsseld der Datensätze in das Feld eingetragen.
Hier mein Code:
Private Sub uebernehmen_Click()
Dim varPosition As Variant
Dim str As String
' Geht jedes angeklickte Element durch und speichert es in einem String
For Each varPosition In Me!Liste0.ItemsSelected
str = str & Me!Liste0.ItemData(varPosition) & ", "
Next varPosition
If str = "" Then
MsgBox "Bitte wählen Sie einen Datensatz aus!"
Exit Sub
Else
Forms!vkobjekte!vk_vorlagedispo = str
Call Forms("vkobjekte").vk_vorlagedispo_AfterUpdate
End If
' Schließen des Formulars
DoCmd.Close acForm, "auswahl_vorlagedispo"
End Sub
Jetzt möchte ich aber, dass zusätzelich für jeden ausgewählten DS in einer anderen Tabelle ein neuer DS angelegt wird. Wie kann ich das machen?
Hallo,
und was soll in diesen neuen DS drinstehen?
prinzipiell halt so:
Dim db As Database
Set db = currentdb
.
.
.
For Each varPosition In Me!Liste0.ItemsSelected
str = str & Me!Liste0.ItemData(varPosition) & ", "
db.Execute " Insert into tblAndereTabelle (Textfeldxyz) Values ('" & Me!Liste0.ItemData(varPosition) & "')"
Next varPosition
.
.
Zieltabelle heißt "vk_det"
Felder in der Tabelle: "det_nr", "vk_nr"
Primärschlüssel aus Suchformular: "vk_nr"
Die Zieltabelle ist für eine m:n Beziehung.
Ich habe also z.B. in Tabelle "vkobjekte" einen Datensatz 20090001. Zu diesem Datensatz gibt es in der Tabelle "Details" 2 Datensätze.
Also habe ich folgende Datensätze in vk_det:
20009001;1
20090001;2
Wenn ich jetzt im Suchformular den DS 20090001 auswähle soll folgendes passieren:
vk_det:
20090001;1
20090001;2
20090002;1
20009002;2
Es sollen also alle "details" des ausgewählten Datensatzes auch einem neuen vkobjekt zugeordnet werden.
Ich hoffe, dass ist so verständlich...