C#/ Access Interop DoCmd值组合框

时间:2009-11-24 02:27:20

标签: c# ms-access combobox interop

我通过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,但那是关注的焦点)但是我还是迷路了,试着用谷歌搜索没有多少运气..

2 个答案:

答案 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中的工作方式。