今年夏天,我正在尝试将流程调度程序创建为学校中的一个项目,并且对使用VB还是很新的。目前,我有一个绑定到“ EmployeeBindingSource”的组合框,其中包含公司中每个雇员的信息。为大楼中的每个工作站分配了每个员工的技能等级。我想这样做,如果雇员被列为具有发言权“0”技能,装配站,选择雇员分配到装配站,特定的员工将不会出现在下拉列表时。
通过进行一些研究,我相信与将组合框绑定到设计器中的数据源相比,我将不得不在表单加载时为代码中的每个组合框分配值。
在该表中,我们可以看到Steve在AS_Level类别(程序集)中的技能级别为“ 0”。
但是,在这里我们可以看到,在创建新项目时,他仍然是装配区域的一个选项。
当前,所有数据绑定都在设计器中针对每个组合框进行,因此尚未为该数据绑定编写任何代码。目前,每个组合框都绑定到访问表中的“ Full_Name”列。
再说一次,我对VB还是很陌生,所以如果这太含糊,我深表歉意。让我知道是否能提供更多有用的信息。谢谢大家。
添加建议的代码后,这就是我所拥有的
provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
datafile = "C:\Users\Jacob\Desktop\Halton\HaltonProject.accdb"
connString = provider & datafile
myConnection.ConnectionString = connString
myConnection.Open()
Dim str As String
str = "SELECT * FROM [Employee] WHERE (SP_Level <> '" & 0 & "')"
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
Dim dr As OleDbDataReader = cmd.ExecuteReader
Dim userfound As Boolean = False
Dim Full_Name As String
While dr.Read
userfound = True
Full_Name = dr("Full_Name").ToString
SP_Emp1.Items.Add(Full_Name)
SP_Emp2.Items.Add(Full_Name)
SP_Emp3.Items.Add(Full_Name)
SP_Emp4.Items.Add(Full_Name)
End While
myConnection.Close()
现在完全可以使用!
根据您的评论和发布,我假设左侧的复选框启用/禁用了该行上的组合框,并且由于您更改查询时将它们单独绑定,因此如下所示:
Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM [Employee] WHERE AS_Level <> 0 , myConnection) Dim dr As OleDbDataReader = cmd.ExecuteReader
请注意,where子句将根据您的需要而有所不同,因此它可能是WHERE AS_Level <> 0
orWHERE SP_Level <> 0
等等。
我从未使用过Ole数据库,因此我不太确定语法,希望对您有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句