Я использую Access 2010 с Excel 2010, и я бы хотел выполнить запрос с помощью команды ADO. Ниже то, что я сделал в Excel VBA:Команда ADO в VBA
Public Sub test()
On Error GoTo TrataErro
Dim cnn As ADODB.Connection
Dim cmd As New ADODB.Command
Dim rst As ADODB.Recordset
Dim Query As String
Set cnn = DBcnn
Set cmd.ActiveConnection = cnn
cmd.CommandType = adCmdText
Query = "SELECT * FROM tblTermos WHERE Termo like @Termo"
cmd.CommandText = Query
cmd.Parameters.Append cmd.CreateParameter("@Termo", adVarChar, adParamInput, 500, "%[%")
Set rst = cmd.Execute
Do Until rst.EOF
MsgBox rst.Fields("Termo").Value & " " & rst.Fields("id_Grupo").Value
rst.MoveNext
Loop
DBdisconnect cnn, rst, cmd
Exit Sub
TrataErro:
TrataErro "Erro durante a execução do procedimento ""TrataTermo""."
End Sub
Ни одно значение не возвращается, используя этот запрос выше, но в моей БД у меня есть строки с «[», «word1 [», «[word2» и другие. Однако при переписывании конкретной строки, как показано ниже, я получаю только строку с «[» значением.
cmd.Parameters.Append cmd.CreateParameter("@Termo", adVarChar, adParamInput, 500, "[")
Как я мог выполнить этот запрос с помощью ADO Command и возвращает все значения, которые содержат «[» внутри строки?
Если я не очень хорошо объяснил свою ситуацию, пожалуйста, спросите меня больше информации. Я новичок в этом сообществе.
Вы указываете, у вас есть значения в столбце 'Termo', которые начинаются с' [ '. Что происходит, когда вы добавляете свой параметр со значением '' [% "'? Например: 'cmd.Parameters.Append cmd.CreateParameter (« @ Termo », adVarChar, adParamInput, 500,« [% »)' – FreeMan
Привет, FreeMan. Когда я добавляю параметр со значением «[%» (как вы писали выше), значение не возвращается. –