Office中国论坛/Access中国论坛

标题: 求助:如何使窗体引用表数据的副本 [打印本页]

作者: effytears    时间: 2009-2-1 17:38
标题: 求助:如何使窗体引用表数据的副本
本帖最后由 effytears 于 2009-2-1 17:48 编辑

请各位高手帮忙:
      如何使窗体引用表数据的副本,并且当修改窗体的记录时,原始表中的数据不改变。
      谢谢!


     附:小弟刚刚接触ACCESS不久,再问一个比较笨笨的问题:
在标准的查询环境里面是否能加入代码中的变量?
作者: ACMAIN_CHM    时间: 2009-2-1 19:10
如何使窗体引用表数据的副本,并且当修改窗体的记录时,原始表中的数据不改变。

一个常见的做法就是,把选中的记录放到一个临时表。

在标准的查询环境里面是否能加入代码中的变量?

标准的查询环境 里当然不能,但我不确定你这个标准是个什么含义。有很多种方法来实现根据代码中的变量来进行不同的查询。


******************
*  一切皆有可能  *
******************


QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
作者: andymark    时间: 2009-2-1 19:46
引用一个记录集的副本也行
也可以采用不绑定表的形式,或用GRID控件来实现
作者: effytears    时间: 2009-2-1 20:00
谢谢ACMAIN_CHM 兄的回复!

临时表的做法我也想过 但是会不会出现这种情况呢:
    在给临时表添加源表数据的时候,如果另外有个用户也对该表进行相同的操作 那么这两个用户间会不会冲突?

关于查询环境中的变量:
我的本意是想在查询环境中设置条件等于某个变量,这样做窗体就直接可以根据代码中变量的值来相应地打开记录了,

而现在我的做法是:
将窗体的记录源删除,然后在代码中指定记录源的字符串,就是因为一个变量取值的不同,

我今天看书,发现使用这种方法能实现上面的功能,但比较麻烦:
就是多建立一个窗体,然后将代码中的变量都做成文本框,这样就可以直接在查询环境中设置了,呵呵

请 ACMAIN_CHM 兄指教:)
作者: andymark    时间: 2009-2-1 20:12
怕冲突建议采用不绑定表的方式
作者: andymark    时间: 2009-2-1 20:14
VBA的SQL语句可以用变量
或者把变量写成FUNCTION,在查询里调用
作者: ACMAIN_CHM    时间: 2009-2-1 20:33
在给临时表添加源表数据的时候,如果另外有个用户也对该表进行相同的操作 那么这两个用户间会不会冲突?

会冲突! 建议按照andymark 的方法添加datagrid控件。 如果不愿意引用非ACCESS控件,则需要在这个临时表中添加一个时标字段。这样A用户时产生的临时表记录均为 t1,B用户产生的为T2.

这样做窗体就直接可以根据代码中变量的值来相应地打开记录了,
可以在FORM.OPEN事件中对数据源进行设置。同样两种方法。
1。修改form.filter,相当与SQL语句的WHERE, me.filter = "col=" & myVar
2。修改form.RecordSource = "select * from yourtable where col=" & myVar



******************
*  一切皆有可能  *
******************


QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
作者: effytears    时间: 2009-2-1 21:55
谢谢你们的回复

datagrid控件是不是随VB安装带来的? 我单位是不能够随便安装软件的,手头机器上只有ACCESS2007,呵呵,我该怎么办

请问 该怎么建立不绑定表的记录集呢?
作者: effytears    时间: 2009-2-1 22:39
是不是这样:
先建立源表的记录集RS1 然后遍历此记录集中的每个记录 同时将它们赋值给一个新的记录集RS2?

要是这样的话 我想请教一下:
每台机器(ACCESS客户端)申请的RS2是不是独立的 会不会冲突
呵呵 感谢感谢




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3