В Access я создал форму с элементами Text1, List1 и Command1.
Код для командной кнопки:
Private Sub Command1_Click()
Dim con As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
Set cmd = New ADODB.Command
Set rs = New ADODB.Recordset
con.Open "Provider=sqloledb;Data Source=192.168.100.41,1433;Network Library=DBMSSOCN;Initial Catalog=xxx;User ID=xxx;Password=xxx;"
cmd.ActiveConnection = con
cmd.CommandTimeout = 0
cmd.Parameters.Append cmd.CreateParameter("@keyword", adVarChar, adParamInput, 100, Trim(Text1.Value))
cmd.CommandText = "stored_procedure"
Set rs = cmd.Execute(, , adCmdStoredProc)
If (rs.RecordCount <> 0) Then
Do While Not rs.EOF
Me.List1.AddItem (rs.Fields(0).Value & " | " & rs.Fields(1).Value & " | " & rs.Fields(2).Value)
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing
Set cmd = Nothing
con.Close
Set con = Nothing
End Sub
Когда я пытаюсь запустить код, ничего не происходит. Нет ошибок. Кажется, кнопка пуста.
SP отлично работает на SQL сервере.
Тот же код кнопки, отлично работает в форме Excel.
Если я заменю часть SP на [rs.open "select * from table, где ключевое слово наподобие .."] работает нормально
Спасибо