Office中国论坛/Access中国论坛

标题: 请教几个问题!(想到就来问问!) [打印本页]

作者: cake_super    时间: 2004-4-3 04:40
标题: 请教几个问题!(想到就来问问!)
Private Sub ViewEngineer_Click()
Dim ctl As Control
DoCmd.OpenForm "ServiceStaff", acNormal, "", "[Engineers]![Name_EN]=[Forms]![Callout]![Allocated_to]"
For Each ctl In Forms![ServiceStaff].Controls
   If ctl.ControlType = 111 Or ctl.ControlType = 112 Or ctl.ControlType = 109 Then
      ctl.Locked = True
   End If
Next ctl
End Sub

这段代码是一个view engineer的控件代码,功能是根据Callout窗体里面的Allocated_to的值查找到与之相同的Name_en值所对应的记录在ENGINEER这个表里。请教一下这里面的controlType=111是什么意思啊?112,109分别是什么意思啊?


还有个问题,我将两个表建立关系后创建了个查询,后面又创建了一个窗体,窗体如果数据源是查询,是不是修改窗体不会更改表的记录啊?

有没有哪个代码可以当表自动更新时候,基于表创建的窗体会自动更新啊?不用ME。REQUERY这个代码,有别的吗????

问题多了点,蠢了点,见谅!!!!!
作者: coning    时间: 2004-4-3 06:16
For Each ctl In Forms![ServiceStaff].Controls
   If ctl.ControlType = 111 Or ctl.ControlType = 112 Or ctl.ControlType = 109 Then
      ctl.Locked = True
   End If
Next ctl

controlType = 111 (112,109)我想应该是控件(如:下拉框之数控件)
(但是我这里暂没有ACCESS帮助文件,不能帮你找一下具体是哪一种控件!下次如果没有人回应,我就试一下找吧!——不好意思,帮不了什么!)

作者: cake_super    时间: 2004-4-3 06:22
谢谢了!那其他几个问题呢???没人回答吗?
作者: 土豆    时间: 2004-4-3 17:38
问题2:你自己试试就知道了
问题3:系统默认记录集的自动刷新时间好像是60秒,所以你最好在对表做更新后用代码强制刷新显示窗体,不好全自动的。如果减少自动刷新间隔时间,会非常占用系统资源
作者: cake_super    时间: 2004-4-3 19:28
那强制刷新的代码是什么啊??写在哪里啊???
作者: 土豆    时间: 2004-4-3 19:49
就是REQUERY

你在哪里更新过表的记录,如果显示表的窗体是打开的就刷新该窗体
作者: cake_super    时间: 2004-4-3 19:52
我就加了个控件阿!!就是么。ME.REQUERY!!!有没有让窗体过一短时间自动更新以下阿!·!!
作者: 土豆    时间: 2004-4-3 20:02
标题: 。。
写窗体的计时器事件也可以,自己设定间隔时间

但是你这样会无端加重系统负担

程序设计的基本理念是只有需要时才存取数据

[此贴子已经被作者于2004-4-3 12:12:13编辑过]


作者: cake_super    时间: 2004-4-3 20:05
哦!!!我知道了!




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