Office中国论坛/Access中国论坛

标题: 重复输入后,光标如何跳到相应的单元 [打印本页]

作者: myj_163    时间: 2006-7-20 07:00
标题: 重复输入后,光标如何跳到相应的单元
Private Sub 公司代码_AfterUpdate()

Dim Msg,Msg2, Style, Response, Response2,MyString


If (Not IsNull(DLookup("ID", "临时表", "公司代码='" & Me.公司代码 & "'" & " and " & "日期=" & "#" & CDate(Me.日期) & "#"))) Then
      
      

Msg = "数据重复,是否继续输入?"    ' 定义信息。

Msg2="是否跳到该单元继续输入?
Style = vbYesNo + vbCritical + vbDefaultButton2    ' 定义按钮。

Response = MsgBox(Msg, Style)
If Response = vbYes Then    ' 用户按下“是”。
    MyString = "Yes"    ' 完成某操作。
Else    ' 用户按下“否”。
    MyString = "No"
    Response2= MsgBox(Msg2, Style)
    If Response2 = vbYes Then    ' 用户按下“是”。

' 请问这里需要把光标跳到重复的单元继续输入,请问什么写

     Else
    Me.Undo
    SendKeys "+{tab}"
     DoCmd.GoToRecord , , acNewRec '删除新的一行,对已有的不删除

   End If
  End If

End If

End Sub

例子:

临时表

  字段: id     日期        公司代码   其他

             1    2006-7-17   1223       aaa

             2   2006-7-17    1222        bbb

当输入   3   2006-7-17    1223  时, 公司代码 1223和id为1的公司代码相同、重复, 按提示  是否跳到该单元继续输入? 按是的时候,当前“指针”跳到id为1的 其他字段 中 且光标在aaa的后面  

希望能表达的清楚


作者: andymark    时间: 2006-7-20 07:15
不太明你的意思,用SetFocus 试试
作者: myj_163    时间: 2006-7-20 07:44
Me.其他.SetFocus ???

如果这样写的话,光标会跳到id为3的其他字段,但它不会跳到 id为1的其他字段啊

噢,忘了说是一个子窗体,

我要输入当天的数据,但当天的数据不希望重复,当我输入重复的时候,希望能按提示自动跳到以前输入的地方(也是当天的),接着输入其他字段的内容
作者: myj_163    时间: 2006-7-20 07:55
临时表

  字段: id     日期        公司代码   其他

             1    2006-7-17   1223       aaa

             2   2006-7-17    1222        bbb

如:现在我有另一张单 公司代码也是1223  但其他字段为ccc

此时我接着输入:

临时表



  字段: id     日期        公司代码   其他



             1    2006-7-17   1223       aaa



             2   2006-7-17    1222        bbb

             3   2006-7-17    1223

当我回车的时候 他会提示我输入重复的数据了,让我选择是否接着输入重复的单

通常就是否啦,接着提示我是否跳到该单元继续输入? 当然是拉

这样,就出现了我希望那个光标能跳到 aaa的后面,给我接着输入ccc

结果就是

字段: id     日期        公司代码   其他



             1    2006-7-17   1223       aaa/ccc



             2   2006-7-17    1222        bbb
作者: andymark    时间: 2006-7-20 07:57
最好把例子传上来
作者: myj_163    时间: 2006-7-20 08:50
例子已上传[attach]19134[/attach]

作者: myj_163    时间: 2006-7-21 04:52
ding
作者: myj_163    时间: 2006-7-25 01:11
晕死,上传了例子就没有回复了
作者: wuaza    时间: 2006-7-25 04:02
加上这么几句:

Recordset.FindFirst "公司代码='" & Me.公司代码 & "' and 日期=" & "#" & CDate(Me.日期) & "#"
发票.SetFocus
发票.SelStart = Len(发票)

作者: myj_163    时间: 2006-7-25 20:46
谢谢!
如果我还想在发票里添加一个斜杠符号(“/”)以示分隔,然后再输入呢。
又该如何写?




作者: xsbnxbq    时间: 2006-7-26 01:07
谢谢你的支持和帮助了
作者: wuaza    时间: 2006-7-26 01:10
Recordset.FindFirst "公司代码='" & Me.公司代码 & "' and 日期=" & "#" & CDate(Me.日期) & "#"
发票.SetFocus

发票.text=发票&"/"
发票.SelStart = Len(发票)





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3