2010-02-19 18 views

Odpowiedz

13

na miejscu:

rs.AddNew "SomeFieldName", "SomeValue" 

albo w miejscu wiele pól

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

Lub używanie oddzielnych vars

Dim Fields As Variant 
Dim Values As Variant 

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

Edit: To jest jak syntetyzują rekordów dla próbki AddNew powyżej

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

ja zwykle przy użyciu funkcji pomocnika CreateRecordset widziany this answer.

+0

można dołączyć deklarację i przygotowanie rekordów przed do AddNew() zadzwonić? Chcę się upewnić, że robię wszystko, co trzeba, nie więcej i nie mniej. – bitcycle

+0

Dodano kod przykładowy zestawu rekordów – wqw

+0

Naprawdę uratowałeś mi życie! –

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

z otwartym połączenie Conn:

sSql="INSERT into mytable (somefieldname, anotherfieldname) values ('Somevalue','Anothervalue')" 
     Conn.Execute sSql 
Powiązane problemy