|
本帖最后由 sagemeyou 于 2009-10-11 08:16 编辑
Private Sub acct_1st_DblClick(cancel As Integer)
Dim seq_q As Long, no As Long, recno As Long
DoCmd.SetWarnings False
seq_q = DLookup("seq", "gld_460_1st_sum", "acct_1st='" & acct_1st & "'")
recno = DCount("*", "gld_460_1st_sum1", "seq_no<=" & seq_no & "")
If seq_q = 1 Then
no = DCount("*", "gld_460_1st_sum1", "acct_no='" & acct_1st & "'")
If no = 1 Then
DoCmd.RunSQL " insert into gld_460_1st_sum1 select * from gld_460_1st_sum where acct_no='" & Me.acct_1st & "' and seq=2 "
Else
DoCmd.RunSQL "delete from gld_460_1st_sum1 where seq>1 and acct_no='" & Me.acct_1st & " '"
End If
ElseIf seq_q = 2 Then
no = DCount("*", "gld_460_1st_sum1", "acct_no='" & Mid(acct_1st, 3, Len(acct_1st) - 2) & "'")
If no = 0 Then
DoCmd.RunSQL " insert into gld_460_1st_sum1 select * from gld_460_1st_sum where acct_no='" & Mid(Me.acct_1st, 3, Len(Me.acct_1st) - 2) & "' and seq=3 "
Else
DoCmd.RunSQL "delete from gld_460_1st_sum1 where acct_no='" & Mid(Me.acct_1st, 3, Len(Me.acct_1st) - 2) & "'"
End If
End If
Me.Form.Requery
'Me.Form.RecordSource = "select * from gld_460_1st_sum1 order by seq_no"
'If recno > 0 And recno <= reccnt Then
'recno = recno + no1
DoCmd.GoToRecord , , acGoTo, recno
'End If
End Sub
说明:在窗体gld460s 中控件acct_1st 双击事件自动展开明细数据,Me.Form.Requery 后 指定到记录 DoCmd.GoToRecord , , acGoTo, recno 指针显示在窗体最下端 而不是原来的位置。
如何实现选定的记录在展开前记录的位置并且还是原来的记录?就是位置不变
源文件 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|