我通过interop / COM成功连接到Microsoft Access数据库。我需要将一些数据放入组合框和Requery中,以便我可以显示信息。
// Create app
MsAccess.Application app = new MsAccess.Application();
// Open the database
app.OpenCurrentDatabase(
@"C:/Prog.mdb"
, false, "");
// Open the form
app.DoCmd.OpenForm("frmMain",
MsAccess.AcFormView.acNormal,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
MsAccess.AcFormOpenDataMode.acFormPropertySettings,
MsAccess.AcWindowMode.acWindowNormal,
System.Reflection.Missing.Value
);
app.Forms["frmMain"]["ctrlCustList"] .. .
// This gets me the control instance validly..
// but do I put text in it?
app.DoCmd.Requery("ctrlCustList");
有没有办法通过Interop将文本发送到控件? (我已经看过GoToControl,但那是关注的焦点)但是我还是迷路了,试着用谷歌搜索没有多少运气..
答案 0 :(得分:0)
在Access VBA中,通常将组合的RowSource设置为SQL字符串(RowSourceType:Table / Query)或值列表(RowSourceType:Value List)。列数也需要设置。这是你的意思吗?
或者你的意思是你想设定一个特定的价值?这可以通过使组合等于所需值的绑定列来设置。
答案 1 :(得分:0)
我不知道有关C#的诅咒,但你有没有试过这个显而易见的事情:
app.Forms["frmMain"]["ctrlCustList"] = "value you want to set it to"
这就是代码在Access中的工作方式。