MS Access运行时错误3464 [英] MS Access runtime error 3464

查看:199
本文介绍了MS Access运行时错误3464的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为数据库工作,我正在尝试在vb编辑器
中使用sql从表中插入和更新值,这是我的代码:

I am working on a database for my work and i'm trying to insert and update values from tables with sql inside the vb editor This is my code:

Option Compare Database

Private Sub Übernehmen_Click()
    Dim strSQL1 As String
    Dim strSQL2 As String
    Dim strSQL3 As String
    Dim ArtikelNr As Integer
    Dim Stück As Integer
    Dim Lieferant As String
    Dim Bestellnr As Integer
    Dim EkPreis As String
    Dim Mwst As String
    Dim Einkaufsort As String
    Dim GhIndex As String
    Dim Datum As String
    Dim Uhrzeit As String
    Dim Lager As String
    Dim Beschreibung As String

    ArtikelNr = [Forms]![Einkauf]![ArtikelNr].Value
    Stück = [Forms]![Einkauf]![Stück].Value
    Lieferant = [Forms]![Einkauf]![Lieferant].Value
    Bestellnr = [Forms]![Einkauf]![Bestellnr].Value
    EkPreis = [Forms]![Einkauf]![EK-Preis].Value
    Mwst = [Forms]![Einkauf]![Mwst-Satz].Value
    Einkaufsort = [Forms]![Einkauf]![Einkaufsort].Value
    GhIndex = [Forms]![Einkauf]![GH-Index].Value
    Datum = [Forms]![Einkauf]![Datum].Value
    Uhrzeit = [Forms]![Einkauf]![Uhrzeit].Value
    Lager = [Forms]![Einkauf]![Lager].Value

    strSQL1 = "INSERT INTO Einkäufe (ArtikelNr, Stück, Lieferant, Bestellnr, EKPreis, MwstSatz, Einkaufsort, GHIndex) VALUES (" & ArtikelNr & "," & Stück & ",'" & Lieferant & "','" & Bestellnr & "','" & EkPreis & "','" & Mwst & "','" & Einkaufsort & "','" & GhIndex & "');"

    Beschreibung = DLast("EinkaufID", "Einkäufe")

    strSQL2 = "INSERT INTO Transaktionen VALUES ('" & ArtikelNr & "','" & Datum & "','" & Lager & "','" & Stück & "','EinkaufID ' + '" & Beschreibung & "' ,'Einkauf',NULL,NULL,'" & Uhrzeit & "');"
    strSQL3 = "UPDATE Lagerbestand SET Stück = Stück+" & Stück & " WHERE ArtikelNr = '" & ArtikelNr & "' AND Lager = '" & Lager & "';"

    DoCmd.RunSQL strSQL1
    DoCmd.RunSQL strSQL2
    DoCmd.RunSQL strSQL3

End Sub

尝试按下按钮后,它首先添加两个条目,并在第三个条目处停止,只是抛出一个错误,提示运行时错误:3464。
在我按debug后,将其标记为 DoCmd.RunSQL strSQL3

After trying to press the button it first adds the two entries and stops at the third one just to throw an error saying "Runtime Error: 3464". After I press debug it marks the line DoCmd.RunSQL strSQL3.

我希望得到任何答复知道了
预先表示感谢。

I would appreciate any answer I get. Many thanks in advance.

推荐答案

我的错误是试图将整数与字符串进行比较。即使sql确实将新条目将其从整数转换为字符串,但如果要在何处进行比较也不会将其转换。

My error was trying to compare an integer with a string. Even though sql does cast it from an integer to a string if you make a new entry, it does not cast it if you want to compare in a where.

这篇关于MS Access运行时错误3464的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆