Foxtable(狐表)用户栏目专家坐堂 → [求助]字符串拆分及赋值问题。


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

主题:[求助]字符串拆分及赋值问题。

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7529 威望:0 精华:0 注册:2010/4/12 12:23:00
[求助]字符串拆分及赋值问题。  发帖心情 Post By:2013/12/24 15:48:00 [只看该作者]

已经求助了多次,还是无法解决。
思路:1. 根据“开始时间”、“截止时间”、“患者种类”及“统计项目”的选择,点击“添加或确定统计条件”赋值给多行文本框“textbox2”,可以多选。为了使用者更好的理解统计条件,每条统计条件间使用两个“vbcrlf”分开;“开始时间”、“截止时间”、“患者种类”及“统计项目”间用“;”分开;而每个条件及值之间用“:”隔开;(已经实现)
2. 将多行文本框“textbox2”中的内容按“vbcrlf”、“;”及“:”进行拆分,将每条统计条件分别赋值给“开始时间”、“截止时间”、“患者种类”及“统计项目”。(已经实现)
3. 对每条统计条件的“开始时间”、“截止时间”、“患者种类”及“统计项目”的值进行判断,生成sql,完成分组统计(这一步有问题,sql无内容)
4.每条统计条件进行的分组统计的结果进行合并,赋值给“统计图形”窗口中的“table1”(这一步的代码也有问题)。
5.根据table1中的数据进行图形显示(还在设计中)

帮我看看,我实在搞不懂了。谢谢各位大侠,特别是bin和lsy。

例子如下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目.table

[此贴子已经被作者于2013-12-24 16:00:27编辑过]

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


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

拆分后,如果其值为“无”,能不能这样赋值d1=""。这儿老是走不通。代码如下:
 If s(j).contains("开始时间") Then
                    Dim ss() As String=s(j).Split(";")
                    For Each s1 As String In ss
                        If s1.split(":")(1)="无" Then
                            d1=""
                        Else If  s1.split(":")(1)<>"无" Then
                            d1=s1.split(":")(1)
                        End If
                    Next
                End If

问题呀问题!!

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


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

赋值为空是可以的啊

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


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

但是老是等不到我要的结果。如果是“无”,d1="",如果不是“无”,d1的值就是拆分后的字段,这里就是走不通。还有例子中得不到sql的字段。显示为空。就上面的那个例子。

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


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

脑壳都搞大了。哎!

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


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

你2楼的代码是正确的,你例子那一部分出现问题? 

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


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

3. 对每条统计条件的“开始时间”、“截止时间”、“患者种类”及“统计项目”的值进行判断,生成sql,完成分组统计(这一步有问题,sql无内容)
4.每条统计条件进行的分组统计的结果进行合并,赋值给“统计图形”窗口中的“table1”(这一步的代码也有问题)。
5.根据table1中的数据进行图形显示(还在设计中)

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


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

根据2楼代码,如果datatimepaker1为空,即textbox2中的相对应的值为“无”,但显示的d1还是“无”,而不是“”。

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


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

不应该啊,除非你包含了空格,这样的话你把= 改为Contains 吧

If s(j).contains("开始时间") Then
                    Dim ss() As String=s(j).Split(";")
                    For Each s1 As String In ss
                        If s1.Contains("无") Then
                            d1=""
                        Else If  s1.split(":")(1)<>"无" Then
                            d1=s1.split(":")(1)
                        End If
                    Next
                End If



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


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

确实是这个问题,有空格。但得到的sql仍是空。



 回到顶部
总数 18 1 2 下一页