Sono quì ancora a tentare un aiutino.....
Ho creato una function per far in modo che dei dati di una tabella passino
ad un'altra che ha come campi gli stessi.....
Fin quì tutto ok ed ecco la function:
Public Function CopiaRecord()
Dim db As Database
Dim rst As Recordset, rst1 As Recordset
Dim ContatoreVolante As Integer
Set db = CurrentDb
Set rst = db.OpenRecordset("DettaglioOfferta", dbOpenDynaset)
Set rst1 = db.OpenRecordset("TabellaTemp", dbOpenDynaset)
ContatoreVolante = DMax("[Riga]", "[TabellaTemp]") + 3
rst.MoveFirst
With rst1
Do Until rst.EOF
.AddNew
rst1!Riga = ContatoreVolante
rst1!IDOrdini = Forms!Ordini01!IDOrdini
rst1!IDProdotto = rst!IDProdotto
.Update
rst.MoveNext
ContatoreVolante = ContatoreVolante + 3
Loop
End With
rst.Close: rst1.Close
Set rst = Nothing
Set rst1 = Nothing
Set db = Nothing
End Function
Tutto sembra funzionare. Solo che ho 2 problemini:
1) La tabellaTmp è vuota e serve (come potete intuire dal nome) da
passaggio. Il primo problema nasce dal fatto che questa tabella ogni volta
viene cancellata e quindi il valore di ContatoreVolante è Null...dandomi
sempre errore.
Non riesco a capire come funziona il dmax da codice....ci sono sempre dei
cambiamenti. Vorrei fare come da macro questo discorso:
ContatoreVolante = IIf(IsNull(DMax("[Riga]", "[TabellaTemp]") + 3), 1)
Solo che mi dà errore: Argomento non facoltativo. Vorrei solo dirgli che se
lo trova null di impostarlo a 1 ma non ci riesco.
2) Vorrei sapere se è possibile con il codice far capire alla macchina
quando fa il .AddNew di selezionare i record in ordine crescente in base ad
un campo della tabella DettaglioOfferte.
Scusate se sono stato lungo.....
P.S. Grazie ancora per il vostro gentile aiuto
Ultra
![]()
![]()
![]()