2013-02-10 1 views
2

В модуле VBA для Excel. Использование ADODB.Connection и это строки соединения:Excel VBA и ADODB: получить автоматическую идентификацию строки, вставленной в SQL Server, из VBA

"Provider=SQLOLEDB;Data Source=MARS;Initial Catalog=automation;Trusted_connection=yes;" 

Я хочу:

  1. INSERT INTO тест (данные) VALUES ('Something')
  2. Получить автоматическое приращение личности (тест .data_id) вновь вставленной строки.
+0

Вот вопрос, который поможет вам http://stackoverflow.com/questions/976593/how-do-i-return-a-new-identity-column-value-from-an-sqlserver- select-statement – Hiten004

+0

Спасибо Hiten0004. Я видел это раньше. Я не могу заставить его работать в VBA. – user743094

+0

Ваше решение было в ответе. – Hiten004

ответ

1
Dim identity as integer 
Dim cn As New ADODB.Connection 
Dim rs As New ADODB.Recordset 

cn.ConnectionString = "whatever..." 
cn.Open 
cn.Execute ("INSERT INTO test(data) VALUES ('hello world')") 
rs.Open "SELECT @@identity AS NewID", cn 
identity = rs.Fields("NewID") 
MsgBox (identity) 
+0

Удивительный, спасибо, что я искал, работал как магия – spacemonkey

Смежные вопросы