Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
yanzhen2010 发表于: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楼
狐狸爸爸 发表于:2011/8/1 21:33:00

简单的:


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

3楼
yanzhen2010 发表于:2011/8/1 21:59:00

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

 


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

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

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

如图:


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

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

[此贴子已经被作者于2011-8-1 22:00:28编辑过]
4楼
狐狸爸爸 发表于:2011/8/1 22:31:00

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

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

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

 

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

9楼
狐狸爸爸 发表于: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

 

10楼
yanzhen2010 发表于:2011/8/2 9:02:00
老总速度真快,衷心谢谢指导
共10 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03711 s, 3 queries.