Buonasera,
ho due tabelle legate da una relazione 1 a molti e voglio inserire i dati nelle due tabelle creando una sola maschera..
Tabella1: ID_1, NOME
Tabella2: ID_2, dati, ID_1
Ho creato una maschera con delle textbox dove inserisco i dati da inserire nelle tabelle e con un bottone le salvo.
Tabella1: ID_1, NOME ---> id si inserisce automaticamente, txt_nome
Tabella2: ID_2, dati, ID_1 ---> id si inserisce automaticamente, txt_dati, vorrei selezionare l'id della prima tabella
Il codice in vba è:
Private Sub btn_Salva()
CurrentDb.Execute "INSERT INTO Tabella1 (NOME) VALUES (' " & Me.txt_nome & " ') 'inserisce correttamente i dati (ho controllato nella tabella).
If Me.txt_dati <> "" Then 'controllo che siano inseriti i dati nella textbox. (l'if funziona e ci entra.)
Dim id_r As DAO.Recordset
Set id_r = CurrentDb.OpenRecordset(" SELECT ID_1 FROM Tabella1 WHERE NOME = ' " & Me.txt_nome & " ' ")
CurrentDb.Execute "INSERT INTO Tabella2 (dati) VALUES (id_r.Fields(0), ' " & Me.txt_dati & " ')
End if
End sub
Il primo insert funziona ma il secondo no e mi restituisce come errore: "Funzione id_r.Fields non definita nell'espressione". Qualcuno sa dirmi cosa sbaglio?
Ho pure provato ad inserire il secondo insert direttamente nella seconda CurrentDb.Execute al posto di creare id_r ma mi da errore di sintassi. Cosa sbaglio?
Grazie