Foxtable(狐表)用户栏目专家坐堂 → 从列表项目中分离字符,split如何应用?


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

主题:从列表项目中分离字符,split如何应用?

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
从列表项目中分离字符,split如何应用?  发帖心情 Post By:2011/8/1 21:24:00 [只看该作者]

这是帮助说明中的例子:

Dim Multi As String = "ab|cd|ef"
Dim
Values() as String
Values
= Multi.split("|")
For
Index As Integer = 0 To Values.Length - 1
    Output.Show(Values(Index
))
Next

 

但实际应用中需要能直接提取,像易表那样:split("ab|cd|ef","|",3);

或者是简单一些。

如果是在窗口列表项目选择某一条后如何分离?

 


此主题相关图片如下:未命名2.jpg
按此在新窗口浏览图片
如选择第一条后,分离出后面的数字样字串符:765

 

我需要的结果并不是简单的分离出来,而是要嵌套到下面的代码中:

If e.form.Controls("ComboBox1").Value Is Nothing Then
    MsgBox("请选择患者住院号!",64,"提示")
ElseIf   e.form.Controls("DateTimePicker1").Value Is Nothing Then
    Dim r As Row = CurrentTable.AddNew
    r("住院号") =Forms("长期医嘱").Controls("ComboBox1").value
    r("开嘱日期") =Date.Today
    r("医生") =Forms("长期医嘱").Controls("ComboBox5").value
Else
    Dim r As Row = CurrentTable.AddNew
    r("住院号") =Forms("长期医嘱").Controls("ComboBox1").value
    r("开嘱日期") =Forms("长期医嘱").Controls("DateTimePicker1").value
    r("医生") =Forms("长期医嘱").Controls("ComboBox5").value
End If

 

将 r("住院号") =Forms("长期医嘱").Controls("ComboBox1").value中的Forms("长期医嘱").Controls("ComboBox1")”分离

[此贴子已经被作者于2011-8-1 21:34:39编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/1 21:33:00 [只看该作者]

简单的:


Dm s as string = "ab|cd|ef".Split("|")(2)


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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/1 21:59:00 [只看该作者]

老总回复的真快,但我不是这样简单提取分离,而是从列表项目中分离,如下

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名2.jpg
图片点击可在新窗口打开查看

一中情况:在窗口按钮代码中直接分离并填入数据表“住院号”列;

或者:在数据表表属性:datecolchanged事件中加入代码,从“住院号”列分离出住院号。

如图:


图片点击可在新窗口打开查看此主题相关图片如下:未命名4.jpg
图片点击可在新窗口打开查看

住院号列每个单元格后的数字为住院号,分离后不再有拼音码和姓名

[此贴子已经被作者于2011-8-1 22:00:28编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/1 22:31:00 [只看该作者]

看不懂你的问题,做个简单的表上来,输入数据,具体说明问题。


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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2011/8/1 23:26:00 [只看该作者]

以下是引用yanzhen2010在2011-8-1 21:59:00的发言:

老总回复的真快,但我不是这样简单提取分离,而是从列表项目中分离,如下

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名2.jpg
图片点击可在新窗口打开查看

一中情况:在窗口按钮代码中直接分离并填入数据表“住院号”列;

或者:在数据表表属性:datecolchanged事件中加入代码,从“住院号”列分离出住院号。

如图:


图片点击可在新窗口打开查看此主题相关图片如下:未命名4.jpg
图片点击可在新窗口打开查看

住院号列每个单元格后的数字为住院号,分离后不再有拼音码和姓名

[此贴子已经被作者于2011-8-1 22:00:28编辑过]

你是要去掉 “FYR:冯芸荣:804” 中的“FYR:冯芸荣:”,使【住院号】列保留“804” 对吗?

[此贴子已经被作者于2011-8-1 23:26:18编辑过]

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/2 0:24:00 [只看该作者]

朋友说的很正确,就是要去掉 “FYR:冯芸荣:804” 中的“FYR:冯芸荣:”,使【住院号】列保留“804”

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/2 0:26:00 [只看该作者]

服务器或是网络原因,文件暂时传不上来

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/2 8:14:00 [只看该作者]

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

 

这是上传的文件,问题在长期医嘱表录入窗口


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/2 8:20:00 [只看该作者]

If e.form.Controls("ComboBox1").Value Is Nothing Then
    MsgBox("请选择患者住院号!",64,"提示")
ElseIf   e.form.Controls("DateTimePicker1").Value Is Nothing Then
    Dim r As Row = CurrentTable.AddNew
    r("住院号") =Forms("长期医嘱").Controls("ComboBox1").value.split(":")(2)
    r("开嘱日期") =Date.Today
    r("医生") =Forms("长期医嘱").Controls("ComboBox5").value
Else
    Dim r As Row = CurrentTable.AddNew
    r("住院号") =Forms("长期医嘱").Controls("ComboBox1").value.split(":")(2)
    r("开嘱日期") =Forms("长期医嘱").Controls("DateTimePicker1").value
    r("医生") =Forms("长期医嘱").Controls("ComboBox5").value
End If

 

 

另外建议代码中少用Forms("表名"),用e.form,原因参考:

 

http://www.foxtable.net/help/topics/1854.htm

 


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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/2 9:02:00 [只看该作者]

老总速度真快,衷心谢谢指导

 回到顶部