显示位(YesNo)数据类型为访问表中的复选框
本文关键字:访问表 复选框 数据类型 YesNo 显示 | 更新日期: 2023-09-27 18:18:10
在搜索如何以编程方式将访问数据库中的BIT (YESNO)列转换为复选框时,我发现一个可能的解决方案是通过使用DoCmd复制现有数据库的结构。我添加了对Microsoft.Office.Interop.Access
的引用,并在我的代码中添加了这2行:
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#,所以这是一个关于如何将表中的字段(列)设置为复选框显示的粗略示例,这就是我认为这个问题的内容。
//Added reference to COM Microsoft DAO 3.6
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DAO.DBEngine dbEng = new DAO.DBEngine();
DAO.Workspace ws = dbEng.CreateWorkspace("", "admin", "", DAO.WorkspaceTypeEnum.dbUseJet);
DAO.Database db = ws.OpenDatabase("z:''docs''dbfrom.mdb", false, false, "");
DAO.TableDef tdf = db.TableDefs["Test"];
DAO.Field fld = tdf.Fields["AYesNo"];
//dbInteger 3
//accheckbox 106
DAO.Property prp = fld.CreateProperty("DisplayControl", 3,106);
fld.Properties.Append(prp);
}
}
}