VBScript를 사용하여 텍스트 파일, 쿼리를 MS Access 쿼리 컬렉션에로드하려고합니다. 나는 다음과 같은 것을 사용하고있다 : 코드는 Here에 기인한다.MS Access 쿼리에 대한 Application.LoadFromText 대신
for each myFile in folder.Files
objecttype = fso.GetExtensionName(myFile.Name)
objectname = fso.GetBaseName(myFile.Name)
WScript.Echo " " & objectname & " (" & objecttype & ")"
if (objecttype = "form") then
oApplication.LoadFromText acForm, objectname, myFile.Path
elseif (objecttype = "bas") then
oApplication.LoadFromText acModule, objectname, myFile.Path
elseif (objecttype = "mac") then
oApplication.LoadFromText acMacro, objectname, myFile.Path
elseif (objecttype = "report") then
oApplication.LoadFromText acReport, objectname, myFile.Path
elseif (objecttype = "sql") then
'oApplication.LoadFromText acQuery, objectname, myFile.Path
' Add create querydef code here
end if
next
그러나 VBScript를 사용하여 쿼리 정의를 만드는 방법을 잘 모르겠습니다.
아이디어가 있으십니까?
참고 : 그런 다음 LoadFromText 그냥 완성도 I에 대한
헌장 acQuery = 1 –
비록 드문, 당신은 입력 테이블로 하위 쿼리가있는 쿼리가있을 때 , LoadFromText 작동하지만 손상된 쿼리를 만듭니다. 내 보낸 쿼리 txt 파일 안에 "Begin InputTables"라는 섹션이 있고 "Name"테이블의 테이블이 하위 쿼리 SQL이됩니다. 가져 오기 후 access는이 이름을 querydef 이름으로 해석합니다. 해결 방법은 쿼리 내보내기 파일을 구문 분석하고 하위 쿼리를 찾은 다음 내보내기 프로세스 중에 쿼리를 압축 해제하는 것입니다. Access Objects에서 손상된 바이너리 블록을 제거한 자동 수정 루틴을 작성해야했기 때문에이 문제에 봉착했습니다. – DHW