VBA 코드를 사용하여 필요한 정보를 얻을 수 있습니다. 예를 들어,
Dim m As Object
For Each m In CurrentProject.AllMacros
Dim macroName As String
macroName = m.Name
Debug.Print macroName
Next
와 현재 데이터베이스에있는 모든 매크로를 반복 할 수 있습니다 이제 대신 단순히 매크로 이름을 인쇄, 당신은
Application.SaveAsText acMacro, macroName, "C:\Users\Gord\Desktop\macroDump.txt"
있는 텍스트 파일로 덤프 수있는 것 그런 다음 Action ="OpenQuery"
을 포함하고 쿼리 이름을 검색/종료 블록을 시작 찾고, 해당 파일을 구문 분석 할 수있는이
Version =196611
PublishOption =1
ColumnsShown =0
Begin
Action ="OpenQuery"
Argument ="MyUpdateQuery"
Argument ="0"
Argument ="1"
End
Begin
Comment ="_AXL:<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\015\012<UserI"
"nterfaceMacro MinimumClientDesignVersion=\"14.0.0000.0000\" xmlns=\"http://schem"
"as.microsoft.com/office/accessservices/2009/11/application\" xmlns:a=\"http://sc"
"hemas.microsoft.com/office/acc"
End
Begin
Comment ="_AXL:essservices/2009/11/forms\"><Statements><Action Name=\"OpenQuery\"><Argumen"
"t Name=\"QueryName\">MyUpdateQuery</Argument></Action></Statements></UserInterfa"
"ceMacro>"
End
과 같은 파일을 생성한다. 완전 자동화 및 @ GordThompson의 제안과 유사하지는 않지만 그것으로 당신은 그것의 SQL
Dim cdb As DAO.Database
Set cdb = CurrentDb
Dim qdf As DAO.QueryDef
Set qdf = cdb.QueryDefs(queryName) ' MyUpdateQuery
Dim querySql As String
querySql = qdf.SQL
매크로 레코더로 한 번 수행하면 원하는 기본 코드가 생깁니다. – litelite
@ AlbertD.Kallal을 명확하게하기 위해 매크로/쿼리의 SQL 스크립트를 가져올 수 있도록 SQL을 사용하지 말 것을 제안합니다. (또한 귀하의 의견에보다 적극적으로 대답하십시오) – Sauron
@ AlbertD.Kallal 나는 이것을 쓰지 않을 것이라고 생각하지 않았지만, 사이트에서 "로데오 광대"의 사용을 중단하십시오. 취했거나 실업 상태이든 다른 사람을 로데오 광대와 비교하는 것이 적절한시기는 없습니다. – meagar