sql - 使用表单中的信息填充 Access 表
问题描述
我在 Access 中有一个表单,我想从中传输到表中的信息。我无法使用表单,因为我需要使用信息创建图表,结果您无法在 Access 中使用源 - 表单创建图表。我试图将表单中的字段绑定到表中,但这会将值转移到表中的第一行,并且我需要每个新值都转到下一行,因此绑定选项对我不起作用。
我试图从表单中的每个控件中获取值并将其传输到表中,但出现错误:INSERT INTO 语句中的 SYNTAX ERROR
Sub PopulateTable()
Dim sSQL As String
sSQL = "Insert INTO [Levels_Shipped_POF] (Level,POF_Pluquo,Actual_Shipped,Buffer) VALUES (5,Forms![Main_Input_Form].[POF_LVL5].Value,Forms![Main_Input_Form].[Shipped_5].Value,Forms![Main_Input_Form].[Buffer_5].value)"
DoCmd.RunSQL (sSQL)
DoCmd.GoToRecord , , acNewRec
End Sub
表单的名称是 - Main_Input_Form 控件名称 - POF_LVL5、POF_LVL6、POF_LVL7...... Shipped_5、Shipped_6、Shipped_7...... Buffer_5、Buffer_6、Buffer_7
解决方案
LEVEL 在 JET 和 ODBC 中是保留的。使用保留字作为对象名称时,可能会出现意外结果。此外,使用空格和标点符号/特殊字符也会导致问题。如果这些功能符合命名约定,请将名称括在括号中以强制其被接受:[Level]
. 建议不要在命名约定中使用。
但是,正确使用绑定形式将不需要任何代码。在输入新数据之前移动到新记录行和/或将表单 DataEntry 属性设置为是。这将始终打开新记录行的表单 - 不会显示现有记录。
推荐阅读
- vb.net - 使用 VB.Net 根据数据表中的行项删除重复行的最佳方法是什么?
- python - 如何调用名称存储在 txt 文件中的函数?
- powershell - 将文件保存到 Azure DevOps 中的暂存文件夹
- python - Pandas 读取 TSV 错误的列
- php - 无法使用 php-di 处理依赖注入
- excel - 从列引用中添加/减去长变量
- c# - 在 C# 托管类的方法中,如何传递 C++ 类的实例?
- swiftui - SwiftUI 导航到 NavigationView 堆栈的底部
- javascript - 编写一个函数,返回二进制字符串中最长的连续零序列
- javascript - React pdf-renderer 不显示字符 č、ć 和 đ