액세스 데이터베이스의 BIT (YESNO) 열을 프로그래밍 방식으로 확인란으로 변환하는 방법을 검색하는 동안 DoCmd를 사용하여 기존 데이터베이스의 구조를 복사하는 것이 가능했습니다 . 나는 Microsoft.Office.Interop.Access
에 대한 참조를 추가하고 그 2 개 내 코드에 라인 추가 : 나는 Do.Cmd.TransferDatabase
을 실행하고있어 내 데이터베이스에 대한 연결을 열 try 블록에서표시 비트 (예 아니요) 데이터 형식이 액세스 테이블의 확인란으로
using Access = Microsoft.Office.Interop.Access;
Access.Application myAccessInstance = new Access.Application();
을 :
myAccessInstance.DoCmd.TransferDatabase(0, "Microsoft Access", "C:\\Users\\user\\Desktop\\Merge\\playlists.MDB", 0, "PlaylistNames",
"PlaylistNamesCopy", true);
과 나는 System.Runtime.InteropServices.COMException
:
이 작업에는 열려있는 데이터베이스가 필요합니다.
누가 잘못 될지 알고 있습니까?
좋아, 나는 데이터베이스에 대한 연결을 열 수 있었다; – Pantelis
DAO를 사용하여 형식을 추가 할 수 있습니다. VBA이지만 C#으로 번역 할 수 있어야합니다. http://wiki.lessthandot.com/index.php/Add_a_Display_Control_(Checkbox,_Combobox) _to_a_YesNo_Field – Fionnuala
감사합니다. 나는 그것을 시도 할 것이다. "Set db = CurrentDb"이 줄은 무엇을합니까? 내가 게시 한 방법에 문제가 있습니다. OpenCurrentDatabase를 호출하면 실제로 .MDB 파일이 열립니다. 그게 내가 원하는 행동이 아니야. 데이터베이스에 연결하기 만하면됩니다. – Pantelis