marcozio84
07-05-2008, 21:43
Ciao ragazzi,
passo al chiedervi direttamente il problema dove intoppo:
Ho un record (RSet) con all'interno già una trentina di campi. Per velocizzare l'inserimento di prodotti simili in un DB, stò creando una funzione che mi "precompili" un form per un' inserimento più veloce di un nuovo record nella mia tabella.
La mia soluzione, poco elegante prevede due cicli, nel primo copio i valori del record (che ha all'interno i dati dei campi che mi interessa duplicare) in un vettore, dato che una volta fatto RSet.AddNew questo si azzera e si predispone per un nuovo inserimento; nel secondo for passo i valori al record "nuovo", vi copio il codice:
elseif request("Mode") = "Duplicate" then
for f = 1 to RSet.Fields.Count - 1
Values(f) = RSet.Fields(f) // o metto Fields(f).values?
next
RSet.AddNew //a questo punto il record si è cancellato ed è pronto per l'inserimento
for f = 1 to RSet.Fields.Count - 1
RSet.Fields(f).Value = Values(f)
next
RSet.Update
RSet.Close
set RSet = Nothing
non parto da 0 perchè il primo campo del record è l'ID e non deve essere duplicato, questo se non sbaglio dovrebbe auto-incrementarsi.
Tipo di errore:
Errore di run-time di Microsoft VBScript (0x800A01A8)
Necessario oggetto
passo al chiedervi direttamente il problema dove intoppo:
Ho un record (RSet) con all'interno già una trentina di campi. Per velocizzare l'inserimento di prodotti simili in un DB, stò creando una funzione che mi "precompili" un form per un' inserimento più veloce di un nuovo record nella mia tabella.
La mia soluzione, poco elegante prevede due cicli, nel primo copio i valori del record (che ha all'interno i dati dei campi che mi interessa duplicare) in un vettore, dato che una volta fatto RSet.AddNew questo si azzera e si predispone per un nuovo inserimento; nel secondo for passo i valori al record "nuovo", vi copio il codice:
elseif request("Mode") = "Duplicate" then
for f = 1 to RSet.Fields.Count - 1
Values(f) = RSet.Fields(f) // o metto Fields(f).values?
next
RSet.AddNew //a questo punto il record si è cancellato ed è pronto per l'inserimento
for f = 1 to RSet.Fields.Count - 1
RSet.Fields(f).Value = Values(f)
next
RSet.Update
RSet.Close
set RSet = Nothing
non parto da 0 perchè il primo campo del record è l'ID e non deve essere duplicato, questo se non sbaglio dovrebbe auto-incrementarsi.
Tipo di errore:
Errore di run-time di Microsoft VBScript (0x800A01A8)
Necessario oggetto