仅更新 Access 数据库中的一列值 - VB

Update only one column value in Access Database - VB

我的应用程序中有一项功能,用户可以选择自行取消订阅。发生这种情况时,不会对数据库中的其他字段进行任何更改,只会取消选中用户的订阅标志。我通过获取数据行并设置其中一个字段值然后更新 table.

中的数据行来执行此操作

这适用于所有最近创建的记录,但是一些旧记录的日期字段设置为空白值,现在是强制性的。因此,当我尝试取消订阅这种类型的旧记录时,它会尝试从数据库中检索空值,然后更新相同的返回结果导致错误 - "Cannot insert null value in Date Field"

首先,如果您的 table 在必填列中有一个空值,您最好 运行 对 table 的更新查询将输入一个此 mandatory/required 列的默认值。 Wayne G. Dunn 在对您的问题的评论中提到了这一点。例如:

UPDATE [TABLE1] SET [datefield] = '4/28/1949' where [datefield] = null

**Be sure to backup your data prior to running this kind of query and test with a test table before you execute the query on production data.

其次,如果您正在对行进行更新并将复选框值设置为 true,则可以查看任何需要的列并在更新查询中设置它们的默认值。这使得查询更复杂,更难支持。

我建议您选择第一个选项,然后 运行 在 table 上进行更新查询。第二个选项将不必要的代码添加到更新复选框的查询中。

如果你post一些查询示例和table结构,你会得到更具体的答案。您可以考虑编辑您的问题以包含这些详细信息。