首页
/
每日頭條
/
科技
/
數據庫去重語句
數據庫去重語句
更新时间:2025-05-25 13:10:35

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

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

數據庫去重語句(從數據庫中多條件提取數據時)1

我要把"出生日期"為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

代碼截圖:

數據庫去重語句(從數據庫中多條件提取數據時)2

代碼解讀:

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 意義不同,前者表示是多條件, 這裡表示的是連接的是兩個值。其他的條件就不再一一講解了,和上一講的内容一樣。

下面看代碼的運行:

數據庫去重語句(從數據庫中多條件提取數據時)3

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

今日内容回向:

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

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

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
狼人殺比賽獎懲
狼人殺比賽獎懲
《狼人殺官方》西瓜視頻征集活動歡樂開啟!春節假期如此漫長,當然要與好友齊聚《狼人殺官方》,來上兩把跑跑狼人殺,度過充滿歡笑的時光!現在參與視頻征集活動,記錄你在跑跑狼人殺的歡樂時刻,即有機會赢取豐厚獎勵!活動時間2021年2月2日-2021...
2025-05-25
華為怎樣關閉來電動畫
華為怎樣關閉來電動畫
每個手機雖然都為大家準備了許多默認鈴聲,但有時會與其他用戶的鈴聲“撞衫”。這時我們就可以自己設置手機的來電鈴聲,本期就一起看看華為手機設置來單鈴聲的方法吧!華為手機修改來電視頻步驟介紹1、從電話界面中,點擊右上方四個點的圖标,找到設置。2、...
2025-05-25
手機如何複制腳本多開
手機如何複制腳本多開
手機如何複制腳本多開?有時候小夥伴有沒有這種想法,就是手機也可以像電腦這樣操作,雖然兩個完全不同的操作系統,但難免碰到有方法去實現它,今天小編就來聊一聊關于手機如何複制腳本多開?接下來我們就一起去研究一下吧!手機如何複制腳本多開有時候小夥伴...
2025-05-25
快手生意增長指南方法與案例分析
快手生意增長指南方法與案例分析
快手生意增長指南方法與案例分析?新華社北京6月15日電題:視頻網站如何可持續發展?——專訪快手網站創始人宿華,今天小編就來聊一聊關于快手生意增長指南方法與案例分析?接下來我們就一起去研究一下吧!快手生意增長指南方法與案例分析新華社北京6月1...
2025-05-25
怎樣清除手機儲存
怎樣清除手機儲存
怎樣清除手機儲存?以華為P20手機為例流程:開始,先在手機的桌面上找到應用程序“設置”,點擊進入新界面,我來為大家講解一下關于怎樣清除手機儲存?跟着小編一起來看一看吧!怎樣清除手機儲存以華為P20手機為例。流程:開始,先在手機的桌面上找到應...
2025-05-25
Copyright 2023-2025 - www.tftnews.com All Rights Reserved