Database 将带有备注字段的CSV导入Microsoft Access表

Database 将带有备注字段的CSV导入Microsoft Access表,database,excel,ms-access,csv,export,Database,Excel,Ms Access,Csv,Export,首先,我要说的是,我不是程序员,所以我不熟悉VisualBasicforAccess(VBA)。我对查询和宏的理解达到了一定程度,可以使数据库事务自动化,从而从a点t点B点开始 我期待着采取一个CSV文件保存从微软Excel和导入到微软Access 2003在每天的基础上。CSV文件是我从另一家公司收到的每日提要 非程序员在Microsoft Access中每天导入一次此数据可以做什么 我最大的问题是备忘录字段。似乎许多导入数据的简单方法(如链接表)都会将备注字段截断为前255个字符。我需要带上

首先,我要说的是,我不是程序员,所以我不熟悉VisualBasicforAccess(VBA)。我对查询和宏的理解达到了一定程度,可以使数据库事务自动化,从而从a点t点B点开始

我期待着采取一个CSV文件保存从微软Excel和导入到微软Access 2003在每天的基础上。CSV文件是我从另一家公司收到的每日提要

非程序员在Microsoft Access中每天导入一次此数据可以做什么

我最大的问题是备忘录字段。似乎许多导入数据的简单方法(如链接表)都会将备注字段截断为前255个字符。我需要带上所有的数据


任何提示、建议或经过测试的过程都会很有帮助。

签出可能会提供您所需的信息。

您可以尝试下面类似的代码。将其粘贴到模块中,并根据需要进行必要的更改。设计一个包含所需字段及其类型的表,并在下面引用它。使用将运行事件过程的命令按钮创建窗体。调用您创建的模块

Public Sub ImportTextFile()
' to use the ADODB.Recordset, be sure you have a reference set to ADO
Dim rst As ADODB.Recordset
Dim strFile As String
Dim strInput As String
Dim varSplit As Variant
Dim intCount As Integer


  Set rst = New ADODB.Recordset
' CHANGE THE TABLE NAME HERE
rst.Open "TblNameHere", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
' CHANGE THE TEXT FILE NAME AND LOCATION HERE
strFile = "C:\Desktop\fullextract.txt"

Open strFile For Input As #1

Dim i As Integer

Do Until EOF(1)
   ' This counter is just to get to the applicable line before importing
   intCount = intCount + 1
   ' reads the text file line by line
   Line Input #1, strInput
   ' starts importing on the second line.  Change the number to match which line you
   ' want to start importing from
   If intCount >= 2 Then
       ' creates a single dimension array using the split function
       varSplit = Split(strInput, ",", , vbTextCompare)
       ' adds the record
       With rst
           .AddNew
       ' change the range 0 To 254 to fit your needs. I was importing 254 fields.
            For i = 0 To 254
                .Fields(i) = varSplit(i)
           Next i
           .Update
       End With

   End If
Loop
' garbage collection
Close #1
rst.Close
Set rst = Nothing

End Sub

在Access中,如果将字段的数据类型设置为文本,则限制为255个字符。如果需要存储超过255个字符,则必须将数据类型设置为“备注”。实际上,导入CSV文件会给您带来问题。最好是导入以制表符分隔的文本文件。VBA是完成工作的最佳且最简单的方法。假设已使用正确的数据类型创建了表,则数据导入的备注字段仍将截断为255个字符。您的链接只是确认链接到Access中的Excel工作表,将所有备注字段截断为前255个字符。这并不能回答问题。