Команда VB SQL UPDATE возвращает ошибку «Ошибка выполнения 424: требуется объект». - PullRequest
1 голос
/ 26 апреля 2011

Вот код:

Dim tr As Transactions
Set tr = New Transactions

Dim ID As Integer
Dim name As String, username As String, password As String, activate As String

name = cmbName.Value
ID = tr.GetUserID(name)

If (AccountActivated = True) Then
    username = txtUsername.Value
    password = txtPassword.Value
    MsgBox name & " " & username & " " & password
    activate = "Yes"
Else
    username = ""
    password = ""
    activate = "No"
End If

tr.UpdateAccount name, username, password, activate 'ERROR HERE: Object required

Вот эта функция, которую я вызываю:

 Public Function UpdateAccount(ByVal name As String, ByVal username As String, ByVal password As String, ByVal activation As String)
        Call connectDB
        sSQL = "update User set Username = '" & username & "', Password = '" & password & "', AccountActivated = '" & activation & "' where Name = '" & name & "'"
        MsgBox sSQL
        db.Execute sSQL
 End Function

1 Ответ

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

Почему здесь вы используете "db", а по другому вопросу "CurrentDb"? Всегда используйте код с явной опцией.

А почему функция, смените на sub, я не помню, может ли это вызвать проблемы.

Но самое главное, не используйте текст, введенный из текстовых полей, для построения строки SQL, это позволяет легко стать жертвой внедрения SQL, используйте параметры.

...