NB imagine the ID field is called MainID . . . . .

VB Code:
  1. rst.Open "SELECT * FROM tblMain WHERE 1=2", gconnSQL, adOpenKeyset, adLockPessimistic ' Blank ADO recordset
  2. rst.AddNew
  3. rst.Fields("MainDate") = DateSerial(2002, 2, 25)
  4. rst.Fields("MainTimestamp") = DateSerial(2002, 2, 25) & " " & TimeSerial(8, 0, 0)
  5. rst.Fields("MainDetail") = rstSQL.Fields("MachineSerial")
  6. rst.Update

Then the value for rst.Fields("MainID") will be the value you require.