
利用VB窗体控件Listview按条件进行查询
窗体上有一个文本框有一个命令按钮一个Listview控件在文本框中输入内容点击命令按钮对ACCESS数据库进行查询并显示在Listview控件里我下面的代码没有查询功能,...
窗体上有一个文本框 有一个命令按钮 一个Listview控件 在文本框中输入内容 点击命令按钮 对ACCESS数据库进行查询 并显示在Listview控件里 我下面的代码没有查询功能,点击全部显示出来了。请各位大师帮忙写出代码。谢谢!
Dim conn, Reco
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
ListView1.View = lvwReport
ListView1.FullRowSelect = True
ListView1.GridLines = True
ListView1.FullRowSelect = True
ListView1.ColumnHeaders.Add , , "系统编号", 1000
ListView1.ColumnHeaders.Add , , "日期", 1000
ListView1.ColumnHeaders.Add , , "订单编号", 1000
ListView1.ColumnHeaders.Add , , "产品编号", 1000
ListView1.ColumnHeaders.Add , , "产品名称", 1000
ListView1.ColumnHeaders.Add , , "产品规格", 1000
ListView1.ColumnHeaders.Add , , "产品型号", 1000
ListView1.ColumnHeaders.Add , , "产品单位", 1000
ListView1.ColumnHeaders.Add , , "订单数量", 1000
ListView1.ColumnHeaders.Add , , "交货日期", 1011
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & "F:\My DBank\HC\order .mdb;", "admin"
Set rs = CreateObject("ADODB.Recordset")
Dim spl As String
Sql = "select * from 生产订单 where 订单编号 like'*" & TextBox1.Text * "%'"
If IsEmpty(Sql) Then Exit Sub
rs.Open "Select * from 生产订单", conn, 1, 1 'adOpenKeyset, adLockOptimistic
For i = 1 To rs.RecordCount
Me.ListView1.ListItems.Add , , rs.Fields("编号")
ListView1.ListItems(i).SubItems(1) = IIf(IsNull(rs.Fields("接单日期")), "0", rs.Fields("接单日期"))
ListView1.ListItems(i).SubItems(2) = IIf(IsNull(rs.Fields("订单编号")), "0", rs.Fields("订单编号"))
ListView1.ListItems(i).SubItems(3) = IIf(IsNull(rs.Fields("产品编号")), "0", rs.Fields("产品编号"))
ListView1.ListItems(i).SubItems(4) = IIf(IsNull(rs.Fields("产品名称")), "0", rs.Fields("产品名称"))
ListView1.ListItems(i).SubItems(5) = IIf(IsNull(rs.Fields("产品规格")), "0", rs.Fields("产品规格"))
ListView1.ListItems(i).SubItems(6) = IIf(IsNull(rs.Fields("产品型号")), "0", rs.Fields("产品型号"))
ListView1.ListItems(i).SubItems(7) = IIf(IsNull(rs.Fields("产品单位")), "0", rs.Fields("产品单位"))
ListView1.ListItems(i).SubItems(8) = IIf(IsNull(rs.Fields("订单数量")), "0", rs.Fields("订单数量"))
ListView1.ListItems(i).SubItems(9) = IIf(IsNull(rs.Fields("交货日期")), "0", rs.Fields("交货日期"))
rs.MoveNext
Next
如果不要 Sql = "select * from 生产订单 where 订单编号 like'*" & TextBox1.Text * "%'"这一句它会全部显示,加上这句系统弹出一个结话框说“要求对象错误”请各位大师帮忙急!! 展开
Dim conn, Reco
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
ListView1.View = lvwReport
ListView1.FullRowSelect = True
ListView1.GridLines = True
ListView1.FullRowSelect = True
ListView1.ColumnHeaders.Add , , "系统编号", 1000
ListView1.ColumnHeaders.Add , , "日期", 1000
ListView1.ColumnHeaders.Add , , "订单编号", 1000
ListView1.ColumnHeaders.Add , , "产品编号", 1000
ListView1.ColumnHeaders.Add , , "产品名称", 1000
ListView1.ColumnHeaders.Add , , "产品规格", 1000
ListView1.ColumnHeaders.Add , , "产品型号", 1000
ListView1.ColumnHeaders.Add , , "产品单位", 1000
ListView1.ColumnHeaders.Add , , "订单数量", 1000
ListView1.ColumnHeaders.Add , , "交货日期", 1011
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & "F:\My DBank\HC\order .mdb;", "admin"
Set rs = CreateObject("ADODB.Recordset")
Dim spl As String
Sql = "select * from 生产订单 where 订单编号 like'*" & TextBox1.Text * "%'"
If IsEmpty(Sql) Then Exit Sub
rs.Open "Select * from 生产订单", conn, 1, 1 'adOpenKeyset, adLockOptimistic
For i = 1 To rs.RecordCount
Me.ListView1.ListItems.Add , , rs.Fields("编号")
ListView1.ListItems(i).SubItems(1) = IIf(IsNull(rs.Fields("接单日期")), "0", rs.Fields("接单日期"))
ListView1.ListItems(i).SubItems(2) = IIf(IsNull(rs.Fields("订单编号")), "0", rs.Fields("订单编号"))
ListView1.ListItems(i).SubItems(3) = IIf(IsNull(rs.Fields("产品编号")), "0", rs.Fields("产品编号"))
ListView1.ListItems(i).SubItems(4) = IIf(IsNull(rs.Fields("产品名称")), "0", rs.Fields("产品名称"))
ListView1.ListItems(i).SubItems(5) = IIf(IsNull(rs.Fields("产品规格")), "0", rs.Fields("产品规格"))
ListView1.ListItems(i).SubItems(6) = IIf(IsNull(rs.Fields("产品型号")), "0", rs.Fields("产品型号"))
ListView1.ListItems(i).SubItems(7) = IIf(IsNull(rs.Fields("产品单位")), "0", rs.Fields("产品单位"))
ListView1.ListItems(i).SubItems(8) = IIf(IsNull(rs.Fields("订单数量")), "0", rs.Fields("订单数量"))
ListView1.ListItems(i).SubItems(9) = IIf(IsNull(rs.Fields("交货日期")), "0", rs.Fields("交货日期"))
rs.MoveNext
Next
如果不要 Sql = "select * from 生产订单 where 订单编号 like'*" & TextBox1.Text * "%'"这一句它会全部显示,加上这句系统弹出一个结话框说“要求对象错误”请各位大师帮忙急!! 展开
2014-06-14
展开全部
sql="select * from 生产订单 where 订单编号 like '*" & textbox1.text & "*'"
access中使用*,sqlserver中使用%
access中使用*,sqlserver中使用%
追问
您是说把所有的*改成%吗?select * from这里的需要改吗
执行到RS.Open "Select * from 生产订单", conn, 1, 1 'adOpenKeyset, adLockOptimistic 句时弹出 “要求对象错误”
追答
你用debug.print sql,复制字符串到access查询里测试,看能否通过
方法,新建查询,设计视图,点右键,点SQL视图,粘贴SQL语句,进行测试
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询