Foxtable(狐表)用户栏目专家坐堂 → [求助]如何将字符串转换为查询条件


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

主题:[求助]如何将字符串转换为查询条件

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
[求助]如何将字符串转换为查询条件  发帖心情 Post By:2013/12/18 18:35:00 [只看该作者]

如截图:

图片点击可在新窗口打开查看此主题相关图片如下:360软件小助手截图20131218143417.jpg
图片点击可在新窗口打开查看

通过按钮“添加或确定统计条件”的click事件赋值给:textbox2,让使用者明白具体的统计条件。其具体的代码是:

Dim sql As String
If e.form.controls("Cmb_tongji").value="" Then
    MessageBox.Show("统计项目不能为空,请重新确认统计目录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning)
    Return
Else
    If e.Form.Controls("Rdo_dengji").checked=False Then
        sql ="登记时间: 否;"
    Else
        sql="登记时间:是;"
    End If
    If e.Form.controls("Rdo_ruyuan").checked=False Then
        If  sql > "" Then
            sql=sql & "入院时间:否;"
        End If
    Else
        If  sql > "" Then
            sql=sql & "入院时间:是;"
        End If
    End If
    With e.Form.Controls("DateTimePicker1")
        If .Value Is Nothing Then
            If sql > "" Then
                sql = sql & "开始时间: 无;"
            End If
        Else
            If sql > "" Then
                sql = sql & "开始时间: " & .value & ";"
            End If
        End If
    End With
    With e.Form.Controls("DateTimePicker2")
        If .Value Is Nothing Then
            If sql > "" Then
                sql = sql & "截止时间: 无;"
            End If
        Else
            If sql > "" Then
                sql = sql & "截止时间: " & .value & ";"
            End If
        End If
    End With
    With e.Form.Controls("Cmb_kind")
        If .Value Is Nothing Then
            If sql > "" Then
                sql = sql & "患者种类: 无;"
            End If
        Else
            If sql > "" Then
                sql = sql & "患者种类: " & .value & ";"
            End If
        End If
    End With
    With e.Form.Controls("Cmb_tongji")
        If .Value IsNot Nothing Then
            If sql > "" Then
                sql = sql & "统计项目: " & .value & "."
            End If
        End If
    End With
End If
If e.form.controls("TextBox2").text="" Then
    e.form.controls("TextBox2").text=sql
Else
    e.form.controls("TextBox2").text=e.form.controls("TextBox2").text & vbcrlf & vbcrlf & sql
End If
e.form.controls("DateTimePicker1") .Enabled= False
e.form.controls("DateTimePicker2").Enabled=False
e.Form.Controls("Cmb_tongji").Enabled=False

现在的问题是如何将textbox2中的字符串通过split 分离后,赋值给按钮“统计”的click事件,完成统计。有没有类似val(a,b,c)类的用法。谢谢!
[此贴子已经被作者于2013-12-18 18:35:55编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2013/12/18 23:35:00 [只看该作者]

条件一般是这样合成的:

 

http://www.foxtable.com/help/topics/1058.htm

 


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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2013/12/18 23:46:00 [只看该作者]

看来您并没有理解我的意思,textbox2的字符串就是这样来的。现在是想把textbox2中的字符串按换行符,分号,冒号的方式分别进行拆分,形成sql语句,进行分组统计。

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


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2013/12/19 7:58:00 [只看该作者]

你怎么合并就怎么拆啊。

 

先按分号拆成数组

 

再遍历数组拆冒号

 

整理后赋值给字典 传递引用(用字典是怕条件有缺失,造成错误)

[此贴子已经被作者于2013-12-19 8:00:09编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2013/12/19 8:48:00 [只看该作者]

好的。我用字典试试。谢谢!

 回到顶部