Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-窗体/数据页

学习报销系统的一些总结1-计时触发器的理解和认识

时 间:2008-09-18 10:43:41
作 者:yonglz   ID:3096  城市:兰州
摘 要:frmyg_child窗体代码的进一步认识和理解
正 文:

点击下载此附件

 

3frmyg_child窗体代码的进一步认识和理解
 
1, 计时触发器
给frmyg_child添加计时触发触发器代码,此时一定要注意, frmyg_child窗体的计时器间隔值为0,表示不执行计时触发器中的代码。
代码如下:
Private Sub Form_Timer()
    Acchelp_FindstrRecord (g_CurrentSelectStrID)
    Me.TimerInterval = 0
End Sub
这段代码的意思是以TimerInterval值的间隔,自动执行其中的代码,既此时是在frmyg_childk中定位记录到ygId=g_CurrentSelectStrID这条记录上。
frmyg_child_Edit窗体中的这一句代码正是被下述的过程调用:
Forms!usysfrmMain!frmChild.Form.TimerInterval = 300
 
如果此时将frmyg_child窗体的计时器间隔值改为1000,那么就是当一进入frmyg_child时就以1000ms刷新一次的速度执行定位到ygId=g_CurrentSelectStrID这条记录上的操作。
g_CurrentSelectStrID值是在frmyg_child_Eidt被赋予的,我在做frmyg_childfrmyg_child_Edit窗体后,如果只要是在frmyg_child_Edit中进行了更改,则再次打开frmyg_child_Add窗体时,frmyg_child窗体中的值就会定位到刚才在frmyg_child_Edit窗体上更改的那条记录上,最后才找到原因是,将frmyg_child窗体的计时器间隔值改为300的原因。
g_CurrentSelectStrID值是在frmyg_child_Eidt被赋予的代码如下:
Private Sub Form_Load()
    Me.RecordSource = "SELECT * FROM tblCodeyg where ygID = '" & selectstr & "'"
    g_CurrentSelectStrID = selectstr
 End Sub
 
如图所示:
 
 
 
 
并且更改frmyg_child窗体中的计时器代码:
Private Sub Form_Timer()
      Acchelp_FindstrRecord (g_CurrentSelectStrID)
      Me.TimerInterval = 300(或取消这一句)   
End Sub
则当在frmyg_child_ecit中修改后,每当再次进入基础数据的员工代码时,就会自动定位到ygId=g_CurrentSelectStrID这条记录上。
而且些时会每隔300ms自动执行ygId=g_CurrentSelectStrID的操作,如果此时选择了其他记录,则300ms后又回到了Y12这条记录上,此时必须在300ms内快速选择记录,并修改删除等操作,如果将计时器间隔改为1ms则刷新的速度几乎无法选择新的记录。这就深刻的了解了计时器的这些操作。
Me.TimerInterval = 0的意思是执行完一次,不再执行计时中的代码。


Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助