Office中国论坛/Access中国论坛
标题:
◎子窗体随动于主窗体后,如何自动移至末记录?
[打印本页]
作者:
newscatnewscat
时间:
2006-12-25 16:18
标题:
◎子窗体随动于主窗体后,如何自动移至末记录?
为车间做了一个数据库来管理全厂的电机,已经接近完工了。
现在情形是:数据库中,当主窗体选择数据时,即选择电机时,子窗体每个电机的加油记录会联动显示。想要实现:子窗体联动于主窗体后,即能自动将焦点对准加油记录的末记录,因为维护人员最关心最后一次加油记录的情况。
另外,电机主窗体还有一个名为“电机检修记录”的子窗体与上面情况一样。
我勉强实现了上述的功能,但感觉是用了非常规手段,而且切换数据时,窗体闪跳,并且数据显现得也有点慢,感觉是效率不高。
我实现的方法是这样的:
在通用模块中定义了两个逻辑变量:windows1_click_flag1,windows1_click_flag2 分别服务于两个子窗体的要求
父窗体的代码:
Private Sub Form_Current()
windows1_click_flag1 = True
windows1_click_flag2 = True
Me.加油记录表子窗体.Form.Requery
Me.检修记录表子窗体.Form.Requery
End Sub
加油记录子窗体代码:
Private Sub Form_Current()
If windows1_click_flag1 = True Then
windows1_click_flag1 = False
DoCmd.GoToRecord , , acLast
End If
End Sub
检修记录子窗体代码:
Private Sub Form_Current()
If windows1_click_flag2 = True Then
windows1_click_flag2 = False
DoCmd.GoToRecord , , acLast
End If
End Sub
上述代码倒不复杂,但是可读性比较差,如果不了解这几个窗体是怎么切来切去的,可能没法理解。
这并不是个好方法。
谁有什么高招吗?给我一点帮助好吗?
谢谢!!![attach]22282[/attach]
[此贴子已经被作者于2006-12-25 8:20:53编辑过]
作者:
newscatnewscat
时间:
2006-12-25 16:23
在此下载:
[attach]22282[/attach]
在通用模块中定义了两个逻辑变量:windows1_click_flag1,windows1_click_flag2 分别服务于两个子窗体的要求
父窗体的代码:
Private Sub Form_Current()
windows1_click_flag1 = True
windows1_click_flag2 = True
Me.加油记录表子窗体.Form.Requery
Me.检修记录表子窗体.Form.Requery
End Sub
加油记录子窗体代码:
Private Sub Form_Current()
If windows1_click_flag1 = True Then
windows1_click_flag1 = False
DoCmd.GoToRecord , , acLast
End If
End Sub
检修记录子窗体代码:
Private Sub Form_Current()
If windows1_click_flag2 = True Then
windows1_click_flag2 = False
DoCmd.GoToRecord , , acLast
End If
End Sub
上述代码倒不复杂,但是可读性比较差,如果不了解这几个窗体是怎么切来切去的,可能没法理解。
这并不是个好方法。
谁有什么高招吗?给我一点帮助好吗?
谢谢!!!
作者:
一点通
时间:
2006-12-25 16:50
版本高打不开,
用降序的方式排序子窗体的数据就不用这么复杂的语句了,最新数据永远在第一行
作者:
newscatnewscat
时间:
2006-12-25 17:13
以下是引用
一点通
在2006-12-25 8:50:00的发言:
版本高打不开,
用降序的方式排序子窗体的数据就不用这么复杂的语句了,最新数据永远在第一行
汗!偶真丢人,这么简单的方法没想到。谢过了!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3