"마스터"원본 (로컬로 보관)과 "복사"데이터베이스 (배포 대상)의 두 데이터베이스가 있습니다. 어느 쪽도 한 번 배포 된 (로컬 또는 네트워크를 통해) 배포본을 볼 수 없으므로 배포 후 데이터베이스에서 쿼리를 수행 할 수 없습니다. 배포되기 전에 복사 데이터베이스에서 일부 내용을 제거해야하므로 배포 용 복사 데이터베이스를 생성하기 위해 VBA 스크립트를 작성하기로 결정했습니다.MS Access에서 한 데이터베이스에서 다른 데이터베이스로 행을 삭제하는 방법
테이블에 조회가 있으므로 마스터 원본에서 복사 한 템플릿 데이터베이스를 보유하기로 결정한 다음 테이블을 삭제하고 테이블을 삭제하고 적절한 순서.
이제 일부 데이터를 제거해야하므로 고생하고 있습니다. "공공"
은 일반적으로 내가 (psudocode에서) 할 것 :
arrDEV = SQL("SELECT ID, ClusterID FROM DeviceTable WHERE Distribution<>"Public"")
DeviceTable:
AutoNumber(ID)
Text(DeviceName)
Integer(ClusterID)
Text(Distribution)
ClusterTable:
AutoNumber(ID)
Text(ClusterName)
VirtualSystemTable:
AutoNumber(ID)
Text(VirtualSystemName)
Integer(ClusterID)
Integer(DeviceID)
InterfaceTable:
AutoNumber(ID)
Integer(VirtualSystemID)
Integer(ClusterID)
Integer(DeviceID)
Text(Description)
나는 분포로 표시되어 있지 아무것도 DeviceTable, ClusterTable, VirtualSystemTable 및 InterfaceTable에서 항목을 제거해야
그런 다음, 각 응답, 나는 내 문제는
arrVSYS = SQL("SELECT ID FROM VirtualSystemTable WHERE DeviceID=$arrDEV.ID OR ClusterID=$arrDEV.ClusterID")
SQL("DELETE FROM InterfaceTable WHERE DeviceID=$arrDEV.ID OR ClusterID=$arrDEV.ClusterID OR VirtualSystemID=$arrVSYS.ID")
SQL("DELETE FROM VirtualSystemTable WHERE DeviceID=$arrDEV.ID OR ClusterID=$arrDEV.ClusterID")
SQL("DELETE FROM ClusterTable WHERE ID=$arrDEV.ClusterID")
입니다 것 데이터베이스 링크에서 이러한 쿼리를 수행하는 방법을 배울 수는 없습니다. 나는 재미있는 ADODB. 나는 보통 PHP로 작성했기 때문에 이것은 나에게 조금 어려움이있다!
구체적으로 어디에 붙어 있습니까? 대상 데이터베이스에 대한 유효한 ADO 연결을 만들 수 있습니까? – HansUp
"마스터"데이터베이스에 DeviceTable이 있습니까? 서로 다른 데이터베이스를 통해 쿼리해야합니까, 아니면 하나의 데이터베이스 안에 포함 된 모든 데이터/테이블/레코드/행입니까? – HK1
@HansUp adodb 연결이 작동 중입니다. 문제는 여러 쿼리를 수행해야 쿼리가 작동하는 데이터베이스 간 쿼리입니다. – JonTheNiceGuy