Как исправить «Ошибка во время выполнения« 3464 »: несоответствие типов данных в выражении критериев». в MS Access - PullRequest
0 голосов
/ 24 января 2019

Я работаю над формой в Access.Предполагается вставить данные в таблицу, но я получаю ошибку 3464.

Я немного новичок в Visual Basic.Ранее это работало, но больше не.Я использую SQL Server в качестве серверной части.Соединение работает, и он вставляет новые строки.Я посмотрел в Интернете, но не нашел исчерпывающего объяснения этой ошибки.

Private Sub mSubmitButton_Click()

    CurrentDb.Execute "INSERT INTO dbo_Reporting_Table([Date], Vendor, Ordered_By, Picked_Up_By, Reported_By) " & _
    " VALUES('" & Me.mDate & "','" & Me.mVendor & "','" & Me.mOrdered_By & "','" & _
    Me.mPicked_Up_By & "','" & Me.mReported_By & "')"

    CurrentDb.Execute "INSERT INTO dbo_Items_Table([PO#], [Item], [Price], [Equipment], [Quantity]) " & _
    " VALUES(" & Me.mPONumber & ",'" & Me.mItemInput0 & "'," & Me.mPriceInput0 & ",'" & _
    Me.mEquipmentInput0 & "'," & Me.mQuantityInput0 & ")"


    Me.mItemInput0 = ""
    Me.mPriceInput0 = ""
    Me.mEquipmentInput0 = ""
    Me.mQuantityInput0 = ""

    Me.mDate = ""
    Me.mVendor = ""
    Me.mOrdered_By = ""
    Me.mPicked_Up_By = ""
    Me.Requery

    Exit Sub

Error_PopupMessage:
    'Response = MsgBox(Message, vbOKOnly + vbInformation, "Form Entry Hint", "help", "1000")
    Exit Sub

End Sub

Буду очень признателен за любые советы о том, что я могу делать неправильно.

1 Ответ

0 голосов
/ 24 января 2019

Моя проблема заключалась в том, что в форме я не вводил все обязательные поля, прежде чем нажать кнопку «Отправить». Теперь у меня есть оператор if, который завершает процесс, если обязательные поля являются нулевыми. Надеюсь, это кому-нибудь пригодится.

If Eval(IsNull(Me.mDate.Value) Or IsNull(Me.mVendor.Value) Or IsNull(Me.mPicked_Up_By.Value) Or IsNull(Me.mReported_By.Value)) Then
    MsgBox " Make sure you have entered the Date, Vendor, Purchaser, and signed the form. "
    Exit Sub
ElseIf Eval(IsNull(Me.mItemInput0.Value) Or IsNull(Me.mEquipmentInput0.Value) Or IsNull(Me.mPriceInput0.Value)) Then
    MsgBox " Please enter atleast one complete row of an item for the PO. "
    Exit Sub
Else
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...