读书人

请老大们帮小弟我看下这段数据库代码(

发布时间: 2012-02-25 10:01:48 作者: rapoo

请老大们帮我看下这段数据库代码(特急,在线等)
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 ,报错:在对应所需名称或序数的集合中,未找到项目
’**********************************************************************************************
大哥们,指点一下吧!


[解决办法]
Combo1.AddItem rs.Fields(“ppxk”).value
换成半角的双引号
Combo1.AddItem rs.Fields("ppxk").value
[解决办法]
1,检查是否有ppxk字段且是否已经写入到SQL语句中
2,为防止字段不NULL值可以在后加一个空格:Combo1.AddItem rs.Fields("ppxk").value & ""

[解决办法]
那楼主您就改成以下试一下。
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

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

读书人网 >VB

热点推荐