我有一串这样连续的字符串:
862085268148*801/传真/0.30/60/2007-10-18 9:46:29/传真发送成功/862085268148*801/传真/0.30/60/2007-10-18 9:46:29/传真发送成功/862085268148*801/传/0.30/60/2007-10-18 9:46:29/传真发送成功/我需要把它存进数据表。格式如下:
字段:AA                BB     CC    DD EE                  FF
      862085268148*801  传真   0.30  60 2007-10-18 9:46:29  传真发送成功
      862085268148*801  传真   0.30  60 2007-10-18 9:46:29  传真发送成功
      862085268148*801  传真   0.30  60 2007-10-18 9:46:29  传真发送成功 字符串是连续的。

解决方案 »

  1.   

    先由MID函数将类似"862085268148*801/传真/0.30/60/2007-10-18 9:46:29/传真发送成功/"从连续字符串中按等长字符子串切割出赋值给字符串数组,然后按如下思路用Split函数分割成你所需的字段值:
    Option Explicit
        Dim a As String
        Dim b() As String
        Dim i As Integer
    Private Sub Command1_Click()
        a = "862085268148*801/传真/0.30/60/2007-10-18 9:46:29/传真发送成功/"
        b() = Split(a, "/", -1)
        For i = 0 To 5
            Text1(i) = b(i)
        Next i
    End Sub
    最后把得到的数据存入数据库.
      

  2.   

    Option Explicit
        Dim a As String
        Dim b() As String
        Dim i As Integer
    Private Sub Command1_Click()
        a = "862085268148*801/传真/0.30/60/2007-10-18 9:46:29/传真发送成功/"
        b() = Split(a, "/", -1)
        For i = 0 To 5
            Text1(i) = b(i)
        Next i
    End Sub
    最后把得到的数据存入数据库. 
      

  3.   

    Dim strData As String, strTmp() As String, strSQL As String
    Dim i As Integer, j As Integer, n As IntegerstrData = "862085268148*801/传真/0.30/60/2007-10-18 9:46:29/传真发送成功/862085268148*801/传真/0.30/60/2007-10-18 9:46:29/传真发送成功/862085268148*801/传/0.30/60/2007-10-18 9:46:29/传真发送成功/ "
    strTmp = Split(strData, "/")n = UBound(strTmp)
    For i = 0 To n Step 6
        If i + 5 > n Then Exit Sub
        strSQL = "INSERT INTO table1(AA, BB, CC, DD, EE, FF) VALUEs('"
        For j = 0 To 5
            'Debug.Print strTmp(i + j),
            strSQL = strSQL & strTmp(i + j) & IIf(j = 2 Or j = 3, ",", IIf(j = 4, "#,", "',")) & IIf(j = 1 Or j = 2, "", IIf(j = 3, "#", "'"))
        Next j
        strSQL = Left(strSQL, Len(strSQL) - 3) & "')"
        'Debug.Print
        Debug.Print strSQL
    Next i
      

  4.   

    要活用 split 的 Limit 参数
    Option ExplicitSub Main()
        Dim s As String
        Dim a() As String
        s = "862085268148*801/传真/0.30/60/2007-10-18 9:46:29/传真发送成功/862085268148*801/传真/0.30/60/2007-10-18 9:46:29/传真发送成功/862085268148*801/传/0.30/60/2007-10-18 9:46:29/传真发送成功/"
        While LenB(s)
            a = Split(s, "/", 7)
            Debug.Print a(0), a(1), a(2), a(3), a(4), a(5) '字段 AA 到 FF
            s = a(6)
        Wend
    End Sub
      

  5.   

    楼上的忽略了最基础的东西。代码状态下输入VBA.
    自动列表中还有很多好东西。
      

  6.   

    与同时代的编程语言相比,VB6 在字符串处理上一直很强大:
    ·支持 Ansi/Unicode 的处理;
    ·通过 Option Compare 指定大小写敏感性;
    ·内联的 Like 语句;
    ·Select Case 中支持字符串比较(前段时间用 C 编程时才发现只能用 if+strcomp 实现);
    ·Byte 数组和字符串可相互直接转换;
    ·……