Foxtable(狐表)用户栏目专家坐堂 → [求助]请教一个Select Case的问题?


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

主题:[求助]请教一个Select Case的问题?

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


加好友 发短信
等级:幼狐 帖子:148 积分:1036 威望:0 精华:0 注册:2012/11/26 13:05:00
[求助]请教一个Select Case的问题?  发帖心情 Post By:2012/12/23 12:44:00 [只看该作者]

要为一张表的有关列的值设置默认值,这些默认值过一段时间后,可能会有所变化,所以想通过代码进行修改:
If  e.Form.Controls("TextBox1").value Is Nothing Then
Else
DataTables("表1").DataCols("列1").DefaultValue = """"& e.Form.controls("textbox1").value &""""
End If
If  e.Form.Controls("TextBox2").value Is Nothing Then
Else
DataTables("表1").DataCols("列2").DefaultValue = """"& e.Form.controls("textbox2").value &""""
End If
If  e.Form.Controls("TextBox3").value Is Nothing Then
Else
DataTables("表1").DataCols("列3").DefaultValue = """"& e.Form.controls("textbox3").value &""""
End If
……
还有很多这样的列,用IF语句可以实现。我想用Select Case实现,请教狐表高手应该怎么写?谢谢!

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


加好友 发短信
等级:幼狐 帖子:148 积分:1036 威望:0 精华:0 注册:2012/11/26 13:05:00
  发帖心情 Post By:2012/12/23 13:14:00 [只看该作者]

顶一下,有高手在线吗?林总、狐爸……在线吗?

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


加好友 发短信
等级:四尾狐 帖子:953 积分:7252 威望:0 精华:0 注册:2011/9/6 13:36:00
  发帖心情 Post By:2012/12/23 13:32:00 [只看该作者]

你这个情况,变量都不同,就用IF语句吧,用Select反而臃肿


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


加好友 发短信
等级:幼狐 帖子:148 积分:1036 威望:0 精华:0 注册:2012/11/26 13:05:00
  发帖心情 Post By:2012/12/23 13:39:00 [只看该作者]

以下是引用yinyb36在2012-12-23 13:32:00的发言:

你这个情况,变量都不同,就用IF语句吧,用Select反而臃肿


哦,好的,我以为用select case可以精简点的。谢谢!


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


加好友 发短信
等级:四尾狐 帖子:953 积分:7252 威望:0 精华:0 注册:2011/9/6 13:36:00
  发帖心情 Post By:2012/12/23 14:03:00 [只看该作者]

在表事件中,如DataColchanged中:

If e.NewValue IsNot Nothing Then
    Dim nm As String = e.DataCol.Name
    Select nm
        Case "列1"
            代码1
        Case "列2"
            代码2
        Case "列3"
            代码3
            .
            .
            .
        Case Else
            代码X
    End Select
End If

这样也可


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


加好友 发短信
等级:幼狐 帖子:148 积分:1036 威望:0 精华:0 注册:2012/11/26 13:05:00
  发帖心情 Post By:2012/12/23 15:06:00 [只看该作者]

我是用窗口进行改写的,上楼的代码可行吗?

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


加好友 发短信
等级:四尾狐 帖子:953 积分:7252 威望:0 精华:0 注册:2011/9/6 13:36:00
  发帖心情 Post By:2012/12/23 18:53:00 [只看该作者]

前面加上:

If Forms("窗口1").opened Then

最后加上:

end if

可测试下


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/24 9:23:00 [只看该作者]

不建议写成 selec case 的形式

If  e.Form.Controls("TextBox1").value Isnot Nothing Then
DataTables("表1").DataCols("列1").DefaultValue = """"& e.Form.controls("textbox1").value &""""
End If

If  e.Form.Controls("TextBox2").value IsNot Nothing Then
DataTables("表1").DataCols("列2").DefaultValue = """"& e.Form.controls("textbox2").value &""""
End If

If  e.Form.Controls("TextBox3").value IsNot Nothing Then
DataTables("表1").DataCols("列3").DefaultValue = """"& e.Form.controls("textbox3").value &""""
End If

 回到顶部