2011-04-27 2 views
2

동일한 데이터베이스 내에서 'fsubTemplate'이라는 양식을 'fsubInstance'라는 다른 양식으로 프로그래밍 방식으로 복사하려고합니다. 나는 이것을하기에 좋은 이유가있다. 이것이 가능한가? ms 액세스 2007을 사용하고 있습니다.ms 액세스에서 vba를 사용하여 프로그래밍 방식으로 양식 복사

+0

나는이 일을하는 데 정말로 큰 이유가 없다고 생각합니다. 구조가 매우 유사한 두 가지 형태가 있다면 유지 보수의 악몽이 될 것입니다. –

+0

@ David-W-Fenton 사실 이름이 다른 8 개의 동일한 하위 양식이 있습니다! 그리고 예, 지금까지 유지 보수의 악몽이었습니다. 이것이이 질문의 핵심이었습니다! 이제는 '마스터'양식을 유지하고 매크로 (Docmd.CopyObject 메서드를 기반으로)를 사용하여 7 개의 동일한 복사본을 생성 할 수 있습니다. 아마도 8 개의 동일한 하위 양식이있는 이유는 아마도 생각할 것입니다. 각 양식의 동작은 실제로 다릅니다. 동작은 폼의 OnLoad 이벤트에서 설정되며 폼 이름을 기반으로합니다. 이것이 올바른 해결책인지 여부에 관계없이 다른 질문으로 제기 할 것입니다. – David

+3

동일한 양식을 유지하는 것이 중요한 문제입니다. 부모 폼의 OnLoad 이벤트에서 하위 폼의 속성을 설정하기 만하면되므로 항상 동일한 하위 폼을 사용하고 런타임에 모양/동작을 변경하면됩니다. 하위 폼의 이름을 지정하고로드/표시 할 항목을 결정하는 기준은 하위 폼의 특성을 설정하는 논리를 구성하는 데 사용하는 기준과 동일합니다. –

답변

4

DoCmd.CopyObject Method을 사용하십시오.

DoCmd.CopyObject , "fsubInstance", acForm, "fsubTemplate" 

나는 첫 번째 인수, DestinationDatabase에 대한 값을 제공하지 않았기 때문에 복사의 대상은 현재 데이터베이스가 될 것입니다.

관련 문제