我用comboBox和日历创建一个表单,我想选择一个员工 从组合框和日期到日期,当我点击确定我会发送这些 查询的参数以在查询中返回结果(结果是计算 它的工资)。
我知道如何发布一个对不能用户有用的访问项目 访问表和查询仅表单。 有没有办法将访问项目从发布模式更改为开发 一,因为假设发生了错误,如何解决它而不会失去 我的数据。
注意:我没有客户端/服务器我开发一个程序,我发布它 在此用户告知我的特定时间之后,将此版本发送给用户 发生错误,他需要从该程序插入数据库的数据。 我可以解决这个问题并发布另一个版本的程序,但是 主要问题是如何将旧程序中的所有数据都带到新程序中。
答案 0 :(得分:0)
- 您可以在查询中引用表单控件:
SELECT FROM MyTable
WHERE EmployeeID = Forms!MyForm!cboEmployee
AND SomeDate BETWEEN Forms!MyForm!txtDateStart And Forms!MyForm!txtDateEnd
您还可以构建一个SQL字符串,并将其用作表单或VBA的记录源。
- 访问应分为前端(表单,报表等)和后端(数据)。当您对前端进行更改时,您将创建一个新的mde或accde并将其发送给用户。数据保留在后端的服务器上。
请参阅:http://msdn.microsoft.com/en-us/library/aa167840(v=office.11).aspx
修改强>
从您的评论中看来,每个应用程序似乎只有一个用户,如果是这种情况,拆分不是必需的,但它仍然是个好主意。用户将获得两个数据库,一个用于数据,一个用于表单等,只有表格的一个被替换。您需要包含一个例程来查找和链接后端表。
但是,如果无法做到这一点,则mde或accde不会隐藏数据,您可以发送修改后的副本并包含从以前的mde / accde导入的例程。
编辑2
有些向导会为您拆分数据库并链接表。您发现它们的版本略有不同,但它们位于菜单项“数据库工具”下。唯一的问题是链接表保存后端的位置,后端位于您的计算机上,而不是用户计算机上。链接表是您访问第二个数据库中数据的方式。这些操作就好像第一个数据库中有表,除非您无法更改它们。不幸的是,链接表保存了后端的位置,因此如果要将其发送给用户,则必须更改。您可以编写代码,也可以向用户显示如何使用链接表管理器。这可能会导致混淆,并且可能不值得为一台PC付出努力。 (另见http://www.alvechurchdata.co.uk/accsplit.htm)
或者,您可以在PC上拆分数据库并对所需的表单等进行所有更改,然后添加一些代码,将用户的表和其他数据导入到新副本中。用户将按照代码中的说明导入表。顺便说一句,您会发现在拆分数据库上开发更安全。您还应该不时反编译,您可以在http://www.granite.ab.ca/access/decompile.htm找到。
如果要保护代码,可以创建此新副本的编译版本,已编译的Access数据库的扩展名为* .accde,2007年开始,* .mde为先前版本。这就是我以为“我知道如何发布访问项目”的意思。