我们可以使用参数化查询来解决这个问题。例如:
Dim con As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As ADODB.Recordset
Dim param As ADODB.Parameter
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\example.accdb"
con.Open
Set cmd.ActiveConnection = con
cmd.CommandText = "SELECT * FROM ExampleTable WHERE ExampleField = ?"
'将输入参数添加到查询中
Set param = cmd.CreateParameter("inputValue", adVarChar, adParamInput, Len(inputValue), inputValue)
cmd.Parameters.Append param
Set rs = cmd.Execute
'使用记录集处理查询结果
在这个解决方法中,我们使用了ADODB连接对象和命令对象来构建查询,并使用参数化查询来将输入的变量传递到查询中。我们首先需要定义连接字符串并打开连接。然后,我们创建一个命令对象,并设置查询字符串以包含Where子句和输入参数。使用CreateParameter方法创建一个参数对象,将其附加到参数集合中,然后将其传递给Execute方法来执行查询。最后,使用记录集对象来处理查询结果。