Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: X-Ray1978 am April 15, 2011, 13:56:04

Titel: Formular mit Werten aus einer Vorlage füllen
Beitrag von: X-Ray1978 am April 15, 2011, 13:56:04
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
Titel: Re: Formular mit Werten aus einer Vorlage füllen
Beitrag von: MzKlMu am April 15, 2011, 16:02:34
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.
Titel: Re: Formular mit Werten aus einer Vorlage füllen
Beitrag von: X-Ray1978 am April 18, 2011, 08:05:07
Perfekt.

Besten Dank.

Gruß
Christian  ;D
Titel: Re: Formular mit Werten aus einer Vorlage füllen
Beitrag von: X-Ray1978 am April 18, 2011, 13:00:22
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