以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 条件刷卡 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=11755) |
||||
-- 作者:youyuweinihao -- 发布时间:2011/8/10 15:01:00 -- 条件刷卡 求助ValueChanged代码如何写 需求如下:以下是对照我上传的表附件来说明需求的 在“客户信息”表的窗口---"会员消费"中的---与会员卡号对应的“TextBox1”控件ValueChanged代码如何写
在TextBox1中刷卡,先检索表“客户信息”中是否存在此会员卡号,如果存在,再在表“服务包明细”检索此会员是否拥有与ComboBox5中值相同的“服务名称”,并且会员拥有此服务名称的“拥有次数”>0.都符合则执行:表“服务包明细”会增加一行。
其中1. “客户信息”与“服务包明细”时通过“客户ID”简历关联的 2.“会员卡号”字段仅存在于表“客户信息”中 3.“拥有次数”、“服务名称”都是表“服务包明细”中的字段 |
||||
-- 作者:youyuweinihao -- 发布时间:2011/8/10 15:02:00 --
|
||||
-- 作者:youyuweinihao -- 发布时间:2011/8/10 15:03:00 -- 我弄了两天了,请求帮忙 谢谢 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/8/10 15:33:00 -- 1、既然这个TextBox1是用来刷卡输入客户编号的,然后根据这个编号找出客户信息,你就不能将其绑定到任何字段。 2、如果ComboBox5也是用来输入查询内容的,那么也不应该绑定到字段的。 2、然后设置TextBox1的ValueChanged设置代码: Dim v As String = e.sender.value Dim dr1 As DataRow = DataTables("客户信息").Find("会员卡号 = " & v) If dr1 IsNot Nothing Then v = e.Form.Controls("ComboBox5").Value Dim dr2 As DataRow = DataTables("服务包明细").Find("服务名称 = \'" & v & "\' And 拥有次数 > 0" ) If dr2 IsNot Nothing Then \'你的其他代码 End If End If [此贴子已经被作者于2011-8-10 15:33:40编辑过]
|
||||
-- 作者:youyuweinihao -- 发布时间:2011/8/10 21:21:00 -- 还是上午的问题结合附件,Textbox1的CURRENTCHANGED时间代码如下: 出现BUG:如果有一次刷卡会员卡号符合条件“Drw = DataTables("服务包明细").AddNew()”得到执行,那么后面接着刷卡即使卡号不符合dr2条件AddNew还是同样执行。怎么处理??? Dim v As String = e.sender.value Else MessageBox.Show("请购买该服务!", "提示") |