office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

Access利用DAO在窗體中查詢數(shù)據(jù)(篩選數(shù)據(jù))

2020-01-09 08:00:00
tmtony8
原創(chuàng)
7327

在Access中,篩選數(shù)據(jù)的方法有好多,如下面的示例

access用宏篩選子窗體的數(shù)據(jù)

Access動(dòng)態(tài)設(shè)置子窗體及篩選子窗體數(shù)據(jù)的技巧


這里介紹一下用DAO做窗體的篩選:

如這樣的窗體,我們通過輸入課程或者學(xué)生來查詢數(shù)據(jù)


詳細(xì)代碼如下,主要是通過QueryDefs對(duì)象來執(zhí)行sql語句。

 Dim sql As String
    Set qdf = CurrentDb.QueryDefs("學(xué)生成績(jī)查詢")
    If Not IsNull(學(xué)生姓名) And Not IsNull(課程編號(hào)) Then
        sql = "select 學(xué)生選修課程表.學(xué)號(hào),姓名,學(xué)生選修課程表.課程號(hào),課程名,成績(jī),選課學(xué)期 from 學(xué)生表,課程表,學(xué)生選修課程表 where 學(xué)生表.學(xué)號(hào)=學(xué)生選修課程表.學(xué)號(hào) and 課程表.課程號(hào)=學(xué)生選修課程表.課程號(hào) and 學(xué)生表.學(xué)號(hào)=" + CStr(學(xué)生姓名) + " and 課程表.課程號(hào)=" + CStr(課程編號(hào))
        
    ElseIf Not IsNull(學(xué)生姓名) Then
        
        sql = " select 學(xué)生選修課程表.學(xué)號(hào),姓名,學(xué)生選修課程表.課程號(hào),課程名,成績(jī),選課學(xué)期 from 學(xué)生表,課程表,學(xué)生選修課程表 where 學(xué)生表.學(xué)號(hào)=學(xué)生選修課程表.學(xué)號(hào) and 課程表.課程號(hào)=學(xué)生選修課程表.課程號(hào) and 學(xué)生表.學(xué)號(hào)=" + CStr(學(xué)生姓名)
    ElseIf Not IsNull(課程編號(hào)) Then
        sql = "select 學(xué)生選修課程表.學(xué)號(hào),姓名,學(xué)生選修課程表.課程號(hào),課程名,成績(jī),選課學(xué)期 from 學(xué)生表,課程表,學(xué)生選修課程表 where 學(xué)生表.學(xué)號(hào)=學(xué)生選修課程表.學(xué)號(hào) and 課程表.課程號(hào)=學(xué)生選修課程表.課程號(hào) " + " and 課程表.課程號(hào)=" + CStr(課程編號(hào))
    Else
        sql = "select 學(xué)生選修課程表.學(xué)號(hào),姓名,學(xué)生選修課程表.課程號(hào),課程名,成績(jī),選課學(xué)期 from 學(xué)生表,課程表,學(xué)生選修課程表 where 學(xué)生表.學(xué)號(hào)=學(xué)生選修課程表.學(xué)號(hào) and 課程表.課程號(hào)=學(xué)生選修課程表.課程號(hào) "
    End If
    qdf.sql = sql
    學(xué)生成績(jī)查詢子窗體.Form.Recordset.Close
    Set 學(xué)生成績(jī)查詢子窗體.Form.Recordset = qdf.OpenRecordset

運(yùn)行篩選結(jié)果如圖

注意:

要先創(chuàng)建一個(gè)對(duì)應(yīng)名稱的查詢哦

    分享
    文章分類
    聯(lián)系我們
    聯(lián)系人: 王先生
    Email: 18449932@qq.com
    QQ: 18449932
    微博: officecn01
    移動(dòng)訪問