sql - INSERT INTO 参数太少
问题描述
我有一个名为tb_tools的表,其中包含以下字段:
- TOOL_ID(短文本)[key_field]
- 说明(短文)
- 机架(短文本)
- 列(数字)
- 评论(长文本)
在名为 frm_insertion 的表单中,我有一个带有点击事件的按钮
Private Sub btn_add_Click()
Dim part_temp As String
Dim tempNum As Integer
Dim tempStr As String
tempNum = 12
tempStr = "test"
tool_temp = Nz(DLookup("[TOOL_ID]", "tb_tools", "[TOOL_ID]='" & [box_dien] & "'"), "-1")
If StrComp(tool_temp, "-1", vbTextCompare) = 0 Then
CurrentDb.Execute "INSERT INTO [tb_dies] ([TOOL_ID], [DESCRIPTION], [RACK], [COLUMN], [COMMENTS]) " _
& "VALUES (" & tool_temp & "," & tempStr & "," & tempStr & "," & tempNum & "," & tempStr & ")"
End If
End Sub
我在 INSERT INTO 行中收到错误“参数太少。预期为 1”。我检查了字段名称。事实上,我直接从表中将它们复制并粘贴到代码中。
我还使用了此处提供的代码: http://forums.devarticles.com/microsoft-access-development-49/check-if-a-field-exists-in-a-table-using-vba-58559。 html 检查字段是否可用
解决方案
在查询中使用参数时,这可能更容易理解。
Private Sub btn_add_Click()
Dim qdf As DAO.QueryDef
Set qdf = CurrentDb.CreateQueryDef("", _
"PARAMETERS lToolID LONG, DescText TEXT (255), RackText TEXT (255), " & _
"ColumnNum LONG, CommentText LONGTEXT; " & _
"INSERT INTO tb_dies (TOOL_ID, DESCRIPTION, RACK, COLUMN, COMMENTS) " & _
"VALUES (lToolID, DescText, RackText, ColumnNum, CommentText)")
With qdf
.Parameters("lToolID") = 1
.Parameters("DescText") = "Some Text"
.Parameters("RackText") = "Some Rack Text"
.Parameters("ColumnNum") = 5
.Parameters("CommentText") = "Some really long comments"
.Execute
End With
Set qdf = Nothing
End Sub
SQL 读取为:
PARAMETERS lToolID LONG
, DescText TEXT (255)
, RackText TEXT (255)
, ColumnNum LONG
, CommentText LONGTEXT;
INSERT INTO tb_dies (TOOL_ID, DESCRIPTION, RACK, COLUMN, COMMENTS)
VALUES (lToolID, DescText, RackText, ColumnNum, CommentText);
推荐阅读
- vb.net - 从下拉框中选择项目时尝试激活特定的控制器功能
- php - httpful:当 JSON 属性值是 XML 中的字符串时,响应损坏
- exception - Keycloak 12.0.4 导出抛出异常
- html - 如何为不同的按钮组选择和更改颜色按钮?
- python - Python套接字如何添加多个客户端并向每个客户端发送字节
- javascript - ngx-dataTable 如何应用格式化功能
- node.js - 混淆 node_modules 被 .dockerignore 忽略
- python - arduino pyfirmata 模拟阅读
- php - 以编程方式设置发货 WooCommerce
- react-native - Xcode iOS 一直在运行旧版本的 React 原生应用