=========================================================================================
'执行查询
Dim Str As String
Dim Term As String
'按姓名查询
If txtname.Text <> "" Then
frmmain.lv.ListItems.Clear
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open "select * from record where guestname = '" & txtname.Text & "'", db, adOpenStatic, adLockOptimistic
For i = 0 To adoPrimaryRS.RecordCount - 1
frmmain.lv.ListItems.Add , , adoPrimaryRS.Fields(0).Value
For j = 1 To adoPrimaryRS.Fields.Count - 1
frmmain.lv.ListItems(i + 1).SubItems(j) = adoPrimaryRS.Fields(j).Value
Next
frmmain.lv.ListItems(i + 1).SubItems(1) = Format(adoPrimaryRS.Fields(1), "yyyy-m-d")
frmmain.lv.ListItems(i + 1).SubItems(10) = Format(adoPrimaryRS.Fields(10), "yyyy-m-d")
adoPrimaryRS.MoveNext
Next
Unload Me
End If=========================================================================================以上是我查询的语句,显示数据控件为ListView。出错原因:当ListView中有空值时 查询就出错,显示错误为有NULL值。请问怎么解决??感谢你的观看与答复!小弟QQ:112654
'执行查询
Dim Str As String
Dim Term As String
'按姓名查询
If txtname.Text <> "" Then
frmmain.lv.ListItems.Clear
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open "select * from record where guestname = '" & txtname.Text & "'", db, adOpenStatic, adLockOptimistic
For i = 0 To adoPrimaryRS.RecordCount - 1
frmmain.lv.ListItems.Add , , adoPrimaryRS.Fields(0).Value
For j = 1 To adoPrimaryRS.Fields.Count - 1
frmmain.lv.ListItems(i + 1).SubItems(j) = adoPrimaryRS.Fields(j).Value
Next
frmmain.lv.ListItems(i + 1).SubItems(1) = Format(adoPrimaryRS.Fields(1), "yyyy-m-d")
frmmain.lv.ListItems(i + 1).SubItems(10) = Format(adoPrimaryRS.Fields(10), "yyyy-m-d")
adoPrimaryRS.MoveNext
Next
Unload Me
End If=========================================================================================以上是我查询的语句,显示数据控件为ListView。出错原因:当ListView中有空值时 查询就出错,显示错误为有NULL值。请问怎么解决??感谢你的观看与答复!小弟QQ:112654
frmmain.lv.ListItems.Add , , format(adoPrimaryRS.Fields(0).Value)
查询语句
================================================
Private Sub cmdquery_Click()
'执行查询
Dim Str As String
Dim Term As String
'按姓名查询
If chkname.Value And txtname.Text <> "" Then
FrmMain.lv.ListItems.Clear
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open "select * from info where 被保险人 = '" & txtname.Text & "'", db, adOpenStatic, adLockOptimistic
For i = 0 To adoPrimaryRS.RecordCount - 1
FrmMain.lv.ListItems.Add , , adoPrimaryRS.Fields(0).Value & ""
For j = 1 To adoPrimaryRS.Fields.Count - 1
FrmMain.lv.ListItems(i + 1).SubItems(j) = Format(adoPrimaryRS.Fields(j).Value)
Next
adoPrimaryRS.MoveNext
Next
Unload Me
End If
End Sub===============================================
数据源连接语句
===============================================
'数据源
Dim db As ADODB.Connection
Dim adoPrimaryRS As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database.mdb;Persist Security Info=False"
cnn.Open
FrmMain.lv.ListItems.Clear
Set adoPrimaryRS = New Recordset=========================================
出错原因:实时错误:3709
连接无法用于执行此操作。在此上下文中它可能被已被关闭或无效!!=====
请问哪里出错了?
为 Set adoPrimaryRS = New ADODB.Recordset
不知道哪里出了问题,请点评。
============================
Dim Str As String
Str = "select * from info where 被保险人 like '%" & txtname.Text & "%'"
If chkname.value And txtname.Text <> "" And chkmohu.value Then
FrmMain.lv.ListItems.Clear
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open Str, db, adOpenStatic, adLockOptimistic
For i = 0 To adoPrimaryRS.RecordCount - 1
FrmMain.lv.ListItems.Add , , adoPrimaryRS.Fields(0).value & ""
For j = 1 To adoPrimaryRS.Fields.Count - 1
FrmMain.lv.ListItems(i + 1).SubItems(j) = Format(adoPrimaryRS.Fields(j).value)
Next
FrmMain.lv.ListItems(i + 1).SubItems(5) = Format(adoPrimaryRS.Fields(6), "yyyy-m-d")
FrmMain.lv.ListItems(i + 1).SubItems(12) = Format(adoPrimaryRS.Fields(12), "yyyy-m-d")
FrmMain.lv.ListItems(i + 1).SubItems(14) = Format(adoPrimaryRS.Fields(14), "yyyy-m-d")
FrmMain.lv.ListItems(i + 1).SubItems(15) = Format(adoPrimaryRS.Fields(15), "yyyy-m-d")
FrmMain.lv.ListItems(i + 1).SubItems(16) = Format(adoPrimaryRS.Fields(16), "yyyy-m-d")
adoPrimaryRS.MoveNext
Next
Unload Me
End If
===============================================
代码我看不出那里有问题,可为什么显示不出模糊的数据??
select * from [info] where 被保险人 like '%" & trim(txtname.Text) & "%'试过这个了吗?