Hallo.
ich möchte einen Wert, den ich mithilfe einer Auswahlabfrage
aus einer Tabelle errechnet habe in eine andere Tabelle in
eine bestimmte Spalte, abhängig vom Primärschlüssel,
schreiben.
Sagen wir, Du hast tbl_Humba und tbl_Täterä, Du willst das Feld txt_Humba_Bumm in das Feld txt_Täterä_Peng schreiben, der Primärschlüssel pky_Humba soll gleich pky_Täterä sein. Das Ganze passiert aus einem Formular (mit tbl_Humba als Grundlage) folgendermaßen (auf einer Schaltfläche btn_Humba_Täterä) :
Private Sub btn\_Humba\_Täterä\_Click()
Dim lng\_HumbaKey As Long
Dim rst\_Täterä As DAO.Recordset
lng\_HumbaKey=pky\_Humba
Set rst\_Täterä=CurrentDb.OpenRecordset("SELECT \* FROM tbl\_Täterä WHERE tbl\_Täterä.pky\_Täterä="+\_
STR$(lng\_HumbaKey),dbOpenDynaset)
With rst\_Täterä
If .RecordCount=0 Then
.AddNew
!pky\_Täterä=lng\_HumbaKey
Else
.Edit
End If
!txt\_Täterä\_Peng=txt\_Humba\_Bumm
.Update
.Close
End With
Set rst\_Täterä=Nothing
End Sub
Während Du im VB zugange bist, musst Du noch einen Verweis auf die Microsoft DAO 3.6- Library setzen („Extras/Verweise“). Das sollte dann eigentlich tun.
Zur Erklärung : Die Prozedur öffnet die tbl_Täterä und fügt, wenn der korrespondierende Primärschlüssel (aus tbl_Humba) noch nicht da ist, den Datensatz hinzu. Ist er schon da, wird txt_Täterä aktualisiert.
Nicht unbedingt Anfängerstoff, aber hat den Vorteil, dass es funktioniert (Tippfehler möglich; habe im Forum keinen Debugger). Trompeten wird es eher nicht …
Viel Erfolg wünscht
kw