在Excel工作表上触发查询并在ComboBox中填充结果

时间:2012-09-16 13:53:40

标签: excel vba excel-vba excel-2007

我有两个名为“公司”的栏目& “项目”

我想为特定公司选择所有项目&将生成的Products列表填充到ComboBox中。

我认为ADODB将是实现这一目标的最佳方式。 我不知道如何制作Connection,Command Object等。请提供详细的代码来实现这一点。

1 个答案:

答案 0 :(得分:0)

我使用以下代码完成了它!

Dim cn
Set cn = CreateObject("ADODB.Connection")
With cn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Data Source=" & ThisWorkbook.FullName & "; Extended Properties=Excel 8.0"
    .Open
End With

Dim ObjRes
Set ObjRes = cn.Execute("Select * from [SourceData$]")
Do Until ObjRes.EOF
    cmbCompany.AddItem ObjRes.Fields.Item("Company").Value
    cmbProject.AddItem ObjRes.Fields.Item("Project").Value

    ObjRes.MoveNext
Loop

Set ObjRes = Nothing