Between在多條件提取數據時的用法

2020-12-13 VBA語言專家

大家好今日繼續VBA資料庫解決方案的學習,今日講解第50講,多條件提取數據時Between的用法。為什麼要提出這個問題呢?這個語法是在多條件資料庫查詢中經常用到的,但是應用的過程中,如果語法不對,會經常通不過,這裡把這個語法單獨的拿出來,給大家分享講解一下。還是以實例來說明,大家可以看到,在資料庫解決方案的講解中,不同於《VBA代碼解決方案》的講解,那裡的講解有必要給大家把每個知識點講到,而這裡的講解側重於實際的操作,側重於對問題的解決的對策。所以要求大家要先結合《VBA代碼解決方案》的內容把VBA的各個知識點了解一下,然後再開始資料庫的學習。

今日的實例.仍是我們之前的資料庫數據資料,如下:

我要把「出生日期」為1999/6/6和1999/6/12兩者之間的人員提取出來(含兩個開始和結束時間),其他的條件是:「部門」為「一廠」 「 職務」為「班長」,我們如何寫代碼呢?

下面看我給出的代碼:

Sub mynzRecords_50() '第50講 從資料庫多條件提取數據中between的用法

Dim cnADO, rsADO As Object

Dim strPath, strSQL, strTable As String

Set cnADO = CreateObject("ADODB.Connection")

Set rsADO = CreateObject("ADODB.Recordset")

strPath = ThisWorkbook.Path & "\mydata2.accdb"

strTable = "員工信息"

cnADO.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & strPath

'strSQL = "SELECT * FROM " & strTable

strSQL = "select * from " & strTable _

& " where 部門='一廠' and 職務='班長' and 出生日期 between #1999/6/6# and #1999/6/12#" & " ORDER BY 員工編號 DESC"

rsADO.Open strSQL, cnADO, 1, 3

Worksheets("50").Select

Cells.ClearContents

For i = 0 To rsADO.Fields.Count - 1

ActiveSheet.Cells(1, i + 1) = rsADO.Fields(i).Name

Next i

For i = 1 To rsADO.RecordCount

For j = 0 To rsADO.Fields.Count - 1

ActiveSheet.Cells(i + 1, j + 1) = rsADO.Fields(j)

Next j

rsADO.MoveNext

Next i

Range("A2").CopyFromRecordset rsADO

ActiveSheet.Columns(rsADO.Fields.Count).NumberFormat = "yyyy-mm-dd"

ActiveSheet.Columns.AutoFit

rsADO.Close

cnADO.Close

Set cnADO = Nothing

Set rsADO = Nothing

End Sub

代碼截圖:

代碼解讀:

1 strSQL = "select * from " & strTable _

& " where 部門='一廠' and 職務='班長' and 出生日期 between #1999/6/6# and #1999/6/12#" & " ORDER BY 員工編號 DESC"

上述代碼是關於本講的多條件設置的SQL語句寫法。其中重點是and 出生日期 between #1999/6/6# and #1999/6/12#" 在寫between 時後面一定要有一個and 並且兩邊要留空格,這個and 和前面的and 意義不同,前者表示是多條件, 這裡表示的是連接的是兩個值。其他的條件就不再一一講解了,和上一講的內容一樣。

下面看代碼的運行:

大家可以看看上面的結果,完全符合我們的預期。

今日內容回向:

1 between 在條件查詢中如何表示?

2 上述的between 條件是否有其他的實現辦法呢?

相關焦點

  • 從資料庫中,按多條件提取數據的方法
    大家好,今日我們講VBA解資料庫解決方案的第49講內容:從資料庫中,多條件提取出數據的方法。我們利用資料庫,主要的目的是存儲數據,在需要的時候可以提取出來,提取的同時可以對數據進行必要的處理,本講就是講解從資料庫中多條件提取數據的方法。
  • IF函數多條件判斷的用法!
    IF函數基本用法IF(判斷式,正確時返回結果,錯誤時返回結果)舉例,當工齡大於等於3年時,獎勵500元,此處使用公式為
  • 多條件計數函數countifs的基礎用法
    之前我們說過單條件計數函數countif的用法,今天來說下多條件計數函數countifs的用法。
  • excel數據查找技巧:多條件匹配查找常用方法匯總
    比較熟悉的VLOOKUP,它的基礎用法好像也只適用於單條件查找。別急,今天老菜鳥為大家總結了10種職場人士最常見的多條件查找的方法,趕緊來看看吧!優勢:使用SUMIFS多條件匹配時,比較方便高效,公式簡單易用,再增加條件也比較容易。不足:當要匹配的結果不是數字時,就不能使用這個方法了,同時當滿足多個條件的數據不是唯一值時,結果可能錯誤。
  • excel數據查找技巧:多條件匹配查找常用方法匯總
    比較熟悉的VLOOKUP,它的基礎用法好像也只適用於單條件查找。別急,今天老菜鳥為大家總結了10種職場人士最常見的多條件查找的方法,趕緊來看看吧!>求和列,條件列1,條件1,條件列2,條件2……) 但是當同時滿足多個條件的結果只有一個時,多條件求和就等同於多條件匹配。
  • Excel函數應用篇:多條件求和函數Sumifs的用法
    在EXCLE中多條件求和函數Sumifs的用法如何使用?下面是為大家精心整理的關於多條件求和函數Sumifs的用法,希望能夠幫助到你們。
  • Excel多條件求和SUMIFS函數公式,4種進階用法
    在工作中,多條件求和也是經常需要使用的公式,今天我們來學習SUMIFS函數的使用技巧1、SUMIFS正常用法公式的用法很簡單:SUMIFS(求和區域,條件區域一,條件一,條件區域二,條件二...)、條件區域可以為一個及以上的個數舉一個例子來說明,左邊是一份銷售流水數據,我們需要匯總出商品的數量我們使用的公式是:=SUMIFS(D:D,C:C,F1)如果是多條件進行計算,比如現在需要計算
  • 多條件查找還不會?11種方法任你選
    2.IF({1,0},A2:A9&B2:B9,C2:C9)是IF函數構造兩列數據位置互換的數組的典型用法,在這裡不再贅述。>說明:用數字0除以邏輯值時,當邏輯值為TRUE返回數字0,當邏輯值為FALSE否則返回錯誤值。
  • excel數據比較:如何做一個完美的多條件排名方案
    這就要通過多條件去匹配,才能找出需要的排名第一者。這裡提供了兩個方案,但都不夠完美,你能把它們完善嗎?,第一參數是要求和的數據所在的列,後面的參數兩個一組,構成一組條件。實際統計時並非必須按這樣的先後順序統計,哪個方便我們就先統計哪個。第2步:統計最高銷售額通常一說最大值,首先想到的就是MAX函數。這個函數的用法和SUM很像,只需要給出一組數或者一個數據區域,就能得到這一組數中最大的值。
  • Execl如何快速完成多條件的信息提取?學會這幾個小步驟,高效辦公更省力!
    教師們在利用Execl製作成績表或者其它報表的時候,經常需要從眾多數據中篩選出自己想要的信息。
  • between…and…的用法
    between…and…的用法 2012-03-31 14:38 來源:高考英語網 作者:
  • Excel多條件統計套路
    COUNTIFS函數也支持使用通配符,用法與SUMIFS函數相同。數組公式中,判斷多條件時不能使用AND或是OR函數,因此先使用兩個判斷條件相乘,表示兩個條件要求同時符合。再使用IF函數對結果進行判斷,兩個條件同時符合時,IF函數返回D2:D9中的數值,否則返回邏輯值FALSE。最後使用MAX函數忽略其中的邏輯值計算出最大值。要計算多個條件的最小值時,只要將公式中的MAX換成MIN函數即可。
  • 英語語法:常用介詞at, between的用法
    、常用介詞about, as的用法,本期學習英語語法:常用介詞at, between的用法。 4. between的用法The match is between the Japanese and the Russians.這場比賽在日本人與俄國人之間進行。
  • 多條件查詢、多條件求和、多條件計數、多條件判斷
    實際工作中,數據的統計分析都是附加條件的,而且都是多個條件,所以,關於多條件查詢、多條件求和、多條件計數、多條件判斷等函數公式,就顯得尤為重要。一、多條件查詢。函數:Lookup。解讀:Lookup函數在使用向量形式查詢時,首先要以「查詢值」為關鍵字對數據源升序排序,否則無法得到正確的結構。(二)數組形式。
  • 如何統計多條件匯總數據
    如何統計多條件匯總數據在現實工作中,經常需要對某個列數據進行多條件匯總求和統計。例如要對員工工資3000元至5000元的工資總額進行統計,該如何操作呢?我們可以使用SUMIFS函數多條件求和。公式如下 :SUMIFS(D2:D14,D2:D14,「>=3000,D2:D14,」<=5000「)SUMIFS函數用途:根據指定多條件對若干單元格、區域或引用求和。
  • 進階高手必備的多條件數據分析技巧,收藏備用
    在實際的工作中,對於數據統計,都是附加條件的,並不是簡單的求和、平均值、最大值、最小值等情況,所以利用函數公式做數據統計,必須掌握多條件的數據統計技巧。語法結構:=Sumif(條件範圍,條件,[求和範圍]),當「條件範圍」和「求和範圍」相同時,可以省略「求和範圍」。目的:根據「性別」統計「銷售額」。方法:在目標單元格中輸入公式:=SUMIF(C3:C9,J3,F3:F9)。解讀:由於「條件範圍」和「求和範圍」不相同,所以第三個參數求和範圍不能省略。
  • 英語語法,介詞between的用法,有三種
    英語語法,介詞between,beyond和but的用法。 between的用法, 第一種用法,在兩者之間的運用。例如:I sat between jane and Charles. 我坐在簡和查爾斯之間。
  • excel多條件查找方法:lookup、vlookup、indexmatch多條件查找
    ,分別是:lookup多條件查詢、vlookup多條件查找、indexmatch多條件查找。總結:本函數由於使用了二分法原理查找,所以如果數據量較大時運算會很慢。第二 vlookup多條件查找vlookup函數是我們最常用的函數,vlookup函數主要用於垂直方向上向右查找。
  • 8個常用多條件統計公式,看看哪個還不熟?
    公式:=SUMPRODUCT(SUMIF(B2:B9,E2:E3,C2:C9))公式簡析:SUMIF函數的作用是對根據指定的條件對數據進行求和。用法是:=COUNTIFS(條件區域1,條件1,條件區域2,條件2……)COUNTIFS函數統計多個條件同時符合時的個數有多少,在統計條件中也支持使用通配符,用法與SUMIFS函數相同。
  • 「Between You and I」 or 「Between You and Me」? 習慣用法和語法之爭
    Through their ubiquity, they've become an accepted part of the language.有些已經接受的習慣用法聽起來很自然,比如表達我很好,說I’m good而不是I’m well. 隨著更多的人採用這些表達,它們已經融入了現在的語言。