2008-11-11 4 views
1

쿼리가있는 액세스 데이터베이스가 있습니다. 매일 밤이 쿼리를 실행하고 탭으로 구분 된 CSV 파일로 내보낼 수 있도록 자동화해야합니다. 액세스 내에서 CSV 파일로 쿼리를 내보낼 수 없습니다. 내 질문은 특정 테이블을 선택하거나 mdb 파일에 대한 SQL 쿼리를 수행하고 csv 파일로 내보낼 수있는 도구가 있습니까?자동으로 액세스 db를 변환

답변

3

사실, 당신은 Access 내에서 csv 파일에 쿼리를 내보낼 수 있습니다.

TransferText 메서드를 사용하여 매크로를 사용하여이 작업을 수행 할 수 있습니다.

매크로 :이 같은 명령 줄에서 매크로를 실행할 수 있습니다

Name = ExportQuery 
    Action = TransferText 
    Transfer Type = Export Delimited 
    Table Name = [name of your Access query] 
    File Name = [path of output file] 
    Has Field Names = [Yes or No, as desired] 

:

"[your MS Office path]\msaccess.exe" [your databse].mdb /excl /X ExportQuery /runtime 

매크로에 TransferText에 문제가 있기 때문에이 시도 :

1) "ExportQuery"라는 모듈을 작성하십시오. 하지 csv 파일

Action = RunCode 
Function Name = ExportQuery() 
+0

나는 이것을 시도했지만 매크로를 만들 때 (매크로 빌더에서) 구분 된 옵션을 내보낼 옵션이 없으며이를 시각적 기본 편집기에 넣을 수 없습니다. TabTop이 아니라 TransferText 매개 변수를 설정하는 방법은 없습니다. –

+0

어떤 버전의 Access를 사용하고 있습니까? –

+0

Access 2003 표준입니다. 내 사본은 독일어로되어 있으므로 일부 내용이 다를 수 있습니다. –

3

VBScript는 Jet 엔진에서 잘 작동합니다. 그러나 나는 "액세스 내에서 CSV 파일로 쿼리를 내보낼 수 없습니다."라고하는 이유를 알지 못합니다.

Sub TransferCSV() 

    DoCmd.TransferText acExportDelim, , "PutNameOfQueryHere", "C:\PutPathAnd\FilenameHere.csv", True 

End Sub 

VBA의 일반적인 방법입니다.

EDIT : 명령 줄에서 VBScript 파일 (.vbs)을 실행할 수 있습니다. 다음은 탭으로 구분 된 파일을 출력하는 몇 가지 샘플 VBScript입니다.

db = "C:\Docs\LTD.mdb" 
TextExportFile = "C:\Docs\Exp.txt" 

Set cn = CreateObject("ADODB.Connection") 
Set rs = CreateObject("ADODB.Recordset") 

cn.Open _ 
    "Provider = Microsoft.Jet.OLEDB.4.0; " & _ 
    "Data Source =" & db 

strSQL = "SELECT * FROM tblMembers" 

rs.Open strSQL, cn, 3, 3 

Set fs = CreateObject("Scripting.FileSystemObject") 

Set f = fs.CreateTextFile(TextExportFile, True) 

a = rs.GetString 

f.WriteLine a 

f.Close 
+0

를 액세스 2003 년에 나는 단지 수출은 아스키 레코드로은 textData 할 수 있습니다

Function ExportQuery() DoCmd.TransferText acExportDelim, , "[your query]", "[output file].csv" End Function 

2) 매크로 이름 RunExportQuery 만들기 :이 모듈에서 "ExportQuery"라는 함수를 만들 . –

+0

DoCmd.TransferText acExportDelim을 시도해 보셨습니까? – Fionnuala

+0

나는 클릭 가능 옵션으로, 나는 VB에서 익숙하지 않아 다른 것을 시도했다. –

-1

SQL Server Integration Services는 사용자가 말하는 변환을 수행 할 수 있습니다. 패키지를 자동화하고 실행하기 위해 SQL Server가 필요 없기 때문에 이름에 속지 마십시오.

http://msdn.microsoft.com/en-us/library/ms141026.aspx

+0

아직이 문제를 읽고 있지만 요점은 아직 없습니다. 그것은 내가 실행할 수 있고 스케줄을 잡을 수있는 도구입니까, 아니면 이미 가지고있는 쿼리와 별도의 쿼리를 만들어야합니까? –

+0

실제로 SQL Server에 의지 할 필요가 전혀 없습니다. 실제로 Access에서 자체적으로 수행하는 것은 거의 없습니다. –