ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6696|回复: 23

模糊搜索忽略字段行

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-1-10 10:51 | 显示全部楼层 |阅读模式
参照了 http://club.excelhome.net/thread-166467-1-1.html 里的模糊搜索案例做了个广告方案数据库,功能是正常的,但发觉搜索的结果是连第一行字段名都显示出来,请问有什么方法可以忽略每个表的第一行呢?谢谢


Demo.rar (21.37 KB, 下载次数: 12)



TA的精华主题

TA的得分主题

发表于 2012-1-10 11:06 | 显示全部楼层
第一段使用有标题:
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim cn As Object, Sql$, sh As Worksheet, rowend&
  3.     Dim RST As New ADODB.Recordset
  4.     Dim arr
  5.     If Target.Address = [b1].Address And Not IsEmpty([b1]) Then
  6.         Set cn = CreateObject("ADODB.Connection")
  7. '        cn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no';data source=" & ThisWorkbook.FullName
  8.         cn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
  9.         Range("A4:L" & [a65536].End(xlUp).Row + 1).ClearContents
  10.         For Each sh In Worksheets
  11.             If sh.Name <> "Result" Then
  12.                 Sql = ""
  13.                 arr = sh.[a1].CurrentRegion
  14.                 For i = 1 To UBound(arr, 2)
  15.                     Sql = Sql & arr(1, i) & " like '%" & [b1].Text & "%' or "
  16.                 Next
  17.                 Sql = Left(Sql, Len(Sql) - 3)
  18.                 Sql = "select * from [" & sh.Name & "$] where " & Sql
  19.                 [a65536].End(xlUp).Offset(1, 0).CopyFromRecordset cn.Execute(Sql)
  20.             End If
  21.         Next
  22.         cn.Close:    Set cn = Nothing
  23.     End If
  24.     If Target.Address = [g1].Address And Not IsEmpty([g1]) Then
  25.         Set RST = CreateObject("Adodb.Recordset")
  26.         Set cn = CreateObject("ADODB.Connection")
  27.         cn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no';data source=" & ThisWorkbook.FullName
  28.         Sql = ""
  29.         For i = 1 To [iv3].End(xlToLeft).Column
  30.             Sql = Sql & "f" & i & " like '%" & [g1].Text & "%' or "
  31.         Next
  32.         Sql = Left(Sql, Len(Sql) - 3)
  33.         rowend = [a65536].End(xlUp).Row
  34.         Sql = "select * from [Result$a4:h" & rowend & "] where " & Sql
  35.         RST.Open Sql, cn, adOpenStatic
  36.         [a4].CopyFromRecordset RST
  37.         Range("A" & 4 + RST.RecordCount & ":L" & rowend + 1).ClearContents
  38.         cn.Close:    Set cn = Nothing
  39.     End If
  40. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-1-10 11:19 | 显示全部楼层
谢谢板主,请问可以讲解一下吗?

TA的精华主题

TA的得分主题

发表于 2012-1-10 11:33 | 显示全部楼层
okenny 发表于 2012-1-10 11:19
谢谢板主,请问可以讲解一下吗?

'excel 8.0;hdr=no',没有标题,所有行都是数据行,SQL语句中的工作表区域不包含实际标题行,字段用F1、F2、……表示
excel 8.0默认有标题行,SQL语句中的工作表区域第一行就是标题行,其他是数据区,字段是标题行中实际标题

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-1-10 11:46 | 显示全部楼层
板主,我还想问多个问题,因为我每一行数据后面都有两个图片,一个是照片一个是地图,请问有没有办法搜索结果出来后连同图片一起显示呢?急盼

TA的精华主题

TA的得分主题

发表于 2012-1-10 12:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
okenny 发表于 2012-1-10 11:46
板主,我还想问多个问题,因为我每一行数据后面都有两个图片,一个是照片一个是地图,请问有没有办法搜索结 ...

这个要求挺新颖,SQL好像不能查询数据之外的东西,图片应该复制,建议使用Find方法查询并复制区域

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-1-10 13:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zhaogang1960 发表于 2012-1-10 12:29
这个要求挺新颖,SQL好像不能查询数据之外的东西,图片应该复制,建议使用Find方法查询并复制区域

板主,这个是我原来做的,可以显示照片,有没有办法将新旧两个数据库合二为一呢?

demoOld.rar (259.59 KB, 下载次数: 7)


TA的精华主题

TA的得分主题

发表于 2012-1-10 14:56 | 显示全部楼层
okenny 发表于 2012-1-10 13:20
板主,这个是我原来做的,可以显示照片,有没有办法将新旧两个数据库合二为一呢?

没有理解,请模拟效果

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-1-10 15:24 | 显示全部楼层
例如输入“丰兴”后,搜索出来的结果是包含图片的

媒体demo.rar (36.5 KB, 下载次数: 8)


TA的精华主题

TA的得分主题

发表于 2012-1-10 15:48 | 显示全部楼层
只修改了第一段:
媒体demo.rar (37.21 KB, 下载次数: 19)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-13 03:32 , Processed in 0.042665 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表