gpt4 book ai didi

sql - MS Access 2003 - 用于更新 SQL 查询的 VBA?

转载 作者:行者123 更新时间:2023-12-02 09:00:43 24 4
gpt4 key购买 nike

嘿伙计们,有人可以向我展示通过 vb 进行的简单更新查询吗?我需要向表中添加新字段(仅 3 个),并在表单上添加几个文本框,以便用户可以添加一些与记录相关的附加数据(这已经是该表单的基础)。

因此,我的第一个表单是一个填充列表的表单,当用户双击该列表中的某个选项时,它会打开一个新表单,以便与该表单绑定(bind)的表的 ID我需要添加这些文本框(此时,与一条记录相关的所有组合框和文本框都绑定(bind)到事件表单,但是全部未绑定(bind)。单击按钮时,已经有 vb 将信息保存到 table )。然而,我并没有创建这个,它是由一个不再存在的人构建的,并且显然在这方面比我更好。我的问题是,有太多的 vb 检查记录,以及基于大小写的各种 sql 语句,我无法将其解读为最简单的形式。

所以我一直在寻找 vb 中更新 sql 语句的简单示例,以便我可以尝试将其分解。

我需要它根据ID更新记录:sql WHERE RecordID = me.RecordID

我实际上以为我知道如何根据示例执行此操作,但是每次我尝试,然后尝试在单击按钮上运行时,我都会收到语法错误的运行时错误,并且调试只是突出显示 db.execute (sql)部分。所以我尝试获取 sql 语句的结果立即窗口,它对我来说看起来很好:

UPDATE tblMain 
SET [Name] = "John Doe",
[DATE] = #9/30/2009#,
[TYPE] = "TypeA",
WHERE RecordID = 958;

我可以在不考虑表中每个字段的情况下更新表格吗(因为这个表大约有 15 个字段加上新的 3 个字段,所以我在这里忽略了大约 14 个字段,但我无论如何都不想更改这些字段???

一如既往,我感谢你们的帮助!谢谢!

编辑:

抱歉,我总是忘记这一点......我实际上正在尝试 DAO......

  Dim db as DAO.Database
Dim sql as String
set db = CurrentDb

等等

最佳答案

你已经很接近了!最后一列后面有一个简单的额外逗号。把它去掉,它就可以正常工作了。

UPDATE tblMain SET 
[Name] = "John Doe",
[DATE] = #9/30/2009#,
[TYPE] = "TypeA"
WHERE RecordID = 958;

是的,您绝对可以只更新几列,而不是全部。顺便说一句,这是最佳实践。

最后,用“名称”和“日期”等保留字来命名列被认为是不好的做法,但我知道您继承了这一点。

关于sql - MS Access 2003 - 用于更新 SQL 查询的 VBA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1481521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com