我要创建一个临时表,纯粹是为了使用户界面功能更简单,并且该表只对当前用户可见。我看不到如何在Access中实现此功能:显然,Access中的“创建”不像标准SQL:但是有一个“临时”选项(根据http://msdn.microsoft.com/zh-cn /library/bb177893(v=office.12).aspx):
“创建临时表时,它仅在创建它的会话中可见。在终止会话时,它将自动删除。多个用户可以访问临时表。”
这是我有问题的最后一句话。我可以看到“普通数据库”,您将使用SQL“创建表#whatever” ...因此我想用Access来模仿它。
解释整个情况需要花费很多时间,如果我不够清楚,我会道歉,因为我正努力避免写出愚蠢的不必要细节:本质上,我拥有的是“雇员”记录,其中包含许多“任务”。我的“ EmployeeTasks”表为每个任务都有一个“百分比”字段(即用简单的英语“员工A(f.key)每天执行任务B(f.key)X%”)。
要在用户界面中维护该信息,要求用户手动输入百分比有点“混乱”……在我看来,人们并不真正认为“我每天工作7.6个小时,我要做10项任务,在3.528%的时间内执行此任务,在9.813%的时间内执行此任务...“等等...我要呈现给用户的是他们的任务列表(以连续形式表示),其中表达了他们的工作量每天的小时和分钟。
所以我的理论是,创建一个包含小时和分钟外推的临时表,显示基于该表的表格,然后用户可以编辑这些小时和分钟,然后“更新”功能将获取这些数字并根据总和转换成百分比。这样,用户不必担心准确地确保所有小时和分钟都加到7.6小时,也不必担心所有百分比都加到1等。。。因为很明显,大多数人不会在有限的时间内执行任务,所以我们只收集粗略的信息)
似乎最简单的方法是基于临时表[EDIT ADDITION]创建表单:但是,如果有多个用户编辑不同的员工,除非我可以以某种方式创建用户唯一的表,否则他们将互相覆盖临时表[ /编辑]。我猜想的另一种方法是为每个任务动态创建一个控件列表并从中读取,但是当员工执行大量任务时,这将很快变得混乱。谢谢您的帮助,西蒙
的确,Access SQLCREATE TABLE #TableName
不像T-SQL那样支持创建特定于会话的临时表,但实际上并不需要。原因如下:
为您的Microsoft Access数据库应用程序支持多个并发用户
您必须将数据库拆分为链接到后端数据库文件(仅包含数据表)的前端数据库文件(包含查询,表单,报告,代码),并且
每个用户都必须拥有自己的前端数据库文件副本(本地)。
任何两个用户都不得同时直接打开相同的.mdb或.accdb文件,例如,通过双击或File > Open
在Access中进行操作。(更多详细信息在这里)。
您在前端的VBA代码可以在前端创建一个临时表,您的应用程序可以使用它。通过访问,我们可以建立将链接表联接到本地表的查询,因此(本地)临时表可以像T-SQL中的#Temporary表那样使用。
由于每个用户都有自己的前端文件副本(上面的第2点),因此他们每个人都有应用程序可能创建的任何临时表的副本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句