小白求指点,vb导入access数据库后出现乱序怎么回事

    Set xlbook22 = xlapp22.Workbooks.Open(yuan_wenjian & jiancha_name_1 & "评估数据模板.XLSX")
    Set jianche_XlsSheet22 = xlbook22.Worksheets(1)
    jianche_MaxWidth = jianche_XlsSheet22.Range("IV" & 2).End(xlToLeft).Column   'End(xlToLeft).Column 是第一行的最后列数的代码。应该为不算第一列一共多少列
    jianche_hang = jianche_XlsSheet22.Range("G65536").End(xlUp).Row              '查A列的上下限界,从列的开始往下查,

    Set Conn = CreateObject("ADODB.Connection")
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & access_wenjian_path
    Set rs = CreateObject("ADODB.Recordset")
    MaxWidth = jianche_MaxWidth
    hang = jianche_hang
    Sql = "create table " & "评估数据" & " ("

    FieldLine = 1
    InsertSql = ""

    For j = 1 To MaxWidth    '开始导入字段名这一行

        If (j >= 2 And j <= 6) Or (j >= 9 And j <= 15) Or (28 <= j And j <= 40) Or (j >= 42 And j <= 46) Then  '       
            Sql = Sql & jianche_XlsSheet22.Cells(FieldLine, j) & " varchar(255),"     '设置此字段为字符串即文本型 (长整型直接用int即可??)
        Else
            Sql = Sql & jianche_XlsSheet22.Cells(FieldLine, j) & " double,"   '设置此字段数据类型为double型
        End If
        InsertSql = InsertSql & jianche_XlsSheet22.Cells(FieldLine, j) & ","
    Next j

    Sql = Left(Sql, Len(Sql) - 1) 'remove last char
    InsertSql = Left(InsertSql, Len(InsertSql) - 1)
    Sql = Sql & ")"

    Conn.Execute Sql
    For j = 2 To hang                                         '这个地方的2或者是3代表的是从第几行开始为数据部分。
       valstr = ""
       
       For k = 1 To MaxWidth

           valstr = valstr & "'" & jianche_XlsSheet22.Cells(j, k) & "',"
       Next k
           valstr = Left(valstr, Len(valstr) - 1)
           Conn.Execute "insert into " & "评估数据" & " (" & InsertSql & ") values (" & valstr & ")"
    Next j
    Conn.Close
    Set rs = Nothing
    Set Conn = Nothing

问题已经解决,在此记录一下。首先数据库只是数据的存储的仓库,当打开access文件看到的数据并不是排列好的,想要得到有顺序的数据,只需要在读出的时候有顺序的读出即可。