Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Juno am November 01, 2010, 10:15:42

Titel: Neue DS anlegen anhand von Auswahl im Listenfeld
Beitrag von: Juno am November 01, 2010, 10:15:42
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?
Titel: Re: Neue DS anlegen anhand von Auswahl im Listenfeld
Beitrag von: DF6GL am November 01, 2010, 12:25:40
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
.
.
Titel: Re: Neue DS anlegen anhand von Auswahl im Listenfeld
Beitrag von: Juno am November 01, 2010, 12:55:29
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...