不知道是VB的bug问题,还是我的问题.想用combobox显示表中一列的内容.例如是tab1.数据库连接没问题.
把代码写在form_load()里边,也是没有问题,点击combobox时,数据库中表内的内容就显示在combobox的下拉菜单中了.
但是如果把此代码,放到 过程 中.然后在private sub combobox_click()中调用.这时,下拉菜单没有反应.也就是说,程序失效了.不知道为什么~``????别人的程序在它的click()属性中,就能用.而我自己编写的,就用不了.好奇怪~~
下边是代码
------------------------------------------------------------------------------------
Option Explicit
Public adoCnn As New ADODB.Connection
Public adoCmm As New ADODB.Command
Public adoRec As New ADODB.RecordsetSub main()
adoCnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ld.mdb;Persist Security Info=False"
adoCmm.ActiveConnection = adoCnn
adoCmm.CommandType = adCmdTextForm1.Show
End Sub
-----------------------------------------------------------------------------------------
Private Sub Combo1_Click()
Call Ccombo2
End SubPrivate Sub Ccombo2()
'Dim k As String'k = "select * from tab1"
If adoRec.State = adStateClosed Then
adoRec.Open "tab1", adoCnn, 1, 3
End IfWhile Not adoRec.EOF
Combo1.AddItem adoRec(0).Value
adoRec.MoveNext
WendEnd SubPrivate Sub Form_Load()End Sub
谢谢,帮忙看看.

解决方案 »

  1.   

    你自己的ComboBox控件的名称是什么呢?
      

  2.   

    combo1呀,这个是我combobox的控件名称
      

  3.   

    你把那个Combo1.AddItem adoRec(0).Value中的adoRec(0).value加上"",实验一下。
      

  4.   

    还有就是把adoRec.Open "tab1", adoCnn, 1, 3中的tab1换成k,再看看。
      

  5.   

    If adoRec.State = adStateClosed Then
    adoRec.Open "tab1", adoCnn, 1, 3
    End IfWhile Not adoRec.EOF
    Combo1.AddItem adoRec(0).Value
    adoRec.MoveNext
    Wend
    你的tab1根本没有定义啊!当然结果集就是空的了!
      

  6.   

    晕,试了一下,新添加一个combobox,发现它根本不响应Click和DblClick
    这是我的combobox问题还是BUG
      

  7.   

    呵呵,谢谢各位这么热心.
    我的tab1是数据库中的一个表呀,已经定义好的了,仔细看最开始我说的话,就能看到.billsmileok(后街男孩),这2个地方,应该没有错的.因为我把他们原封不动地在form_load中调用就可以显示.
    也就是说,这2个地方没有错的.至今迷惑中@_@
      

  8.   

    jian_aa(aa) 
    哈哈,看来的确是combobox的bug了~~在我朋友那里,也是不相应.也就是说,根本就没有click这个事件.郁闷啊~```
      

  9.   

    click事件是有的,当combobox里的ListIndex改变时就会触发click
      

  10.   

    点击列表项时才触发COMBOBOX的CLICK事件
      

  11.   

    没有纯粹的click事件么?
    我的意思是,当点击这个控件(不点击菜单),那么它就改变自己text的值,或者菜单里边的内容改变.那这样的话,应该怎么做啊?jian_aa(aa) 你写过类似此方法的程序么?
      

  12.   

    哦,那你可以在COMBOBOX得到焦点的时候写代码啊
    在GotFocus事件里写
      

  13.   

    唉,不太好啊~~还是click比较好点.我再看看吧~~
      

  14.   

    Private Sub Combo1_DropDown()
        Me.Combo1.AddItem "aaaaa"End Sub
      

  15.   

    没有纯粹的click事件么?
    我的意思是,当点击这个控件(不点击菜单),那么它就改变自己text的值,或者菜单里边的内容改变.那这样的话,应该怎么做啊?
    ===================
    可以,但恐怕会得不偿失。
    在combo里有一个edit,在子类中拦截这个edit的wm_lbuttondown事件然后做处理