Смена пароля с помощью VAccess - PullRequest
1 голос
/ 30 июня 2011

Эй, я работаю над сменой пароля. Пользователь входит (успешно), загружает глобальную переменную с инициалами пользователя, а затем запускает форму с истекшим сроком действия пароля. Я пытаюсь использовать эти инициалы в форме с истекшим сроком действия пароля для получения информации о пользователе из БД.

vaUserLog.FieldValue("USERINIT") = UserInitials
vaUserLog.GetEqual
vaStat = vaUserLog.Status

vaStat продолжает выдавать ошибку 4. Я использую Pervasive v9. Связь с ВА выглядит так:

With vaUserLog
        .RefreshLocations = True
        .DdfPath = DataPath
        .TableName = "USERLOG"
        .Location = "USERLOG.MKD"
        .Open
        If .Status <> 0 Then
           ErrMsg = "Error Opening File " + .TableName + " - Status " + str$(.Status) + vbCrLf + "Contact IT Department"
        End If
    End With

В таблице БД USERINIT - это Char, 3. UserInitials - это строка.

Возможно, упустил что-то маленькое, но сейчас не могу думать. Любая помощь приветствуется. Дай знать, если тебе нужна дополнительная информация.

Приветствия

1 Ответ

1 голос
/ 30 июня 2011

Статус 4 означает, что запись не найдена. В вашем случае, это может быть случай, когда искомое значение неверно, существует другое заполнение (пробелы и двоичный ноль), или значение UserInitials просто отсутствует в файле данных. Вы можете использовать MKDE Tracing , чтобы увидеть, что на самом деле передается движку PSQL. Как только вы это сделаете, убедитесь, что значение, которое вы используете, работает через Function Executor , где вы можете открыть файл и выполнить GetEqual.
Вот мои предложения: - Убедитесь, что вы указываете на правильные файлы данных. - Убедитесь, что вы передаете правильное значение в GetEqual (установив FieldValue).

...