将数据从子窗体输入到表格

Posted

技术标签:

【中文标题】将数据从子窗体输入到表格【英文标题】:Enter data from subform to table 【发布时间】:2016-08-14 05:11:35 【问题描述】:

我在 2013 版 MS Access 中创建了一个子表单。我可以从表单中插入数字,但我无法插入文本字符串和重复的行项目。如何插入文本字符串和重复条目?

【问题讨论】:

您是如何尝试插入文本值的? @Sergey S 我在组合框中选择了字符串并使用了“插入函数” @Sergey S,当我尝试输入字符串时遇到运行时错误 3061 【参考方案1】:

如果您用于在 where 子句中插入 SQL 或 SQL 的任何部分用于过滤器、类似 DLookup 的函数等,则字符串变量应括在引号中:

strSQL="INSERT INTO MyTable SELECT '" & MyStringVar & "' as Field1, " & MyNumberVar & " as Field2"

这里用单引号,也可以用双引号。如果是双引号,则应重复:

strSQL="INSERT INTO MyTable SELECT """ & MyStringVar & """ as Field1, " & MyNumberVar & " as Field2"

【讨论】:

Dim strinsert As String strinsert = "INSERT INTO tblKUT([Employee ID:], [Date:], [WRF#:], [Process:], [Subprocess:], [Issues:] , [重新解决方案:])" & _ "values(" & Me.Employee_ID_ & "," & Me.Date_ & "," & Me.WRF__ & "," & Me.Process_ & "," & Me. Subprocess_ & "," & Me.Issues_ & "," & Me.Re_solution_ & ")" 这段代码我用过,如果需要修改请告诉我 确定表 tblKUT 中哪些字段声明为 Text 并将相应的变量括在单引号中。 S.我试过你的答案,但同样的错误和这里的员工 ID:和日期:只有数字所有其他人都是文本 错误 3061 表示查询需要的参数多于您提供的参数。在您的情况下,查询中根本没有参数,这意味着查询中的一个或多个列名是错误的。名称 [Employee ID:], [Date:], [WRF#:], [Process:], [Subprocess:], [Issues:], [Re-solution:] 应该与表定义中的完全相同,我怀疑你添加了额外的“:”,检查一下。我建议先在查询生成器中创建插入查询,将 SQL 复制到 VBA 编辑器并用变量替换值。

以上是关于将数据从子窗体输入到表格的主要内容,如果未能解决你的问题,请参考以下文章

从子窗体调用主窗体

如何将值从子窗体传递回父窗体?

DevExpress TabbedView : 从子窗体创建子窗体

如何在 Windows Forms 2.0 中从子窗体关闭父窗体?

从子窗体访问去记录

MS Access 2016:设置报表的 RecordSource 以从子窗体中获取数据