Private mobjConn As adodb.Connection   '数据库连接
Private Sub Form_Load()
'打开数据库连接
    Set mobjConn = New adodb.Connection
    mobjConn.Provider = "Microsoft.Jet.OLEDB.4.0"
    
    If Right(App.Path, "1") = "\" Then
        mobjConn.Open App.Path & "db1.mdb"
    Else
        mobjConn.Open App.Path & "\db1.mdb"
    End If
    Call ReadData
End Sub
Private Function ReadData() As Boolean
    Dim rs As New adodb.Recordset
    Dim i As Long
    
    On Error GoTo ErrorHandler
    
    Grid1.Rows = 1
    
    '从数据库中读取数据
    rs.CursorLocation = adUseClient
    rs.LockType = adLockReadOnly
    rs.CursorType = adOpenStatic
    rs.Open "select sydw & chr(9) & lx  & chr(9) & ppxk  & chr(9) & znn  & chr(9) & mj  & chr(9)  & xct  & chr(9) & bd as Item,ID from jyh where  xct <>'' order by dcbm ", mobjConn
 
    '没有记录
    If rs.RecordCount = 0 Then
        Grid1.AddItem ""
        rs.Close
        Set rs = Nothing
        ReadData = True
        Exit Function
    End If
       
    
    '从记录集中取得数据,并填充到Grid
    i = 0
    Do While Not rs.EOF
        i = i + 1
        Grid1.AddItem rs("Item").Value, False
        Grid1.Cell(i, 0).Tag = "U"
        Grid1.Cell(i, 1).Tag = rs("ID").Value
   '****************************请教如何将ppxk字段中内容加载到Combo1******************************
        Combo1.AddItem rs.Fields(“ppxk”).value   ,报错:在对应所需名称或序数的集合中,未找到项目
   ’**********************************************************************************************
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    ReadData = True
    Exit Function
    
ErrorHandler:
    Err.Clear
End Function
数据读写正常,写入表格正常,就是要取得单个字段数据报错!
'****************************请教如何将ppxk字段中内容加载到Combo1******************************
        Combo1.AddItem rs.Fields(“ppxk”).value   ,报错:在对应所需名称或序数的集合中,未找到项目
’**********************************************************************************************
大哥们,指点一下吧!

解决方案 »

  1.   

    Combo1.AddItem rs.Fields(“ppxk”).value
    换成半角的双引号
    Combo1.AddItem rs.Fields("ppxk").value
      

  2.   


    还是报错,用的就是Combo1.AddItem rs.Fields("ppxk").value
      

  3.   

    查检以下语句,出库了多少个字段,是否有
    PPXK字段rs.Open "select sydw & chr(9) & lx & chr(9) & ppxk & chr(9) & znn & chr(9) & mj & chr(9) & xct & chr(9) & bd as Item,ID from jyh where xct <>'' order by dcbm ", mobjConnchr(9)在SQL中做什么??
      

  4.   

    ppxk是什么字段,
    rs.Open "select sydw,lx,ppxk,znn,mj,xct,bd as Item,ID from jyh where xct <>'' order by dcbm ", mobjConn
      

  5.   

    1,检查是否有ppxk字段且是否已经写入到SQL语句中
    2,为防止字段不NULL值可以在后加一个空格:Combo1.AddItem rs.Fields("ppxk").value & ""
      

  6.   


    出库了七个字段:sydw,lx,ppxk,znn,mj,xct,bd 加载到表格正常
    chr(9)在SQL中起到tab键的作用,主要用于Grid1.AddItem rs("Item").Value, False这一语句
    把这条记录集打散填充到Grid1对应的各项中。
    如果换成“孤独剑”所说:rs.Open "select sydw,lx,ppxk,znn,mj,xct,bd as Item,ID from jyh where xct <>'' order by dcbm ", mobjConn
    我该如何把“Item”项的记录集加载到表格?
      

  7.   

    那楼主您就改成以下试一下。
    i = 0
     rs.MoveFirst
      Do While Not rs.EOF
      i = i + 1
      Grid1.AddItem rs("Item").Value, False
      Grid1.Cell(i, 0).Tag = "U"
      Grid1.Cell(i, 1).Tag = rs("ID").Value
      '****************************请教如何将ppxk字段中内容加载到Combo1******************************
      Combo1.AddItem rs.Fields(2).value ,报错:在对应所需名称或序数的集合中,未找到项目
      ’*************************************************************************************
      rs.MoveNext
      Loop
      Combo1.ListIndex = 0
      rs.Close
      Set rs = Nothing
      ReadData = True
      Exit Function
    ErrorHandler:
      Err.Clear
    End Function
      

  8.   

    问题已解决!
    rs.Open "select sydw,lx,ppxk,znn,mj,xct,bd ,ID from jyh where xct <>'' order by dcbm ", mobjConn'加载到表格
    Grid1.AddItem rs("sydw").Value & chr(9) & rs("lx").Value & chr(9) & rs("ppxk").Value & chr(9) & rs("znn").Value & chr(9) & rs("mj").Value & chr(9) & rs("xct").Value & chr(9) & rs("bd").Value & chr(9) & , False '加载正常'加载到Combo1
    Combo1.AddItem rs.Fields(“ppxk”).value '加载正常!
    弱弱的再问一下,当"ppxk"这个字段中有相同数据时,加载到Combo1怎样去除相同项:
    例如:"ppxk"字段有以下四条记录:aaa1,aaa1,aaa2,aaa2而我想要的结果是Combo1中只出现:aaa1,aaa2 (因为其它两条是相同的,就没必要出现了),呵呵……不知道我是否表达清楚了?
      

  9.   

     rs.Open "select DISTINCT sydw,lx,ppxk,znn,mj,xct,bd ,ID from jyh where xct <>'' order by dcbm ", mobjConn
      

  10.   

    打开记录集的语句有问题 
    rs.Open "select sydw,  lx, ppxk , znn , mj ,xct , bd as Item,ID from jyh where xct <>'' order by dcbm ", mobjConn