Buongiorno
dopo un bel po' di tempo torno ad avere bisogno del vostro aiuto.
Ho la seguente tabella:
Tb612_DatiTecnici
con i seguenti campi (solo alcuni per es. in realtà sono una cinquantina):
ID_DatiTecnici (chiave primaria)
ID_Modello (lato molti di un relazione uno_a_molti con la tabella Modelli)
GruppoLega
LegaVendita
LegaProduzione
ecc...
In una parte precedente del codice ho duplicato un record della tabella Modelli e ho memorizzato nelle variabili
ModOrig = ID_Modello del record originale
ModDupl = ID_Modello del record duplicato
Ora devo cercare in Tb612_DatiTecnici il record (univoco) dove ID_Modello=ModOrig e duplicarlo copiando in modo identico tutti i campi tranne la chiave primaria ID_Dati tecnici e l'ID_Modello che dovrà essere = ModDupl.
Ho cercato in vecchi post se c'era una procedura con un ciclo per copiare tutti i campi poiché sono molti (è dovrò replicare anche in altre tabelle) e volevo velocizzare rispetto all'utilizzo di INSERT INTO... ho trovato un codice proposto in un post che ho provato a sistemare perché nell'originale occorreva non copiare solo la chiave primaria e c'era un IF, avendo due campi da "saltare" ho provato a cambiare inserendo un select... ma quando arriva al case else (in pratica al terzo campo del record) mi restituisce questo errore "Errore di runtime 3265, elemento non trovato in questa raccolta" eppure il fld.name corrisponde alla terza colonna e il fld.value è corretto.
Non capisco l'errore...
Grazie mille
Dim rsSource As DAO.Recordset
Dim fld As DAO.Field
Set rsSource = DBEngine(0)(0).OpenRecordset("SELECT * FROM Tb612_DatiTEcnici WHERE ID_Modello = " & IDModOrig, dbOpenSnapshot, dbReadOnly)
Me.RecordsetClone.AddNew
For Each fld In rsSource.Fields
Select Case fld.Name
Case "ID_DatiTecnici"
Case "ID_Modello"
Me.RecordsetClone.Fields(fld.Name) = IDModDupl
Case Else
Me.RecordsetClone.Fields(fld.Name) = fld.Value
End Select
Next
Me.RecordsetClone.Update