搜索
写经验 领红包
 > 游戏

大数据查询时固定长度字符和多个起始字符怎么设置(大数据字段类型)

导语:大数据查询时,固定长度字符和多个起始字符汇总查询的实现

大家好,我们继续讲解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 上述在代码讲解中我讲了两个扩展内容,读者可以自己测试。

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小德创作整理编辑!