这里有一个问题,一个窗体里面有很多个textbox,举个例子说吧,横向的是经度,纬度,x,y什么的
纵向的就是对应于经度,纬度的数个textbox(这里假设为十个)。我是这样做的,建立一个不可见的数组,用来存储一列中的十个textbox,然后用这个不可见的textbox数组和ADODC相连,也就是说把一列中的那些textbox保存在access中的一个字段里面,中间比如用#隔开,如果是空就用一个空格代替。保存了以后还要能够把这些数据从access里面取出来,等于是把access里面的一个字段分解开,然后显示在窗体里面。
请问这个该怎么变成实现啊?

解决方案 »

  1.   

    最好能写出代码来,我知道可以用join和split函数,但是写出来总是出错,希望高手能给出解答,谢谢
      

  2.   

    for i=0 to text1.count - 1  strtmp = strtmp & iif(len(trim(text1(i))),trim(text1(i))," ")
      if i<text1.count - 1 then strtmp = strtmp & "#"next i拆开时用 split 函数。
    strArr = split(strtmp,"#")
      

  3.   

    谢谢of123()
    My code is as follows:Public Function Array_Split()Dim i As Integer
    Dim j As Integer
    Dim MyArray() As StringFor j = 0 To 10
    ReDim MyArray(10)
    MyArray = Split(frm_mm.txtarray(j), "#", -1, vbTextCompare)
     For i = 0 To 9
      frm_mm.txtfield.Item(10 * j + i).Text = MyArray(i)
      'MsgBox MyArray(i)
     Next i
    Next j
    datPrimaryRS.Refresh
    frm_mm.RefreshEnd Function这里txtarray()是指上文中提高的不可见数组,txtfield()是指之际可见的显示数据的数组。
    我用MsgBox MyArray(i)来显示数据,报错,有时候还说数组越界,改了很多也报了很多不同的错误,就是不知道怎么才是正确的。
    注:保存的时候是用了循环,好像是没错
    For i = 0 To 10
     For k = 0 To 9
       If txtfield.Item(i * 10 + k).Text <> "" Then
       txtarray(i).Text = txtarray(i).Text & txtfield.Item(i * 10 + k).Text
       txtarray(i).Text = txtarray(i).Text & "#"
      Else
       txtarray(i).Text = txtarray(i).Text & " "
       txtarray(i).Text = txtarray(i).Text & "#"
      End If
    Next k
    Next i我自己感觉好像就是split那边有点问题