我们正在使用MS Access数据库(2010),它是SQL Server数据库的前端。
其中一位程序员创建了一个绑定到链接表的表单。
我的问题是:
所有控件都是未绑定的,但它们始终填充查询中的数据。怎么会这样?我不是很喜欢它。我想知道它是否是由某个向导的查询创建的某种形式?
[更新]
我发现如果从表单中删除Record Source
所有控件都消失了,我只有一个表视图!
这是什么"事情"叫什么名字?
这不是我希望它的工作方式;我可以将其转换为普通形式,还是必须从头开始重建?
答案 0 :(得分:0)
表单的VBA可能通过ODBC调用ADO或DAO记录集到SQL Server数据库,并将其附加到Form的RecordSource或保留表单未绑定,并将值设置为与记录集中的字段对应的每个控件。在其VBA模块中查看表单后面的代码。或者,可以运行传递查询并绑定形成。
这是将前端系统连接到后端系统的更为艰难的路线,因为您必须绕过所有Access的默认功能,命令和功能。使用未绑定的表单,开发人员必须创建自定义更新,插入,保存和删除事件以进行记录管理;数据输入的验证逻辑;和常量游标调用取决于表单交互。但从某种意义上说,这反映了软件和网络应用程序的构建方式。 HTML / PHP页面,Java或Python脚本,R数据帧是空设计(“未绑定”)shell,直到从连接调用的数据库源检索数据。
更简单的方法是链接SQL Server后端表并将它们绑定到Access表单。链接表可以像任何本地表一样使用,并且可以在任何上下文中使用(表单,查询,报表,宏,模块)。每次打开表单或事件触发时都不需要广泛的代码来调用ODBC连接,然后再自定义函数。
答案 1 :(得分:0)
显然这不是一个真实的形式。我还没弄明白如何复制这个。如果我能搞清楚,我会在这里回复。
但我认为它是Access quickie-wizard制作的东西之一,它实际上是一个查询,但带有表单视图。因此,当我删除记录源时,没有查询字段可以转换为控件,因此它们消失了。
我最终创建了一个新表单并将所有控件从查询视图表单复制到实际表单。然后我复制了所有的vba代码。然后我将新表单挂钩到原始查询。
它现在就像一个魅力!