使用表中的不同值填充组合框

Posted

技术标签:

【中文标题】使用表中的不同值填充组合框【英文标题】:Populating A combo box USING distinct values from table 【发布时间】:2014-01-22 19:53:41 【问题描述】:

我有此代码用于填充管理员人员页面的组合框,允许他们根据他们的技能水平搜索已预订的课程,但是对于我的 A2 计算而言,我决定填充组合带有表格中的值的框,遗憾的是,正如预期的那样,它显示了在表格上输入的相同值的重复出现,所以我如何调整我当前的代码以基本上执行相当于 SELECT DISTINCT 的操作,但仍然填充组合盒子。谢谢

<% 
 set db=server.createobject("adodb.connection")
set orseof=server.createobject("adodb.recordset")
db.open "DRIVER=Microsoft Access Driver (*.mdb); DBQ=" & Server.MapPath("skiRossy.mdb") 
 orseof.open "tblprivate",db
  %>

   <% Do While Not orseof.EOF  ' define the ListBox OPTIONs %>
    <OPTION VALUE="<%= orseof("skill") %>"> <%= orseof("skill") %>
  <% orseof.MoveNext %>
 <% Loop %>
<% orseof.Close %>
</SELECT>

【问题讨论】:

【参考方案1】:

什么是 tblprivate。如果它是表的名称,那么您需要在该上下文中用 SQL 查询替换它,例如 orseof.open "select skill from tblprivate",db 如果技能是您要在选择中使用的唯一字段,(或“从 tblprivate 中选择 *”)如果还有其他字段要添加。

您正在使用 ODBC 连接字符串,它应该可以正常工作,但 OLEDB 字符串通常被认为更健壮,例如

"PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.Mappath("skiRossy.mdb") 

【讨论】:

以上是关于使用表中的不同值填充组合框的主要内容,如果未能解决你的问题,请参考以下文章

Visual Basic - 使用组合框将 Access 表中的数据填充到文本框

组合框级联效应不适用于不同的行

可以使用表中的行值在加载时动态构建组合框吗?

使用来自不同列的值通过数据源填充组合框

如何从同一表单中的另一个组合框填充组合框?

将不同的表连接到 C# 组合框中的不同项目