Использование переменных вместо объектов - PullRequest
1 голос
/ 09 апреля 2011

Я использовал эту строку

.RecordSource = "select * from tblpersonal where empid like '" & Me.lblIDNumber.Caption & "*'"

... мой вопрос: что если я использую переменную (varIDNumber) вместо объекта (lblIDNumber), какой будет синтаксис?Я использую VB6.0

Ответы [ 3 ]

1 голос
/ 09 апреля 2011

Вы не упомянули txtIDNumber в коде - вы упомянули lblIDNumber. Я полагаю, вы имеете в виду, что эти двое должны быть одинаковыми. Другими словами, код, который у вас есть на данный момент, должен выглядеть примерно так:

.RecordSource = "select * from tblpersonal where empid like '" & Me.txtIDNumber.Text & "*'"

Таким образом, вы используете значение текстового поля в форме для заполнения SQL-запроса. Я прав до сих пор?

И вы спрашиваете, что если я сохраню идентификационный номер в переменной, а не в текстовом поле? Я согласен, это, вероятно, шаг в правильном направлении.

Таким образом, вы можете создать переменную в разделе «Общие объявления» формы, используя:

Dim idNumber As Integer

Идея состоит в том, чтобы обновлять значение этой переменной каждый раз, когда изменяется текстовое поле. Примечание: я предполагаю, что «идентификационный номер» является целым числом - если нет, вы должны использовать вместо него строку.

Теперь вам нужно обновить эту переменную при изменении текстового поля. В событии txtIDNumber_Change вы захотите добавить код для преобразования строки txtIDNumber.Text в целое число и сохранить ее в idNumber. Я забыл точный синтаксис, но я предполагаю что-то вроде:

idNumber = Int(txtIDNumber.Text)

Наконец, теперь вы можете использовать переменную idNumber в запросе SQL вместо текстового поля:

.RecordSource = "select * from tblpersonal where empid like '" & idNumber & "*'"
0 голосов
/ 09 апреля 2011

Если у вас есть константа в метке и вы хотите, чтобы константа вместо этого была сохранена в переменной, создайте Const в коде формы.Допустим, в метке есть текст «43».

В разделе общих объявлений формы добавьте код:

Const idNumber As Integer = 43

Затем при построении запроса:

.RecordSource = "select * from tblpersonal where empid like '" & idNumber & "*'"

Это построит запрос, используя константу 43. Я не вижу смысла в этом - если вы хотите, чтобы номер сотрудника был тем, что пользователь может ввести, см. Мой другой ответ.

0 голосов
/ 09 апреля 2011

Замените Me.lblIDNumber.Caption на varIDNumber

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...