Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

分割后的字符如何保存?

hjs  发表于:2010-12-13 12:45:16  
复制

找到分割字符的答案:

 

'分割字符串
'call fgzf(me!-)


 

Sub fgzf(strcode As String)
Dim i As Integer
For i = 0 To UBound(Split(strcode, "-", -1), 1)
Me("yw" & Format(i, "00")) = Split(strcode, "-", -1)(i)
Next i
End Sub

 

新问题:现在只能依序显示在窗体上,如何把记录保存在其他变量下?

如:男-黄劲松-19770809

xb=男

xm=黄劲松

csrq=19770809

 

最后进行保存在表中

……

 

谢谢!

 

http://www.accessoft.com/bbs/showtopic.asp?id=10910 求助的帖子


 

Top
煮江品茶 发表于:2010-12-13 13:03:53

用函数返回一个数组即可:

 

Function fgzf(strcode As String) As Variant
Dim i As Integer
Dim A
For i = 0 To UBound(Split(strcode, "-", -1), 1)
   A(i) = Split(strcode, "-", -1)(i)
Next i

fgzf=A
End Fuction



hjs 发表于:2010-12-13 13:37:31
不正确,请老师看看!

hjs 发表于:2010-12-13 13:38:23
煮江品茶 发表于:2010-12-13 13:40:16

请参见《倒腾》一文。

 



煮江品茶 发表于:2010-12-13 13:56:07

以你的实例,可以这样搞法:

 

Private Sub Command16_Click()
Dim A
Dim i As Long
Dim ctls As Controls
Set ctls = Me.Controls
A = Split(Me!T, "|")
For i = 0 To UBound(A, 1)
    ctls("yw" & i).Value = A(i)
Next
End Sub

 

Private Sub Form_Open(Cancel As Integer)
Me!T = "11|101|21|31|41|51|61|71|81"
End Sub



hjs 发表于:2010-12-13 14:02:31

Dim y0 As String, y1 As String, y2 As String, y3 As String, y4 As String, y5 As String, y6 As String

Private Sub Command16_Click()

fgzf (Me!T)
Me!yw0 = y0
Me!yw1 = y1
Me!yw2 = y2
Me!yw3 = y3
Me!yw4 = y4
Me!yw5 = y5
Me!yw6 = y6
Me!yw7 = y7


End Sub

 

Private Sub Form_Open(Cancel As Integer)
Me!T = "11|101|21|31|41|51|61|71|81"
End Sub

 

'分割字符串
'call fgzf(me!)
Function fgzf(strcode As String) As Variant
Dim i As Long
Dim a
a = Split(strcode, "|", -1)
y0 = a(0)
y1 = a(1)
y2 = a(2)
y3 = a(3)
y4 = a(4)
y5 = a(5)
y6 = a(6)
End Function

 

我的搞法,谢谢!



总记录:6篇  页次:1/1 9 1 :