2013-08-23 355 views
0

我是新的VBA編碼,我正在研究創建一個導入用戶界面在MS訪問用戶導入CSV文件並插入到臨時表中,從臨時表中是SQL查詢將數據拆分到不同的表中,最後刪除臨時表。CSV文件導入到MS Access 2010表

根據代碼,我創建了導入按鈕並對文件選取器進行了編碼。然而,我迷失於如何編寫代碼來導入到一個新的臨時表中,並跟隨SQL查詢。

感謝所有幫助

Sub ImportButton_Click() 

Dim strfilename As String 

With Application.FileDialog(msoFileDialogFilePicker) 

    .Title = "Select the CSV file to import" 
    .AllowMultiSelect = False 
    .Filters.Clear 
    .Filters.Add "CSV Files", "*.csv", 1 
    .Filters.Add "All Files", "*.*", 2 
    If .Show = -1 Then 
     strfilename = .SelectedItems(1) 
     DoCmd.TransferText TransferType:=acImportDelim, _ 
      TableName:="Import_Table", FileName:=strfilename 
     Else 
     Exit Sub 
    End If 
End With 

End Sub 

回答

0

嘗試

docmd.RunSQL("SELECT * INTO myTable FROM Import_Table WHERE [conditions]") 

與標準,併爲myTable與您要創建的表的名稱替換[條件。

你可能會想設置

DoCmd.SetWarnings False 

第一,避免用戶看到創紀錄的提交提示。但之後應該設置爲True。

或者,如果您更願意使用查詢設計器,則可以創建一些Access「創建表」查詢(在功能區的「設計」選項卡上更改查詢類型)。

1

看看這篇文章Working with external text files in MS Access,它應該幫助你。

基本上,您可以爲文本文件創建一些模式,然後使用SQL查詢它,就好像它是數據庫中的表一樣。

從那裏您可以使用VBA或INSERT查詢中的記錄集輕鬆地查看數據以創建或填充其他表格。

相關問題