以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  从列表项目中分离字符,split如何应用?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=11537)

--  作者:yanzhen2010
--  发布时间:2011/8/1 21:24:00
--  从列表项目中分离字符,split如何应用?
这是帮助说明中的例子:

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编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/8/1 21:33:00
--  

简单的:


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


--  作者:yanzhen2010
--  发布时间:2011/8/1 21:59:00
--  

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

 


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

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

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

如图:


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

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

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

--  作者:狐狸爸爸
--  发布时间:2011/8/1 22:31:00
--  

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


--  作者:e-png
--  发布时间: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
--  发布时间:2011/8/2 0:24:00
--  
朋友说的很正确,就是要去掉 “FYR:冯芸荣:804” 中的“FYR:冯芸荣:”,使【住院号】列保留“804”
--  作者:yanzhen2010
--  发布时间:2011/8/2 0:26:00
--  
服务器或是网络原因,文件暂时传不上来
--  作者:yanzhen2010
--  发布时间:2011/8/2 8:14:00
--  

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

 

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


--  作者:狐狸爸爸
--  发布时间: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
--  发布时间:2011/8/2 9:02:00
--  
老总速度真快,衷心谢谢指导