Neuigkeiten:

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

Mobiles Hauptmenü

Formular mit Werten aus einer Vorlage füllen

Begonnen von X-Ray1978, April 15, 2011, 13:56:04

⏪ vorheriges - nächstes ⏩

X-Ray1978

Hallo liebe Accessianer,

ich habe in einer Datenbank für ein Labor ein Unterformular "Testvorgaben", in
denen verschiedene Felder, z.B. Testbezeichnung, Beschreibung und Dauer,
ausgefüllt werden müssen. Die Datensätze zusammen sind im Grunde dann
eine Testreihe.
Da sich die Testreihen, also die Datensätze, oftmals wiederholen, möchte ich
gerne eine Tabelle mit verschiedenen Vorlagen machen.
Also z.B. Testreihe 1: Test 1; Test2; Test3.... ; Testreihe 2: Test2; Test4; Test5.

Diese Testreihen möchte ich dann im Grunde in einen Zwischenspeicher packen und
anschließend in dem Vorgang unter "Testvorgaben" einfügen, damit ich mir
die Arbeit von dem ständigen ausfüllen sparen kann.

Ich habe es mit einer Anfügeabfrage versuche, dort werden mir die Werte jedoch nur in
den ersten Datensatz geschrieben und nicht in den aktuellen.

Hat jemand eine Idee ?

Beste Grüße
Christian

MzKlMu

Hallo,
nimm einfach ein Kombi zu Auswahl der Testreihen.
Das Kombi nimmst Du in den Formularkopf.
Stelle den Cursor dann in ein beliebiges Feld es (neuen) Datensatzes.

Im Ereignis "Nach Aktualisierung des Kombis kannst Du dann die Felder füllen.

Private Sub Kombinationsfeld3_AfterUpdate()
    Me.Feldname1= Kombinationsfeld.Column(0)
    Me.Feldname2= Kombinationsfeld.Column(1)
    '...
End Sub


Die Spaltenzählung beinnt mit 0.
Gruß Klaus

X-Ray1978


X-Ray1978

Hallo,

hab mit viel Googeln noch eine schöne Variante ausgearbeitet:

Private Sub Befehl24_Click()
Dim Dsg As DAO.Recordset, Fdsg As DAO.Recordset

Set Dsg = CurrentDb.OpenRecordset("SELECT * From Testreihe")
Dsg.Filter = "[ID_Testreihe_Vorlage] = " & Me![Kombinationsfeld22]
Set Fdsg = Dsg.OpenRecordset

Do Until Fdsg.EOF
    Me.Position = Fdsg!Position_V
    Me.Test = Fdsg!Test_V
    Me.Beschreibung = Fdsg!Beschreibung
    Me.Rd1 = Fdsg!Rd1_V
    Me.Mi = Fdsg!Mi_V
    Me.Rd2 = Fdsg!Rd2_V
    Me.Dauer = Fdsg!Dauer
    DoCmd.RunCommand acCmdRecordsGoToNext
    Fdsg.MoveNext
Loop

       
End Sub

Mit dem Filter auf den Recordset der Tabelle Testreihe, schiebe ich die Datensätze in
den Recordset Fdsg. Gefiltert wird über ein Kombinationsfeld.

Die Daten schiebe ich dann direkt in das Formular.

Über ein weiteres Formular kann man somit Testreihen anlegen und anschließend
in einem Formular als Vorlage abrufen und einfügen.

Beste Grüße
Christian