为车间做了一个数据库来管理全厂的电机,已经接近完工了。
现在情形是:数据库中,当主窗体选择数据时,即选择电机时,子窗体每个电机的加油记录会联动显示。想要实现:子窗体联动于主窗体后,即能自动将焦点对准加油记录的末记录,因为维护人员最关心最后一次加油记录的情况。
另外,电机主窗体还有一个名为“电机检修记录”的子窗体与上面情况一样。
我勉强实现了上述的功能,但感觉是用了非常规手段,而且切换数据时,窗体闪跳,并且数据显现得也有点慢,感觉是效率不高。
我实现的方法是这样的:
在通用模块中定义了两个逻辑变量: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 8:20:53编辑过]
|