Вы не упомянули txtIDNumber
в коде - вы упомянули lblIDNumber
. Я полагаю, вы хотите, чтобы эти два были одинаковыми. Другими словами, код, который вы имеете в настоящее время должно быть что-то вроде этого:
.RecordSource = "select * from tblpersonal where empid like '" & Me.txtIDNumber.Text & "*'"
Таким образом, вы используете значение текстового поля в форме для заполнения запроса SQL. До сих пор я прав?
И вы спрашиваете, что, если я храню идентификационный номер в переменной, а не в текстовом поле? Я согласен, это, вероятно, шаг в правильном направлении.
Таким образом, вы можете создать переменную в разделе «Общие объявления» формы с использованием:
Dim idNumber As Integer
С идеей в том, чтобы обновить значение этой переменной каждый раз, когда изменяется текстовое поле. Примечание. Я предполагаю, что «Идентификационный номер» является целым числом - если нет, вы должны использовать String.
Теперь вам нужно обновить эту переменную при изменении текстового поля. В событии txtIDNumber_Change
вы захотите добавить код для преобразования строки txtIDNumber.Text
в целое число и сохранить его в idNumber
. Я забыл точный синтаксис, но я предполагаю, что-то вроде:
idNumber = Int(txtIDNumber.Text)
Наконец, теперь вы можете использовать переменную idNumber
в запросе SQL, а не текстовое поле:
.RecordSource = "select * from tblpersonal where empid like '" & idNumber & "*'"
Я смущен насчет 'lblIDNumber' vs' txtIDNumber'. Вы используете ярлык или текстовое поле? Я предполагаю, что когда вы говорите 'lblIDNumber.Caption', вы имеете в виду' txtIDNumber.Text'. – mgiuca
Прошу прощения ... Я имею в виду lblIDNumber – aer
Тогда я немного смущен - если вы вытаскиваете его из метки, это не то, что пользователь может изменить. Предполагается, что это постоянный? – mgiuca