Ciao, a grandi linee (buttata giù al volo)..
inserisci il record nella tabella commessa :
	codice:
	strSQL="INSERT INTO COMMESSA (descrizione, rate) VALUES ('" & txtDes.txt & "'," & txtNumRate.text & ");"
 
Recuperi l'idCommessa usando una funzione del genere:
	codice:
	Private Function UltimoId(nTabella As String) As Long
   Dim ultimo_id As Long
   Dim objRs As ADODB.Recordset
   Set objRs = New ADODB.Recordset
   objRs.Open "SELECT @@IDENTITY FROM " & nTabella & ";", tuaConnessione
   ultimo_id = objRs(0)
   objRs.Close
   Set objRs = Nothing
   UltimoId = ultimo_id
End Function
 
inserisci i record nella tabella rate 
	codice:
	numIdCommessa=UltimoId("commessa")
for i=1 to txtNumRate.text
   strSQL="INSERT INTO RATE (idCommessa, importo, dataRata) VALUES (" & numIdCommessa & "," & txtImporto.text & ",#" & tuaData & "#);"
next
 
P.S. suppongo che idCommessa  e idRate  siano di tipo contatore!