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