Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Access数据库将文本排序为列_Excel_Database_Ms Access_Logic - Fatal编程技术网

Excel Access数据库将文本排序为列

Excel Access数据库将文本排序为列,excel,database,ms-access,logic,Excel,Database,Ms Access,Logic,我有一个文本,例如: fp(638,17:57,hh,ab). fp(638,19:47,ms,an). fp(638,19:49,ms,ab). 我想在访问列中对括号中的每个部分进行排序,用逗号分隔。 有没有一个简单的方法可以做到这一点。 结果应该像这个问题的结尾 谢谢你的努力。 假设数据已经在一个表中的一列中访问,您可以使用一些字符串操作函数将数据拆分为另一个表中的列。比如: Sub sSplitData() On Error GoTo E_Handle Dim db A

我有一个文本,例如:

fp(638,17:57,hh,ab).
fp(638,19:47,ms,an).
fp(638,19:49,ms,ab).

我想在访问列中对括号中的每个部分进行排序,用逗号分隔。 有没有一个简单的方法可以做到这一点。 结果应该像这个问题的结尾

谢谢你的努力。

假设数据已经在一个表中的一列中访问,您可以使用一些字符串操作函数将数据拆分为另一个表中的列。比如:

Sub sSplitData()
    On Error GoTo E_Handle
    Dim db As DAO.Database
    Dim rsIn As DAO.Recordset
    Dim rsOut As DAO.Recordset
    Dim strData As String
    Dim astrData() As String
    Set db = CurrentDb
    Set rsIn = db.OpenRecordset("SELECT DataIn FROM tblDataIn;")
    If Not (rsIn.BOF And rsIn.EOF) Then
        Set rsOut = db.OpenRecordset("SELECT * FROM tblDataOut WHERE 1=2;")    '    open a recordset that has no records selected for speed
        Do
            strData = rsIn!DataIn
            strData = Mid(strData, 4)   ' get rid of the "fp(" at the start
            strData = Left(strData, Len(strData) - 2)   '   get rid of the ")." at the end
            astrData = Split(strData, ",")  '   split the data based on commas
            With rsOut
                .AddNew
                ![Zug Nr] = astrData(0)
                !Zeit = astrData(1)
                !Stadt = astrData(2)
                ![AB/AN] = astrData(3)
                .Update
            End With
            rsIn.MoveNext
        Loop Until rsIn.EOF
    End If
sExit:
    On Error Resume Next
    rsIn.Close
    rsOut.Close
    Set rsIn = Nothing
    Set rsOut = Nothing
    Set db = Nothing
    Exit Sub
E_Handle:
    MsgBox Err.Description & vbCrLf & vbCrLf & "sSplitData", vbOKOnly + vbCritical, "Error: " & Err.Number
    Resume sExit
End Sub

关于,

使用公式,可以附加目标字符串。类似于
=MID(A1;4;15)的东西应该可以工作。然后文本到列可能也很有用。谢谢你的回答!如果你能给我更多关于你答案的深入信息,我将不胜感激。我对这方面还不太熟悉。问候:)