Rss & SiteMap

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

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

标题:[求助]事件代码

1楼
红叶 发表于:2010/9/20 11:10:00

"订单表"和"订单明细"通过"订单编号"建立关联,"订单表"设有一个"录入窗口".

"订单表"中有一列"单号",列属性的"禁止重复"设为"TRUE",在主表中如果输入重复的单号,会生效,有重复的提.

"订单表"的"录入窗口"中有一个TEXTBOX已邦定要主表的单号列,问题是在这个文本框中输入重复的单号,却禁止重复不生效,请问是为什么?是不是在此文本框中需要另设事件代码?那代码又为何写呢和写在哪个事件中呢?

 

还是就是在"订单表"中有一列为合计数量(数据列,非表达式列),目的是统计"订单明细"中相应的明细数据数量的合计数,代码应该怎样写?应在哪能个事件中写?

2楼
mr725 发表于:2010/9/20 11:44:00

1、暂时这样处理,文本框的TextChanged的事件:(如果狐爸能在系统中解决更好)

 

Dim tx As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim dr As DataRow
dr = DataTables("订单").Find("公司名称 = '" & tx.text & "'")
If dr isnot Nothing
    messagebox.show("有重复的值,请更正!","提示")
    e.cancel =  True
End If

 

2、合计:参见帮助文件 Sum 吧,很简单的。

3楼
红叶 发表于:2010/9/20 12:33:00

这样还是不行,比如原来"单号"有123,要在窗口中输入单号为1234时,当输入到123的时候就提示"有重复的值,请更正!",且123值还是被写到主表的"单号"列了,没起到禁止重复的目的,还有就是在单号不重复的情况下,在窗口按钮上一行,下一行时,同样会提示"有重复的值,请更正!",且每行都提示.

4楼
mr725 发表于:2010/9/20 13:25:00

那就这样:  放在leave事件中

Dim tx As WinForm.TextBox = Forms("窗口1").Controls("TextBox1")
Dim dr As DataRow
dr = DataTables("订单").Find("公司名称 = '" & tx.text & "'")
If dr isnot Nothing
    If dr("公司名称") = "" & tx.text & ""
        messagebox.show("有重复的值,请更正!","提示")
        tx.value =""
        Forms("窗口1").Controls("TextBox1").Select()
    End If
Else
    Tables("订单").current("公司名称")  = Forms("窗口1").Controls("TextBox1").text   
End If

 

要取消绑定·······

 

 

[此贴子已经被作者于2010-9-20 13:58:50编辑过]
5楼
红叶 发表于:2010/9/20 15:26:00
按你所说的取消邦定就不能读取订单表的单号值了,使得文件框永远都是空白
6楼
mr725 发表于:2010/9/20 15:49:00
不是有个初始值嘛?  enter、 leave 、mousemove 等N个事件中都可以设置代码给他赋值呀。。。。想叫它非空白那也难?
共6 条记录, 每页显示 10 条, 页签: [1]

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

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