Я уверен, что это, вероятно, что-то простое, поэтому я прошу прощения заранее.На самом деле я впервые пишу на VBA, и я столкнулся с проблемой, которую просто не могу понять, как ее исправить.Я искал и пробовал несколько вещей, но все же проблема, несмотря на все, что я пытаюсь.
Я просто открываю новый набор записей, заполняя его значениями из другой таблицы с помощью SQL, получая значения из набора записей,затем установите подпись на некоторых ярлыках в моей форме.Мой код:
Dim oconStudents As ADODB.Connection
Dim orsStudents As ADODB.Recordset
Dim strStudentsSQL As String
Set oconStudents = CurrentProject.AccessConnection
Set orsStudents = New ADODB.Recordset
Set strGetCustIDSQL = _
"SELECT [CustomerID] FROM [Students Classes] WHERE [Class ID] = " & _
Me.txtClassID.Value & ";"
orsStudents.Open strGetCustIDSQL, oconStudents, adOpenForwardOnly, _
adLockReadOnly, adCmdTable
With orsStudents
If Not orsStudents.EOF Then
lblStudent1.Caption = orsStudents.Fields.Item(0)
orsStudents.MoveNext
End If
End With
Я запускаю это и получаю ошибку времени выполнения 13 с этой строкой:
Set strGetCustIDSQL = _
"SELECT [CustomerID] FROM [Students Classes] WHERE [Class ID] = " & _
Me.txtClassID.Value & ";"
Я не могу понять, почему.Я запускаю SQL в запросе, и он возвращает мои значения для меня правильно.Я изменил adCmdTable на adCmdText и попытался добавить символы «#», а также множество других символов вокруг секции Me.txtClassID.Value строки SQL.При наведении курсора на строку SQL я вижу правильное значение «Class ID =» (в данном случае «2»), но при наведении курсора на строку SQL отображается «= empty».
Какой простой вещью я пренебрегаюзамечать?Заранее спасибо за помощь!