Поиск данных из элемента управления DataGrid с использованием ADODC в VB6.0

Я учусь на последнем курсе мини-проекта и столкнулся с проблемой, связанной с поиском данных в сетке данных. Ошибка, которую я получаю:

Ошибка выполнения: «3001» Аргументы имеют неверный тип, выходят за допустимые пределы или конфликтуют друг с другом.

Код:

Private Sub Command1_Click()
Dim item As String
    Adodc1.Recordset.MoveFirst
    item = Text1.Text
    Adodc1.Recordset.Find "L_No = " & item
    If Adodc1.Recordset.EOF Then
        MsgBox "Record Set not found"
    End If
End Sub

Приведенный выше код работает, когда данные, которые я ищу, представляют собой только число. Например, когда я ищу данные на основе L_Id, который является идентификатором лицензии и целочисленным значением, поиск выполняется, и я получаю результат. Когда я ищу данные на основе L_No, который является номером лицензии, строковым значением, состоящим как из цифр, так и из алфавитов, я получаю указанную выше ошибку.

Должен ли я анализировать значение text1.text или делать что-то еще?


person Santosh S Gowda    schedule 23.09.2012    source источник


Ответы (1)


Когда поле, в котором вы ищете, не является числовым типом, вы захотите разделить его одинарными кавычками:

Adodc1.Recordset.Find "L_No = '" & item & "'"
person DoraTrix    schedule 20.11.2012