2010-02-19 8 views

risposta

13

In-luogo: più campi

rs.AddNew Array("SomeFieldName", "AnotherFieldName"), Array("SomeValue", 1234) 

rs.AddNew "SomeFieldName", "SomeValue" 

O in-place O utilizzando vars separati

Dim Fields As Variant 
Dim Values As Variant 

Fields = Array("SomeFieldName") 
Values = Array("SomeValue") 
rs.AddNew Fields, Values 

Edit: Questo è il modo di sintetizzare un set di record per il campione AddNew sopra

Set rs = new Recordset 
rs.Fields.Append "SomeFieldName", adVarChar, 1000, adFldIsNullable 
rs.Fields.Append "AnotherFieldName", adInteger, , adFldIsNullable 
rs.Open 

sto di solito utilizzando una funzione di supporto CreateRecordset come visto this answer.

+0

Potrebbe includere la dichiarazione e la preparazione del set di record prima della AddNew() chiamare? Voglio assicurarmi che sto facendo tutto ciò che deve essere fatto, né più né meno. – bitcycle

+0

Aggiunto creare il codice di esempio recordset – wqw

+0

Mi hai davvero salvato la vita! –

3
set rs = new ADODB.Recordset 
rs.Open "Select SomeFieldName, AnotherFieldName FROM MyTable", myConnection, adOpenDynamic, adLockOptimistic 

rs.AddNew 
rs("SomeFieldName").Value = "SomeValue" 
rs("AnotherFieldName").Value = 1 
rs.Update 

rs.AddNew 
rs("SomeFieldName").Value = "AnotherValue" 
rs("AnotherFieldName").Value = 2 
rs.Update 

rs.Close 
0

Con una connessione aperta Conn:

sSql="INSERT into mytable (somefieldname, anotherfieldname) values ('Somevalue','Anothervalue')" 
     Conn.Execute sSql 
Problemi correlati