Vb6 visual basic 6 access 2007数据库编程级联组合框
我在access 2007中有一个名为:Vb6 visual basic 6 access 2007数据库编程级联组合框,vb6,combobox,ms-access-2007,database-programming,Vb6,Combobox,Ms Access 2007,Database Programming,我在access 2007中有一个名为:schoolInfo的表,它有两个字段(schName和mjrName) 现在,我正试图在Visual Basic 6(cboMajors)中设计一个组合,它与另一个组合(cboSchool)相关 事实上,我希望有层叠的组合框。当我在cboSchool中选择一个项目时,另一个组合应该只代表该学校的相关专业(记录为schName=x和mjrName=y) 而且 现在:第一个组合得到正确的值,但第二个组合完全为空。只是一个建议您检查了 cboMajors.Ad
schoolInfo
的表,它有两个字段(schName和mjrName)
现在,我正试图在Visual Basic 6(cboMajors)
中设计一个组合,它与另一个组合(cboSchool)
相关
事实上,我希望有层叠的组合框。当我在cboSchool中选择一个项目时,另一个组合应该只代表该学校的相关专业(记录为schName=x和mjrName=y)
而且
现在:第一个组合得到正确的值,但第二个组合完全为空。只是一个建议您检查了
cboMajors.AddItem(.Fields(0))在您给我们的代码片段中,我看不到您在表单_Activate()中实际选择学校的任何地方。这意味着在该过程结束时,学校将没有选择,因此fill_majors()将执行:
select DISTINCT mjrName from tblSchoolsInfo where schName= ' '
顺便问一下,这个尾随空间是故意的吗?在这种情况下,即使选择了学校,也不会返回记录。OP在dreamincode.net中解决了这个问题。他在他的组合框字符串末尾加了一个额外的空格:Me.cboSchool&“
我一直想说:“这种行为是经过设计的。”:)连接过程的职责是建立所需的连接,我有一个这样的模块:“Public cn As New ADODB.Connection Public rs As New ADODB.Recordset Sub Connection()Set cn=New ADODB.Connection With cn.ConnectionString=“Provider=Microsoft.ACE.OLEDB.12.0;数据源=“&App.Path&”\sch.accdb;Persist Security Info=False“.Open.CursorLocation=adUseClient End With End Sub”
Private Sub fill_schools()
With rs
.Open "select DISTINCT schName from tblSchoolsInfo", cn, 2, 3
Do While Not .EOF
cboSchool.AddItem (.Fields(0))
.MoveNext
Loop
End With
rs.Close
End Sub
Private Sub fill_majors()
With rs
.Open "select DISTINCT mjrName from tblSchoolsInfo where schName= '" & Me.cboSchool & " '", cn, 2, 3
Do While Not .EOF
cboMajors.AddItem (.Fields(0))
.MoveNext
Loop
End With
End Sub
select DISTINCT mjrName from tblSchoolsInfo where schName= ' '