VBA高階 在VBA中使用SQL語句篩選日期

2021-08-28 10:42:43 字數 1267 閱讀 5870

sub multipleselect_group1()

dim cnn as new adodb.connection

dim rst as adodb.recordset

dim mypath as string

dim sql as string

dim i as integer

'dim d as date '兩種方式,一種是設定日期型別

dim d as string '一種是設定文字型別

mypath = thisworkbook.fullname

cnn.open "provider=microsoft.ace.oledb.12.0;extended properties=excel 12.0;data source=" & mypath

'd = vba.dateserial(2018, 9, 26) '日期型別要用dateserial方法生成日期格式的變數用作篩選條件

d = format("2018/9/26", "yyyy/m/d") '文字型別要用format函式將變數變為變體型,設定好格式後變為時間變數

sql = "select 逾期日期 from [sheet1$] where 逾期日期 >=#" & d & "#" '用&符號拼接變數format(

'sql = "select 逾期日期 from [sheet1$] where format(逾期日期,'yyyy/m/dd') >= '2018/9/26'"

'直接將excel中的日期字段變換格式

set rst = cnn.execute(sql)

worksheets(2).select

cells.clearcontents

for i = 0 to rst.fields.count - 1

cells(1, i + 1) = rst.fields(i).name

next

range("a2").copyfromrecordset rst

rst.close

cnn.close

set cnn = nothing

set rst = nothing

end sub

1.設定日期型變數,用vba.dateserial方法生成變數

2.用format將文字變數設定為變體型變數,後轉化為日期型變數

3.直接將記錄中的日期字段設定為文字型別變數

1.在excel中的日期必須為格式不限。

2.format函式用法很多,不限於此。

在 VBA 中使用 SQL 處理資料

sub 使用sql處理資料 false 建立資料庫相關物件 建立資料庫連線 dim cnn as object set cnn createobject adodb.connection 建立 包含描述資料來源模式目錄的集合 dim mycat as object set mycat createo...

在WPS中使用VBA7

從microsoft shared和system32中提取出vba及其依賴的基本檔案,複製並設定登錄檔 後,即可讓wps 2012使用vba7。但似乎wps2012只認放在office10中的mso.dll。所需的檔案有 vba目錄 只需vba6 vba7中的vbe6ext.olb,vbe7.dll...

在其他應用程式vba中使用SQL

有時您想在excel中使用sql?我建立這個模組直接得到結果作為字串 所有專案從fieldloop像這樣a b c d用 分隔符 或者你可以呼叫這個函式到sub並返回乙個陣列來指定範圍在表在access中查詢 或者甚至直接應用使用ctrl shift enter的陣列格式 記住首先選擇多個單元格 w...