雖然谷歌搜索如何在BIT(YESNO)列在Access數據庫轉換爲複選框編程,一個可能的解決方案,我發現這是由使用的DoCmd複製現有數據庫的結構。 我已經加入到Microsoft.Office.Interop.Access
參考,並添加這些2號線在我的代碼:顯示位(YESNO)數據類型複選框在Access表
using Access = Microsoft.Office.Interop.Access;
Access.Application myAccessInstance = new Access.Application();
在try塊,我打開我的數據庫的連接,我執行Do.Cmd.TransferDatabase
:
myAccessInstance.DoCmd.TransferDatabase(0, "Microsoft Access", "C:\\Users\\user\\Desktop\\Merge\\playlists.MDB", 0, "PlaylistNames",
"PlaylistNamesCopy", true);
和我得到一個System.Runtime.InteropServices.COMException
:
此操作需要一個開放的數據庫。
有誰知道是怎麼回事了?
好的,我不得不打開到數據庫的連接:( 「C:\\用戶\\用戶\\桌面\\ Merge2 \\ playlists.MDB」) myAccessInstance.OpenCurrentDatabase; – Pantelis 2011-12-19 10:35:41
您可以使用DAO添加的格式,這是VBA,但它應該可以翻譯爲C#:http://wiki.lessthandot.com/index.php/Add_a_Display_Control_(Checkbox,_Combobox)_to_a_YesNo_Field – Fionnuala 2011-12-19 11:24:43
感謝。我會嘗試的。 「Set db = CurrentDb」這行代表什麼? 我發佈的方法有問題。通過調用OpenCurrentDatabase實際打開.MDB文件。那不是我想要的行爲。我只需要建立到數據庫的連接。 – Pantelis 2011-12-19 11:56:11