如何在 Access VBA 中排除列以维护数据

Posted

技术标签:

【中文标题】如何在 Access VBA 中排除列以维护数据【英文标题】:How to exclude columns in Access VBA to maintain data 【发布时间】:2020-10-09 21:34:35 【问题描述】:

我有一个带有一堆按钮和一些文本框的 Access 表单。 文本框会自动填充到表格中。感谢这里的其他人,我想出了如何将按钮按下同步到填满表格。现在我需要确保当我按下按钮并记录“是”时表格中的其余信息保持不变。目前,所有其他信息列都没有记录到工作表中,但是按下按钮可以。我如何通过这些列并保留它们的数据并仍然记录需要发生的各种按钮按下?

提前致谢!!

下面是当前记录在表格上的按钮代码。

Private Sub CWTButton_Click()

Dim Sql As String

Sql = "INSERT INTO [Raw Data] (CWT) VALUES ('Yes');"
CurrentDb.Execute Sql

End Sub`  

新代码

Private Sub CWTButton_Click()

Dim Sql As String

Sql = "INSERT INTO [RawData] ([Date], Staff, Species, Location, Length, Fish_ID, Comment, CWT) VALUES ('" & Me!Date.Value & "', '" & Me!Staff.Value & "', '" & Me!Species.Value & "', '" & Me!Location.Value & "', '" & Me!Length.Value & "', '" & Me!Fish_ID.Value & "','" & Me!Comment.Value & "','Yes');"
CurrentDb.Execute Sql

结束子

【问题讨论】:

如果你有一个绑定的表单,你为什么要使用 INSERT 动作?只需填充字段:Me.CWT = "Yes"。 CWT 是 Yes/No 类型字段吗? 听起来您可能正在尝试更新记录而不是“插入”。如果是这种情况,请使用“UPDATE”sql 语句。如果您要插入具有与表单上相同的字段并选择 CWT 的新记录,那么您必须在插入语句中包含所有字段。这是一个例子:***.com/questions/39109270/… @June7 表单肯定是未绑定的。在设计视图中,框显示未绑定。 那么文本框不能“自动填充表格”——只有绑定的表单/控件可以做到这一点。为什么不使用绑定的表单/控件? @June7 是的,请原谅我的无知。我的意思是已经有代码将这些值从表单填充到表中。 【参考方案1】:

新代码

Sql = "INSERT INTO [RawData] ([Date], Staff, Species, Location, Length, Fish_ID, Comment, CWT) VALUES (#" & Format(Me!Date.Value, "yyyy\/mm\/dd" & "#', '" & Me!Staff.Value & "', '" & Me!Species.Value & "', '" & Me!Location.Value & "', " & Me!Length.Value & ", " & Me!Fish_ID.Value & ",'" & Me!Comment.Value & "','Yes');"

【讨论】:

以上是关于如何在 Access VBA 中排除列以维护数据的主要内容,如果未能解决你的问题,请参考以下文章

如何用vba代码将access数据库连接求代码?

如何在 MS Access 应用程序中每周的特定时间之间运行我的 VBA 代码

如何在VBA中用ADO连接远程的access数据库

VBA 代码的结果在 Access 的文本框中不可见

使用 MS Access 和 VBA 更新 Ms Word 文档中的(字段代码:数据库)字段

VBA代码按顺序添加数字和数据行