2012-01-23 1 views
0

Access 2003 데이터베이스가 있고 파일 테이블의 새 행에 트리거를 추가하여 SqlServer 2008 데이터베이스의 다른 테이블에 새 정보가 포함 된 새 행을 삽입 하시겠습니까?SqlServer Database의 테이블에 새 행을 삽입하는 Access에서 Trigger를 수행 할 수 있습니까?

결국 가능합니까? 아니면 이것을 수행하는 다른 더 나은 방법/도구가 있습니까? 시작하려면 몇 가지 코드 스 니펫을 고맙게 생각합니다.

진심으로 감사드립니다.

+0

@Yuck Access 2003 – NotForFun

+2

Access에 하나의 테이블과 SQL Server에 하나의 테이블이 있다고 말하고 있습니까? 그렇지 않다면 왜 Access에서 2003 년에 할 수없는 방아쇠를 만들고 싶습니까? 더 많은 정보를 제공해야합니다. – Fionnuala

+0

안녕하세요, 답변 해 주셔서 감사합니다. 액세스 테이블에는 12 개의 필드가 있습니다. 나는 오직 3- FileName, Subject 및 Origin에만 관심이 있습니다. SqlServer 테이블 파일에는 액세스 테이블에서 찾을 수없는 파일이 더 많습니다. 즉, 액세스 파일은 모든 파일의 하위 집합입니다. 이상적으로 나는 SQL 서버에 1 개의 전체 테이블을 가지며 액세스 테이블에 필요한 3 개의 필드는 값을 얻기 위해이 테이블을 가리 킵니다. 그런 다음 Accees Form에 새 파일을 만들면 FileName, Subject 및 Origin이있는 Sqlserver에 새 행이 만들어지고 Access의 다른 행에는 sql 서버에서 반환 된 행 ID와 다른 필드가 함께 포함됩니다. – NotForFun

답변

0

마지막으로 마지막 rowID 기본 키에 인덱스를 보유하여 Access Files 테이블에서 새 행을 확인할 Windows 서비스를 만들었습니다. 새 행을 읽고 해당 데이터를 SQL Server 데이터베이스로 보냅니다.

트리거는 더 나은 접근 방법 이었지만 db는 Access 2003에 있습니다. 서비스는 하루에 두 번 실행되며 지금까지 예상대로 작동하는 것 같습니다.

1

MS Access는 트리거를 지원하지 않습니다. 그러나 폼에 데이터를 삽입/업데이트하면 이벤트와 VBA를 사용할 수 있습니다. 이 문서가 도움이 될 것입니다 : Optimizing Microsoft Office Access Applications Linked to SQL Server

+2

MS Access 2010에는 트리거와 비슷한 방식으로 작동 할 수있는 데이터 매크로가 있습니다. – Fionnuala

+0

예, Access 2010에 데이터 트리거가 있습니다. 이것은 실제 트리거이며 업데이트 타임에 실행되는 진정한 엔진 수준 코드입니다. 실제로 Access가 설치되어 있지 않고 com 자동화 또는 vb.net 또는 FoxPro의 ODBC로 테이블을 업데이트하더라도 코드가 실행됩니다. –