Foxtable(狐表)用户栏目专家坐堂 → 关于select case 的用法


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

主题:关于select case 的用法

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


加好友 发短信
等级:幼狐 帖子:195 积分:1523 威望:0 精华:0 注册:2014/7/9 16:27:00
关于select case 的用法  发帖心情 Post By:2015/1/21 11:02:00 [只看该作者]

我有下面一个窗口,当在不同的经手人时,分别调整相应的ID号,如:“支付记录_经手人1”  对应“支付记录_经1员工号”;
支付记录_经手人2”  对应“支付记录_经2员工号”。请教:如何使用case的功能,都调用这同一窗口?谢谢

Dim idh As WinForm.TextBox = e.Form.Controls("ID号")
Dim bgdh As WinForm.TextBox = e.Form.Controls("办公电话")
Dim dzyx As WinForm.TextBox = e.Form.Controls("电子邮箱")
Dim sj As WinForm.TextBox = e.Form.Controls("个人手机")
Dim sszb As WinForm.ComboBox = e.Form.Controls("所属组别")
Dim ryxz As WinForm.ComboBox = e.Form.Controls("人员性质")
Dim xh As WinForm.TextBox = e.Form.Controls("序号")

Tables("内部通讯录").Current("ID号")= idh.text
Tables("内部通讯录").Current("办公电话")= bgdh.text
Tables("内部通讯录").Current("电子邮箱")= dzyx.text
Tables("内部通讯录").Current("个人手机")= sj.text
Tables("内部通讯录").Current("所属组别")= sszb.text
Tables("内部通讯录").Current("人员性质")= ryxz.text
Tables("内部通讯录").Current("序号")= xh.text

Dim dr As DataRow
Dim name As String =Tables("设备经费管理").Current("支付记录_经手人1")
dr = DataTables("内部通讯录").Find("姓名 = '" & name & "'")
Tables("设备经费管理").Current("支付记录_经1员工号")= dr("ID号").tostring().substring(3,4)
MessageBox.Show("谢谢!")
Forms("内部通讯录扩充2").close

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/21 11:06:00 [只看该作者]

没怎么看懂.  支付记录_经手人1 不是列名么?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/21 11:07:00 [只看该作者]

  获取当前的列名

 

Dim cname As String = Tables("设备经费管理").cols(Tables("设备经费管理").ColSel).Name
msgbox(cname)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/21 11:09:00 [只看该作者]

 具体怎么调用的,请上传例子。

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


加好友 发短信
等级:幼狐 帖子:195 积分:1523 威望:0 精华:0 注册:2014/7/9 16:27:00
  发帖心情 Post By:2015/1/21 11:10:00 [只看该作者]

我在一个窗口中,对同一表中的三条支付记录(分三次支付的情况)同时管理,分别记录相关的信息,但功能是相同的。对第一次支付完成了代码。但对第二次支付时,可能人员会有变化,因此需要同样的功能再调研“通讯录更新”的功能。只是支付人员的字段不同。


图片点击可在新窗口打开查看此主题相关图片如下:case.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2015-1-21 11:21:02编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/21 11:12:00 [只看该作者]

以下是引用peterx在2015-1-21 11:10:00的发言:
我在一个窗口中,对同一表中的三条支付记录(分三次支付的情况)同时管理,分别记录相关的信息,但功能是相同的。对第一次支付完成了代码。但对第二次支付时,可能人员会有变化,因此需要同样的功能再调研“通讯录更新”的功能。只是支付人员的字段不同。

 

打开窗口之前,用一个变量记录对应的列名,比如 vars("列名") = 某列名

 

然后再窗口里面根据 vars("列名") 处理


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


加好友 发短信
等级:幼狐 帖子:195 积分:1523 威望:0 精华:0 注册:2014/7/9 16:27:00
  发帖心情 Post By:2015/1/21 11:29:00 [只看该作者]

谢谢。我现对这点还没弄明白,可否在代码上指导一下。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/21 11:33:00 [只看该作者]

 在查那里,赋值

 

vars("列名") = "第一列"

 

 然后再窗口那里判断

 

Select Case vars("列名")

    Case "第一列"

 

    Case "第二列"

 

End Select


 回到顶部