Selectクエリ内に配列を配置して、グリッドビューにデータを入力しようとしています。これを試みるたびに、エラーが発生します:ランタイムエラー:3705「オブジェクトが開いている場合、操作は許可されていません」。このエラーが発生する理由は理解していますが、選択クエリ内に配列を配置する代替手段はありますか。私が使用しているコードは以下のとおりです。
Public con1 As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim q As String
Dim i As Integer
Dim trainIds(30) As String
Public Sub con()
Set con1 = New ADODB.Connection
con1.Open ("tts123")
End Sub
Public Sub opentable(sql As String)
Set rs = New ADODB.Recordset
rs.Open sql, con1
End Sub
Private Sub Command1_Click()
trainIds(0) = "HM2"
trainIds(1) = "HM2"
trainIds(2) = "HM1"
For i = 0 To 2
q = "Select * from TrainTable Where TrainId ='" & trainIds(i) & "'"
rs.CursorType = adOpenStatic
rs.CursorLocation = adUseClient
rs.LockType = adLockOptimistic
rs.Open q, con1
If rs.RecordCount > 0 Then
Set DataGrid1.DataSource = rs
Else
MsgBox "No record found "
rs.Close
End If
Next
End Sub
Private Sub Form_Load()
Set con1 = New ADODB.Connection
con1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = E:\VBnewProject\TrainTimeSchedule"
con1.Open ("dsn=tts123")
End Sub