数据库:txt.mdb
表:sys
记录:bh  mc
     001 aaaaa
     002 bbbbb
     003 ccccc
在combo中增加所有记录:dim n as integer
for n =0 to val(rs.recordcount)-1
    combo1.additem trim(rs.fileds("bh"))&trim(rs.fileds("mc"))    
    rs.movenext
next ncombo中能同时显示出所有记录但如何单独载取“BH”和“MC”呢?
  
------------------------------
表:id,bh,mc
使用ADO时,要修改记录,如何同时修改BH,MC,该如何操作。我的相法是使用update更新以id号做为条件,但不知道该如何。
我以label显示ID号,text1和text2分别显示bh,mc,再增加一个command(修改),想以label的caption做为更新条件该如何操作。

解决方案 »

  1.   

    这位大哥呀。COMBO不用用吗?你有什么好的近控件呀?能如何解决这个问题呢?[email protected]
      

  2.   

    你的方法没有错阿,前面的那个combobox不知道你什么意思?为什么要用这个东西来显示记录呢?你只要在combobox里面把id显示出来,让用户选定记录号以后再把其他内容放在lable或者textbox中就行了.记住是在combobox的click事件而不是onchange事件添加代码.你说的那个update的问题,就在button控件的click事件中执行sql语句就行了.
    sql = "update youTable set bh='" & textBh.text & "', mc='" & textMc.text & "'";
      

  3.   

    sorry,上面的sql语句后面还有一点,漏了.
    sql = "update youTable set bh='" & textBh.text & "', mc='" & textMc.text & "' where id=" & textId.text;
      

  4.   

    楼上大哥:combo中显示的情况为
            001aaaa
            002bbbb
    我要把001,002这些编号截取到text1中,把aaaabbbb这些名称截取到text2中哟,该如何操作呢?
    ------------------------
      

  5.   

    那你不该这么截
    你直接在数据库中读出来放到textbox中去就行了.
    你前面不是已经有rs.field(1)这样的东西了吗?那就是你要的了,直接textbox.text=rs.field(1)之类的语句就行了.
      

  6.   

    我的问题是这样的。
    表:bh,mc
    记录:001 aaaa
         002 bbbb
         003 cccc
    一个textbox,一个combo,我想在text中显示bh,combo中显示mc,选择combo中的项目时,text中会做相应的更改。。
      

  7.   

    textbox = rs.fileds(Combo1.Index)
      

  8.   

    dim n as integer
    for n =0 to val(rs.recordcount)-1
        combo1.additem trim(rs.fileds("bh"))+space(5)+trim(rs.fileds("mc"))    
        rs.movenext
    next n
    然后从combo中取数据。Private Function getleftext(kk As String) As String
    Dim i As Integer
    i = InStr(1, kk, " ")
    If i = 0 Then getleftext = Trim(kk)
    If i > 0 Then
    getleftext = Mid(kk, 1, i - 1)
    End If
    End Function  ''///取左边的,BH
    ------------------------
    Private Function getrightext(kk As String) As String
    Dim i As Integer
    i = InStr(1, kk, " ")
    If i = 0 Then getrightext = Trim(kk)
    If i > 0 Then
    getrightext = Mid(kk, i + 1)
    End If
    End Function ''//////////取右边的,MC
    ----------------------------------------------
    select1="update 表名 set bh='" & trim(text1) &"',mc='" & trim(text2) &"' where id=trim(label1.caption)"
    cn.execute(select1)
    ------------------------
      

  9.   

    这样作了:
    你的combobox只取出记录的id号.
    然后在combobox的onclick事件中写代码,执行一下sql语句.
    sql="select bh,mc from YourTable where id=" & combobox1.selecteditem.data
    combobox1.selecteditem.data就是你的id号拉,至于这里怎么弄,看你自己怎么方便,反正把id号读出来的时候把这个id存下来就行了.combobox1.text也行.
    然后把得到的rs的相应字段赋给textbox就行了.
      

  10.   


    可以在combo 中的单击事件中判断combo的text内容,然后查找数据库中“MC”为combo.text的“BH”项显示在TEXT中就行了
      

  11.   

    表:id,bh,mc
    使用ADO时,要修改记录,如何同时修改BH,MC,该如何操作。我的相法是使用update更新以id号做为条件,但不知道该如何。if ID="条件" then
         with adodc1.recordset
            .fields("BH")="新内容"
            .fields("MC")="新内容"
            .update
         end with
    end if我以label显示ID号,text1和text2分别显示bh,mc,再增加一个command(修改),想以label的caption做为更新条件该如何操作。adodc1.recordsource="select * from 表名 where ID='"& trim(label1.caption) &"'"
    adodc1.refresh
    if adodc1.recordset.recordcount=1 then
         with adodc1.recordset
            .fields("BH")=trim(text1.text)
            .fields("MC")=trim(text2.text)
            .update
         end with
    else
         msgbox "没有找到记录!",vbokonly,"错误"
    end if