我可以将csv导入到mdb

代码首先将dbf文件更改为csv。

Sub FindFiles()
    Dim strDocPath As String
    Dim strCurrntFile As String
    Dim Fname As String

strDocPath = "Y:\Eilat\Shapes\"
'strCurrentFile = Dir(strDocPath & "*.*")
strCurrentFile = Dir(strDocPath & "111.dbf")

    Workbooks.Open FileName:=strDocPath & strCurrentFile
    Fname = Left$(strCurrentFile,Len(strCurrentFile) - 4) & ".csv"
    activeWorkbook.SaveAs FileName:=strDocPath & Fname,FileFormat:=xlCSVMSDOS,CreateBackup:=False
    activeWorkbook.Close (True)


Dim filepath As String
Dim sqlinsert As String
Dim sqlvalue As String
Dim sqlquery As String
Dim sqlwhere As String

'Set db = CurrentDb
directory = "Y:\Eilat\Shapes\"
FileName = "111.csv" 
Set rs = CreateObject("ADODB.Recordset")
strcon = "Provider=microsoft.ACE.OLEDB.12.0;Data Source=" & directory & ";" _
& "Extended Properties=""text;HDR=Yes;FMT=Delimited"";"
'strSQL = "SELECT * FROM " & FileName
'rs.Open strSQL,strcon
'rs.MoveFirst
Dim strTextLine As String
Dim aryMyData() As String


Open directory & FileName For Input As #1
Do While Not EOF(1)             ' Loop until end of file.
    Line Input #1,strTextLine   ' Read line into variable.
    aryMyData = Split(strTextLine,",") 'Split text into array by comma

'(例如,csv长度更改,这是csv中的列,但可以更长。EHANDLE,UseCode,UseCode2,Descriptio,Gush,Helka,Owner,OwnerID,Holder,HolderID,Floor,PhysicalNo,Date,Area ,注释,地址,街道名称,房屋编号,电话,传真,电子邮件,管理器,业务,序列号,MeasuredBy,高度,块编号,Mapkey,User1,User2,user3是csv中的列,但可以更长。

strSQL =“ ??(需要什么sql语句?)

(不知道如何导入到mdb“ Y:\ Eilat \ Arnona \ Eilat.mdb”)

Debug.Print strSQL
DoCmd.RunSQL strSQL

Loop
Close
End Sub
qwer123456asdf 回答:我可以将csv导入到mdb

假设如下:

  • 您的代码可以正确打开CSV文件并逐行读取
  • 您所有的表字段均为字符串类型
  • 您的表中的字段Field_01,Field_02,Field_03 想要导入CSV文件的第1、2和3列

您可以使用

DoCmd.RunSQL "INSERT INTO MyTable (Field_01,Field_02,Field_03) VALUES ('" & aryMyData(0) & "','" & aryMyData(1) & "','" & aryMyData(2) & "'")

并根据需要扩展所有字段和列。

这是一个非常基本的示例,假定您的表是为要导入的CSV文件专门准备的。如果您希望表格的设计发生变化,以适应要导入的任何CSV文件,那就更加复杂了。

本文链接:https://www.f2er.com/3137506.html

大家都在问