パラメータを追加できるADODB.Commandオブジェクトを使用する必要があります。基本的には次のようになります
Sub adotest()
Dim Cn As ADODB.Connection
Dim Cm As ADODB.Command
Dim Pm As ADODB.Parameter
Dim Rs as ADODB.Recordset
Set Cn = New ADODB.Connection
Cn.Open "mystring"
Set Cm = New ADODB.Command
With Cm
.ActiveConnection = Cn
.CommandText = "SELECT * FROM table WHERE parentid=?;"
.CommandType = adCmdText
Set Pm = .CreateParameter("parentid", adNumeric, adParamInput)
Pm.Value = 1
.Parameters.Append Pm
Set Rs = .Execute
End With
End Sub
CommandTextの疑問符は、パラメーターのプレースホルダーです。私は信じていますが、私は肯定的ではありません。パラメータを追加する順序は、疑問符の順序と一致する必要があります(複数ある場合)。パラメータの名前が「parentid」であることに騙されないでください。ADOは識別以外の名前を気にしないと思います。