Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 用VB将记录从窗体追加到表_Sql_Ms Access 2007 - Fatal编程技术网

Sql 用VB将记录从窗体追加到表

Sql 用VB将记录从窗体追加到表,sql,ms-access-2007,Sql,Ms Access 2007,我已经读了一些关于这方面的问答,我想我理解它,但是在真正的爱情风格中,我想我遗漏了一些东西 我试图做的是以表格“a”的形式一次显示一条记录,并为用户提供按下按钮的选项,以便他们可以使用下面的VB代码将当前查看的记录附加到表格“B”。然而,当我按下按钮时,什么也没有发生,有人能帮我澄清一下我是否正确理解了我读到的内容: 私有子命令31_Click() 我的LiveQTemp表的布局如下: ID - AutoNumber PartNo - Text TotalQty - Number Descrip

我已经读了一些关于这方面的问答,我想我理解它,但是在真正的爱情风格中,我想我遗漏了一些东西

我试图做的是以表格“a”的形式一次显示一条记录,并为用户提供按下按钮的选项,以便他们可以使用下面的VB代码将当前查看的记录附加到表格“B”。然而,当我按下按钮时,什么也没有发生,有人能帮我澄清一下我是否正确理解了我读到的内容:

私有子命令31_Click()

我的LiveQTemp表的布局如下:

ID - AutoNumber
PartNo - Text
TotalQty - Number
Description Text
Manufacturer - Text
TotalCost - Number
Category - Text
Warehouse - Text
BinLoc - Text
OrderNum - Text
DateRec - Date/Time
UnitCost - Number
ReturnCode - Text
Batch - Number

在列规范中的
VALUES
一词前面的语句中有一个额外的逗号

更改此项:

bookinsql = "INSERT INTO LiveQTemp (TextField, NumericField, TextField, TextField, NumericField, TextField, TextField, TextField, NumericField, DateField, NumericField, TextField, NumericField,  ) VALUES (" & PartNo & ", '" & TotalQty & "', " & Description & ", " & Manufacturer & ", '" & TotalCost & "', " & Category & ", " & Warehouse & ", " & BinLoc & ", '" & OrderNum & "', '" & DateRec & "', '" & UnitCost & "', " & ReturnCode & ", '" & OrderNum & "');"
为此:

bookinsql = "INSERT INTO LiveQTemp (TextField, NumericField, TextField, TextField, NumericField, TextField, TextField, TextField, NumericField, DateField, NumericField, TextField, NumericField) VALUES ('" & PartNo & "', " & TotalQty & ", '" & Description & "','" & Manufacturer & "', " & TotalCost & ", '" & Category & "','" & Warehouse & "','" & BinLoc & "',' " & OrderNum & "', #" & DateRec & "#, " & UnitCost & ",'" & ReturnCode & "', " & Batch & ");"
此外,如果您没有收到错误,可能是因为警告通过以下方式设置为关闭:
docmd.setwarnings=false
运行stations后,应通过
docmd.setwarnings=true
将其重新打开。如果你正在测试一些新的东西,我会让它们保持开启状态,直到它被验证,然后在测试期间将其设置为false,只需确保在测试结束后将其重新开启即可

编辑:

你不断地用更新的信息改变你的原始问题,你不应该这样做,你应该只添加新的信息,这会使其他人和试图帮助的人感到困惑

以下是您需要的全部功能:

Private Sub Command31_Click()

    Dim PartNo, TotalQty, Description, Manufacturer, TotalCost, Category, Warehouse, BinLoc, OrderNum, DateRec, UnitCost, ReturnCode, Batch, bookinsql
    PartNo = Me.[PartNo]
    TotalQty = Me.[TotalQty]
    Description = Me.[Description]
    Manufacturer = Me.[Manufacturer]
    TotalCost = Me.[TotalCost]
    Category = Me.[Category]
    Warehouse = Me.[Warehouse]
    BinLoc = Me.[BinLoc]
    OrderNum = Me.[OrderNum]
    DateRec = Me.[DateRec]
    UnitCost = Me.[UnitCost]
    ReturnCode = Me.[ReturnCode]
    Batch = Me.[Batch]
    bookinsql = "INSERT INTO LiveQTemp (PartNo , TotalQty , Description , Manufacturer , TotalCost , Category , Warehouse , BinLoc , OrderNum , DateRec , UnitCost , ReturnCode , Batch ) VALUES ('" & PartNo & "', " & TotalQty & ", '" & Description & "', '" & Manufacturer & "', " & TotalCost & ", '" & Category & "', '" & Warehouse & "', '" & BinLoc & "', '" & OrderNum & "', #" & DateRec & "#, " & UnitCost & ", '" & ReturnCode & "', " & Batch & ");"
  '                              ^
  '                              |
  '                             Change this table to whatever table you are trying to put it in, you have listed two different ones

    DoCmd.RunSQL bookinsql

End Sub

它是否给出任何错误?我还注意到您的
文本字段周围没有
。你的东西有点落后,字符串得到
,数字什么也得不到,日期得到
。谢谢你发现这个@ObieMD5,不幸的是,这并没有解决我的问题。@bikerben可以用表布局更新您的qestionLiveQTemp@bikerben我不知道
numericfield
是否描述了表中的数据类型,如果是,则不需要在项目周围使用
,日期需要在项目周围使用
。我已经更新了我的答案。还有,你知道你的桌子上有两次OrderNum吗?我会在@ObieMD5上旋转一下,谢谢。我注意到我的slq语句也没有准确地反映出我的字段是什么。让我来更改,我会随时通知你的。再次感谢您的输入,非常感谢。我已经更新了我的slq语句,并对其进行了调整,使所有语法都如您所述正确无误,包括将OrderNum作为重复字段。我注意到Access关闭了一些功能,因为它认为其中一个数据库不安全。这些都没有打开,我现在得到运行时错误424,它指向这行代码“PartNo=LiveQfrm.[PartNo]”。为了澄清,LiveQfrm是按钮和当前记录显示的表单。很抱歉,这不是我们想要的那样干净@ObieMD5
Private Sub Command31_Click()

    Dim PartNo, TotalQty, Description, Manufacturer, TotalCost, Category, Warehouse, BinLoc, OrderNum, DateRec, UnitCost, ReturnCode, Batch, bookinsql
    PartNo = Me.[PartNo]
    TotalQty = Me.[TotalQty]
    Description = Me.[Description]
    Manufacturer = Me.[Manufacturer]
    TotalCost = Me.[TotalCost]
    Category = Me.[Category]
    Warehouse = Me.[Warehouse]
    BinLoc = Me.[BinLoc]
    OrderNum = Me.[OrderNum]
    DateRec = Me.[DateRec]
    UnitCost = Me.[UnitCost]
    ReturnCode = Me.[ReturnCode]
    Batch = Me.[Batch]
    bookinsql = "INSERT INTO LiveQTemp (PartNo , TotalQty , Description , Manufacturer , TotalCost , Category , Warehouse , BinLoc , OrderNum , DateRec , UnitCost , ReturnCode , Batch ) VALUES ('" & PartNo & "', " & TotalQty & ", '" & Description & "', '" & Manufacturer & "', " & TotalCost & ", '" & Category & "', '" & Warehouse & "', '" & BinLoc & "', '" & OrderNum & "', #" & DateRec & "#, " & UnitCost & ", '" & ReturnCode & "', " & Batch & ");"
  '                              ^
  '                              |
  '                             Change this table to whatever table you are trying to put it in, you have listed two different ones

    DoCmd.RunSQL bookinsql

End Sub