从Access Table中提取唯一值并创建可在组合框中使用的数组

时间:2015-12-16 12:30:53

标签: excel vba excel-vba

我希望能够将Access数据库中的详细信息提取到我的excel工作簿中。我创建了一个userform,其中用户输入策略编号,然后单击一个命令按钮,该按钮应该为另一个用户表单提供该策略的所有引号的下拉列表

访问数据库表包含给定报价的多行但我希望能够提取策略的唯一报价ID列表,用户可以从中选择要加载详细信息的报价。

以下是Access数据库的摘录(表名qteVehicleDetails,数据库名称QuoteDB)

Database Extract

Private Sub CommandButton1_Click()

Dim dbQuoteDB As Database
Dim rTemp As Recordset
Dim sSQL As String



Set dbQuoteDB = OpenDatabase(QuoteDB, False, False, "MS Access;PWD=***")

    sSQL = "SELECT qteVehicleDetails.* FROM qteVehicleDetails WHERE (qteVehicleDetails.policyno=" & LoadQuoteDetails.Controls("PolicyNo").Value & " AND qteVehicleDetails.Class=" & LoadQuoteDetails.Controls("Class").Value & ");"
    Set rTemp = dbQuoteDB.OpenRecordset(sSQL)

    Do Until rTemp.EOF

    ???



    rTemp.MoveNext


End Sub

我希望能够提取给定策略的唯一引号id列表(您将从数据库提取中看到有重复项)

然后我想将此保存为可用于填充第二个用户窗体中的组合框的范围。

1 个答案:

答案 0 :(得分:0)

"SELECT DISTINCT qteVehicleDetails.* FROM qteVehicleDetails WHERE (qteVehicleDetails.policyno=" & LoadQuoteDetails.Controls("PolicyNo").Value & " AND qteVehicleDetails.Class=" & LoadQuoteDetails.Controls("Class").Value & ");"

你可以尝试添加“不同的”'在你的sql脚本中