小弟用的是VB6.0。在Frm_day中有一个ComboBox控件,ACCESS数据库中有一张名为bb的表,表的结构如下:编号    班别1      早班2      中班3      晚班希望实现的功能:
              当下拉ComboBox的时候,读取ACCWSS中的数据,使其出现:早班   中班  晚班三个选项,然后选取其中的一个,按“确定”按钮进入下一张FORM 。

解决方案 »

  1.   

    SORRY,将ACCESS打成了ACCWSS了。
      

  2.   

    如果只有3行,不需要用数据库。直接在combox属性页设置 行来源类型 为 值列表
    然后在 行来源 里 写:1;早班;2;中班;3;晚班;
    列数设为2无需编码
      

  3.   

    private sub frm_day_load()
        dim rs as new adodb.recordset
        dim i as long
        rs.open "select 班别 from bb",conn,adopenkeyset,adlockreadonly
        combobox.clear
        for i =1 to rs.recordcount
            combobox.additem rs.fields("班别").value & ""
            rs.movenext
        next i
        rs.close
    end sub
      

  4.   

    2楼朋友的方法不能换行。左手兄的方法没有作用,不知是不是我的ACCESS数据库设置了密码导致不能读取。
      

  5.   

    以下是我的整段代码:
    Dim cn As New adodb.Connection
    Dim rs As New adodb.RecordsetPrivate Sub Command1_Click()
    Unload Me
    frm_data.Show
    frm_main.Hide
    End SubPrivate Sub Command2_Click()
    Unload Me
    frm_main.Show
    End SubPrivate Sub Form_Load()
    ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\Data.Mdb" & " ;Jet OLEDB:Database password=123456"
    cn.Open ConStr
    cn.CursorLocation = adUseServer
    rs.Open "Select * from rq", cn, adOpenKeyset, adLockPessimistic
    If rs.RecordCount > 0 Then
    cn.Execute "Update rq set xtrq=#" & Format(Now, "yyyy-m-d") & "#"
    Label_date.Caption = rs("xtrq")
    End If
    rs.Close
    cn.Close
    Exit Sub
    End Sub请各位朋友帮忙看一下到底是哪里出的问题,谢谢~~~
      

  6.   

    最好不要用rs.RecordCount属性判断记录集是否为空
    更何况你的cn.CursorLocation = adUseServer 
    if rs.eof and rs.bof then
        空的记录集
    endif
    if not (rs.eof and rs.bof) then
        记录集不为空
    endif
      

  7.   

    我在FORM_LOAD中加入代码:
    Combo1.AddItem "早班"
    Combo1.AddItem "中班"
    Combo1.AddItem "晚班"基本可实现我所要的功能,但问题又来了.
    在Combo中选择的内容可以手动删除,Combo在没有任何内容的状态下可以进入下一张FORM。问:
    1、怎样可以令Combo的内容不为空?
    2.怎样令Combo选择的内容不能修改?(如将locked属性选择为True,则下拉菜单不能选择,所以此方法也行不通。)
    各位有什么好办法吗?谢谢!
      

  8.   

    问题2已经解决。问:
        怎样令Combo的内容不能为空?
      

  9.   

    将combobox控件的style属性设置为2 - dropdown list
    这样就不能修改内容,只能从控件中选择
      

  10.   

    左手兄,很多谢你对我的关注,在此深表感谢。
    style属性设置为2,内容不能修改。这个知道。但现在我发现就算我在ComboBox中什么也不选,也照样可以按“确定”进入下一张FORM。我想实现的功能是:
                   [color=#FF0000]在Combo下拉出现的3个选项中一定要选择其中一个才能过。否则弹出提示:“请选择班别”。[/color]请问有可能实现吗?有劳!
      

  11.   

    Private Sub Command2_Click() 
    if combobox.text="" then
        msgbox "请选择班别!",48,"提示"
        exit sub
    end if
    Unload Me 
    frm_main.Show 
    End Sub 
      

  12.   


    这个容易:Private Sub cmdOK_Click()
        If Combo1.ListIndex = -1 Thne
            MsgBox "请选择班别"
            Exit Sub
        End If......
    End Sub还有更简单的:
    在FORM_LOAD中加入代码: 
    Combo1.AddItem "早班" 
    Combo1.AddItem "中班" 
    Combo1.AddItem "晚班" 
    Combo1.ListIndex = 0
      

  13.   

    将combobox控件的style属性设置为2 - dropdown list后,combo控件中的txt值就不能再编程过程中改变了,它只显示combo1.但是我想显示“请选择班级”。