大数据查询时固定长度字符和多个起始字符怎么设置(大数据字段类型)
导语:大数据查询时,固定长度字符和多个起始字符汇总查询的实现
大家好,我们继续讲解VBA数据库解决方案,今日讲解第54讲内容:工作表查询时,固定长度字符和多个起始字符汇总查询功能的实现。在上一讲的内容中,我们讲了类似于筛选功能的实现,今日内容和上讲比较复杂些,其一是固定长度的字符筛选,也就是说筛选的是具有固定长度的符号;其二,多个起始字符的查询,是指多个开始符号的字符。这种功能在工作表中是无法直接实现的,那么在ADO中是否可以实现呢?
实例,我们有如下的数据:
我们要得到的结果是生产厂具有5个字符的数据和以A,B,C,D开始的生产厂家数据,我们看代码该如何书写.下面看我给出的代码:
Sub mynzRecords_54() '第54讲 工作表查询时,固定长度字符和多个起始字符汇总查询功能的实现
Dim cnADO, rsADO As Object
Dim strPath, strSQL3, strSQL4 As String
Worksheets("54").Select
Cells.ClearContents
Set cnADO = CreateObject("ADODB.Connection")
strPath = ThisWorkbook.FullName
cnADO.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 12.0;hdr=yes;imex=1';data source=" & strPath
'固定长度字符
strSQL3 = "select 型号,生产厂,供应商,数量 from [数据$] WHERE 生产厂 Like '_____'" '此处是5个字符长度
arr = Array("型号", "生产厂", "供应商", "数量")
[a1:d1] = arr
[a65536].End(xlUp).Offset(1, 0).CopyFromRecordset cnADO.Execute(strSQL3)
'多个起始字符汇总查询
strSQL4 = "select 型号,生产厂,供应商,数量 from [数据$] WHERE 生产厂 Like '[A,B,C,D]%'" '此处也可以用[A-D]% 的格式
[a65536].End(xlUp).Offset(2, 0).CopyFromRecordset cnADO.Execute(strSQL4)
cnADO.Close
Set cnADO = Nothing
End Sub
代码截图:
代码的讲解:
1 strSQL3 = "select 型号,生产厂,供应商,数量 from [数据$] WHERE 生产厂 Like '_____'" '此处是5个字符长度
此句的SQL语句是实现5个字符长度的生产厂的查询,注意如果是以某字符开始的同样也可以把这个字符加到首位。
2 strSQL4 = "select 型号,生产厂,供应商,数量 from [数据$] WHERE 生产厂 Like '[A,B,C,D]%'" '此处也可以用[A-D]% 的格式。
此句的SQL语句是实现以A,B,C,D 开始的字符匹配查找,同样如果不是以A,B,C,D 开始的字符匹配查找,可以在前面加上NOT.
下面看代码的运行:
今日内容回向:
1 如何实现固定长度字符和多个起始字符汇总查询功能?
2 上述在代码讲解中我讲了两个扩展内容,读者可以自己测试。
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小德创作整理编辑!