Foxtable(狐表)用户栏目专家坐堂 → 条件刷卡


  共有10309人关注过本帖树形打印复制链接

主题:条件刷卡

帅哥哟,离线,有人找我吗?
youyuweinihao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:219 积分:1890 威望:0 精华:0 注册:2011/6/10 9:12:00
条件刷卡  发帖心情 Post By:2011/8/10 15:01:00 [只看该作者]

求助ValueChanged代码如何写

需求如下:以下是对照我上传的表附件来说明需求的

在“客户信息”表的窗口---"会员消费"中的---与会员卡号对应的“TextBox1”控件ValueChanged代码如何写

 

TextBox1中刷卡,先检索表“客户信息”中是否存在此会员卡号,如果存在,再在表“服务包明细”检索此会员是否拥有与ComboBox5中值相同的“服务名称”,并且会员拥有此服务名称的“拥有次数”>0.都符合则执行:表“服务包明细”会增加一行。

 

其中1. “客户信息”与“服务包明细”时通过“客户ID”简历关联的

      2.“会员卡号”字段仅存在于表“客户信息”中

      3.“拥有次数”、“服务名称”都是表“服务包明细”中的字段


 回到顶部
帅哥哟,离线,有人找我吗?
youyuweinihao
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:219 积分:1890 威望:0 精华:0 注册:2011/6/10 9:12:00
  发帖心情 Post By:2011/8/10 15:02:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹.rar


 回到顶部
帅哥哟,离线,有人找我吗?
youyuweinihao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:219 积分:1890 威望:0 精华:0 注册:2011/6/10 9:12:00
  发帖心情 Post By:2011/8/10 15:03:00 [只看该作者]

我弄了两天了,请求帮忙

谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:219 积分:1890 威望:0 精华:0 注册:2011/6/10 9:12:00
  发帖心情 Post By:2011/8/10 21:21:00 [只看该作者]

还是上午的问题结合附件,Textbox1的CURRENTCHANGED时间代码如下:                                                                                                       出现BUG:如果有一次刷卡会员卡号符合条件“Drw = DataTables("服务包明细").AddNew()”得到执行,那么后面接着刷卡即使卡号不符合dr2条件AddNew还是同样执行。怎么处理???

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
       Dim drw As DataRow
              Drw = DataTables("服务包明细").AddNew()

          Else MessageBox.Show("请购买该服务!", "提示")

             
    End If
    Else MessageBox.Show("请先购买会员卡!", "提示")
End If
e.Form.Controls("TextBox1").value = Nothing
e.Form.Controls("textbox1").Select()


 回到顶部