Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]怎样控制输入重复数据

1楼
sohper 发表于:2009/6/20 19:09:00

使用窗口录入,窗口中一个TextBox控件, 在TextBox的ValueChanged 事件中,控制重复的输入,

假如,在表中有一个客户编号列,已有一条记录Cs01 如果在TextBox控制中输入Cs01,发生ValueChanged事件后,会提示客户记录已存在!

2楼
yangming 发表于:2009/6/20 23:55:00
Dim dr As DataRow
With e.Form.Controls("TextBox1")
dr = DataTables("表A").Find("客户= '" & .Value & "'")
If dr IsNot Nothing Then '如果找到的话
  MessageBox.Show("客户记录已存在!", "提示")
 End If
End With
3楼
yangming 发表于:2009/6/21 0:04:00
看看这个:
Dim dr As DataRow
Dim r As Row = CurrentTable.Rows(CurrentTable.Rows.Count-1)
With e.Form.Controls("TextBox1")
dr = DataTables("表A").Find("客户= '" & .Value & "'")
If dr IsNot Nothing Then '如果找到的话
  MessageBox.Show("客户记录已存在!", "提示")
 r("客户") = ""
 End If
End With
4楼
sohper 发表于:2009/6/21 8:04:00
多谢Yang版,有这个语句控制会有问题 ,这是我用的语句

Dim Txtb As WinForm.TextBox = e.Sender
Dim Index As Integer
Index = Tables("客户信息表").FindRow("[客户编号]= '" & Txtb.Value & "'",0,True)
If Index >=0
    MessageBox.Show("该客户编号已存在!","警告")
    Txtb.Value = Nothing
    Txtb.Select()
    Return
End If

遇到一个问题, 在建立的一个编辑窗口中,假设原来有一条记录,客户编号为3,现改为我,再点取消,就会弹出  "客户编号已存在!"的警告.
这个控制不像在易表中,这个FindRow不像易表中的可以找第几行记录,

如何改成 FindRow("[客户编号]= '" & Txtb.Value & "'",1,True) 的话,有输入第2个相同的客户编号时也不会弹出 窗口
5楼
yangming 发表于:2009/6/21 9:19:00

上传你的文件看看吧,从你的代码看,你需要的是查到相同编号后就将光标定位到文本框中,并不是到找到的那一行啊

6楼
sohper 发表于:2009/6/21 16:07:00
是的,我的代码是,当前行绑定的TextBox中输入一个客户编号,如果这个客户编号已经存在,就把这个TextBox清空,然后把光标定位到这个TextBox
7楼
狐狸爸爸 发表于:2009/6/21 16:12:00

列属性不是由禁止输入重复内容的设置吗?

8楼
sohper 发表于:2009/6/21 16:16:00
是的,可没有提示,呵呵!
共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.