2013-08-23 1 views
0

저는 VBA 코딩을 처음으로 사용하기 때문에 사용자가 CSV 파일을 가져 와서 새로운 임시 테이블에 삽입 할 수있는 가져 오기 UI를 ms 액세스로 생성 할 예정입니다. 데이터를 다른 테이블로 분할하고 마지막으로 임시 테이블을 삭제하는 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

가 만들려는 테이블의 이름으로 당신의 기준과 myTable에와 [조건]을 교체

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

을 시도하는 데 도움 주셔서 감사합니다.

당신은 가능성이 기록을보고 사용자가 메시지를 저지 방지하기 위해,

DoCmd.SetWarnings False 

처음 설정할 것입니다. 그러나 나중에 다시 True로 설정해야합니다.

또는 쿼리 디자이너를 사용하려는 경우 일부 Access "테이블 만들기"쿼리 (리본의 디자인 탭에서 쿼리 유형 변경)를 만들 수 있습니다.

1

Working with external text files in MS Access이 기사를 보시면 도움이 될 것입니다.

기본적으로 텍스트 파일에 대한 스키마를 만든 다음 데이터베이스의 테이블 인 것처럼 SQL을 사용하여 쿼리 할 수 ​​있습니다.

거기에서 VBA의 레코드 세트 또는 INSERT 쿼리를 사용하여 쉽게 다른 데이터 테이블을 만들거나 채울 수 있습니다.

관련 문제