回 帖 发 新 帖 刷新版面

主题:如何把TXT数据导入到ACCESS(VISDATA)中

txt 里的数据如下
            0.000000            0.000000
           35.733470            1.013002
           71.352773            4.042302
          106.746983            9.059248
          141.811407           16.017562
          176.450109           24.855402
          210.577824           35.497937
          244.121190           47.860222
          277.019301           61.850132
          309.223666           77.371159
          340.697664           94.324939
          371.415644          112.613405
          401.361789          132.140531
          430.528862          152.813680
          458.916918          174.544558
          486.532068          197.249855
          513.385323          220.851605
          539.491561          245.277327
          ..........          ..........
这其中有一百多组数据,我想要把它们用代码写入ACCESS(VISDATA)中,
在数据库中形成三个字段,分别是序号,X轴,Y轴,序号是自己加的,1,2,3,4,.......,X轴,Y轴值如上表所示的
请问怎么实现呢

回复列表 (共1个回复)

沙发

大致思路:VB逐行读取TXT文件,并用split函数将每行两个变量存入事先准备好的ACCESS数据库字段1,和字段2中,每读一行产生一个变量记录行号并存入ACCESS的"序号"字段中.
事先准备一个名称为AAA的ACCESS数据库,里面的表为bbb,且有三个字段.

Private Sub Command1_Click()
Dim a As Integer                  '定义行号
a = 0
Dim var1 As String
Dim strConn  As String            '连接字符串
    Dim strSql   As String            'SQL命令
    Dim conn     As ADODB.Connection  '数据源
    Dim Ado      As ADODB.Recordset   '记录集
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\aaa.mdb;Persist Security Info=False"
    strSql = "SELECT * FROM bbb"
    Set conn = New ADODB.Connection
    conn.ConnectionString = strConn
    conn.Open
    Set Ado = New ADODB.Recordset
    Set Ado.ActiveConnection = conn
    Ado.LockType = adLockOptimistic
    Ado.CursorType = adOpenKeyset
    Ado.Open strSql
Open "c:\1.txt" For Input As #1                  '打开存入上列数据的TXT文件
Do While Not EOF(1)                              '开始循环
    Line Input #1, var1                          '将#中的字符串赋予变量var1
    Dim oooxyz() As String
        oooxyz = Split(var1, "        ")
        a = a + 1
    Ado.AddNew
    Ado.Fields("序号") = a                       '将行号/第1个数/第2个数存入ACCESS
    Ado.Fields("字段1") = oooxyz(0)
    Ado.Fields("字段2") = oooxyz(1)
    Ado.Update
Loop                                              '到文本最后一行时跳出循环
Close #1                                           '关闭#1
    If Ado.State Then Ado.Close
    Set Ado = Nothing
    If conn.State Then conn.Close
    Set conn = Nothing
End Sub

我来回复

您尚未登录,请登录后再回复。点此登录或注册