有時您想在excel中使用sql?
我建立這個模組直接得到結果作為字串(所有專案從fieldloop像這樣a / b / c / d用「/」分隔符),
或者你可以呼叫這個函式到sub並返回乙個陣列來指定範圍在表在access中查詢)
或者甚至直接應用使用ctrl + shift + enter的陣列格式(記住首先選擇多個單元格 - > write = sql()在左上角conner)
sql(datarange as range,fieldloop as string,
可選crita as string ,可選分隔符作為字串,可選唯一作為布林值)
datarange =包含標題的範圍
fieldloop =要迴圈的字段的名稱,可以使用萬用字元,如「*」
或任何字串如正常查詢選擇語句crita =查詢條件(應該像這樣「where」和某些條件)
delimiter =「,」或「/」或任何字元,如果不留下此可選空格,sql函式將返回字串如下:「乙個分隔符b分隔符c delimiter d」
unique = true / false,default = false,使您能夠從tablerange
tada中「select distinct」 您已經在excel中完成了查詢資料。
公共函式sql(datarange as range,fieldloop as string,可選crita as string,可選分隔符作為字串,可選唯一為布林)
錯誤goto err:
dim cn as adodb.connection
dim rs as adodb.recordset
dim tablename as string
dim strresult as variant
dim strfile as string,strcon as string,strsql as string
tablename = datarange.parent.name&「$」&datarange.address(false,false)
strfile = thisworkbook.fullname
strcon =「provider = microsoft.ace.oledb.12.0; data source =」&strfile _
&「;擴充套件屬性=」「excel 12.0; hdr =是; imex = 1」「;」
設定cn = createobject(「adodb.connection」)
設定rs = createobject(「adodb.recordset」)
cn.開啟strcon
如果不是唯一=真的
strsql =「select」&fieldloop&「from [」&tablename&「]」&crita
其他 strsql =「select distinct」&fieldloop&「from [」&tablename&「]」&crita
萬一rs.開啟strsql,cn
用rs 不做(.bof或.eof)
if(instr(1,fieldloop,「,」,vbbinarycompare)> 0或fieldloop =「*」)和delimiter =「」然後
其他iffields(0).value <>「」then
strresult = strresult&.fields(0).value&switch(delimiter =「,」,「,」,true,delimiter)
萬一.movenext
萬一迴圈
結束與如果不是isarray(strresult)而不是isempty(strresult)然後
如果len(strresult)> 0那麼
sql = left $(strresult,len(strresult)) - 1)
其他sql =「no item code found !!」
萬一其他 sql = strresult萬一
exitf:
退出功能 呃:
debug.print err.number&「 - 」&err.description
恢復exitf:
結束功能
VBA 和其他應用程式互動
今天主要學學vba 和其他應用程式的互動 一 了解繫結的概念 每個office程式都有各自的物件庫,也就是每個程式可用的物件 方法和屬性 所以要能使excel訪問另外的office程式,就需要將另乙個office程式繫結起來。分為兩種 早期繫結 後期繫結 早期繫結 需要顯式地將客戶端應用程式指向伺服...
intent 啟動其他應用程式應用
被啟動activity中加入標籤 啟動activity中 intent opensomediagintent new intent opensomediagintent.addcategory android.intent.category.haha handlerthreadactivity.th...
在DELPHI應用程式中使用DLL
delphi的dll建立並不複雜,下面向大家介紹delphi的dll建立方法。1 首先建立乙個新的dll專案 newproject 因為dll與呼叫它的主程式要分開編譯。如果dll模組已經建立在呼叫它的專案中 project 則將它的窗體 form 從project移出,另建乙個新的專案 newpr...