Access VBA Excel 12 模糊查詢

2021-08-14 17:56:54 字數 2617 閱讀 7916

系統:windows 7

軟體:excel 2010/access 2010

商品清單

根據商品id檢索需要的商品

邏輯過程

檢索商品id首字母為m的商品

sub test()

dim cnn as

new adodb.connection '連線

dim rs as

new adodb.recordset

dim sql as

string

dim tblname

dim dbaddr

dbaddr = thisworkbook.path & "\商品清單.accdb"

tblname = "商品清單"

'連線資料庫

with cnn

.provider = "microsoft.ace.oledb.12.0"

.open "data source=" & dbaddr

endwith

opfilds = "商品id,商品名稱,廠家,數量"

searchc = "商品id like 'm%'"

sql = "select " & opfilds & " from " & tblname & " where (" & searchc & ")"

set rs = cnn.execute(sql)

dim sht

dim fildnum

set sht = thisworkbook.worksheets("示例")

sht.cells.clearcontents

fildnum = rs.fields.count

for j = 0

to fildnum - 1

step

1 fildname = rs.fields(j).name

sht.cells(1, j + 1) = fildname

next j

sht.cells(2, 1).copyfromrecordset rs

cnn.close

set rs = nothing

set cnn = nothing

endsub

**截圖

執行結果

select 商品id,商品名稱,廠家,數量 from 商品清單 where (商品id like 'm%')中文釋義:選取滿足商品id第1位為字母m的商品資訊,從結果看,沒有區分大小寫

這樣的%表示0或者任意字元,有點像*的作用

_代表單一字元,searchc = "商品id like '____'"四個下劃線,結果如下

指定範圍,searchc = "商品id like '[0-9]%'",表示0-9開頭的字串,結果如下

[ ]指定範圍,searchc = "商品id like '[a-z]%'",表示a-z開頭的字串,依然沒有區分大小寫,結果如下

[!]指定範圍之外,searchc = "商品id like '[!a-z]%'",表示不以a-z開頭,結果如下

not like取反,searchc = "商品id not like '[a-z]%'",表示a-z開頭的字串,依然沒有區分大小寫,結果如下

以上為本次的學習內容,下回見

1D1A 1 插入排序

演算法導論第乙個演算法就是插入排序,思想簡單,如果是從小到大排序,就是從第二個數開始,和前邊的數比較,直到大於等於前邊那乙個數,然後放在那個位置。而且,先用python寫,就相當於偽 特別好,既有思路,還把python練習一下,然後再用c python def insertsort a for i ...

1 小試牛刀 1

1.echo e 包含轉義序列的字串 2.彩色列印 文字 重置 0,黑 30,紅 31,綠 32,黃 33,藍 34,洋紅 35,青 36,白 37 背景 40,41,42,43,44,45,46,47 example 1 echo e e 1 31m zhangjing e 0m 紅字 2 ech...

演算法(1) 遞迴演算法1

人理解迭代,神理解遞迴。綜上所述,還是不理解地好。遞迴三要素 1 明確遞迴的終止條件 2 給出遞迴終止時的處理辦法 3 提取重複的邏輯,縮小問題的規模 遞迴的兩種解決模式 1 在遞去的過程中解決問題 function recursion 大規模input if end condition endel...