access知識(shí)點(diǎn)
Access上機(jī)難點(diǎn)類型題匯總
一、建立和維護(hù)數(shù)據(jù)表
1、字段的數(shù)據(jù)類型
自動(dòng)編號(hào)(系統(tǒng)自動(dòng)生成并按順序或指定的格式增加、在創(chuàng)建表時(shí)自動(dòng)設(shè)成主鍵)
是/否(假使用0或TRUE、真使用-1或FALSE)
計(jì)算字段:只能使用本表中的字段作為計(jì)算字段
查閱向?qū)В翰粚儆跀?shù)據(jù)類型,列表框、組合框區(qū)別
2、創(chuàng)建數(shù)據(jù)表
通常使用設(shè)計(jì)視圖完成,
通配符的用法(記住p17)
標(biāo)識(shí)符使用”!”、”.”、“[ ]”:使用字段一定要指定表。
報(bào)表或窗體中的控件:使用forms
函數(shù):
1、四舍五入函數(shù):Round(<數(shù)值表達(dá)式>[,<表達(dá)式>])
按照指定的小數(shù)位數(shù)進(jìn)入四舍五入運(yùn)算的結(jié)果。[<表達(dá)式>]是進(jìn)入四舍五入運(yùn)算小數(shù)點(diǎn)右邊應(yīng)保留的位數(shù)。
例如:Round(3.255,1)= 3.3; Round(3. 754,2)= 3.75;Round(3.754,0)= 4
2、平均值函數(shù)Avg()
例如:在tstud表中求小于所有學(xué)生年齡的平均值的學(xué)生? <(select? avg([年齡])? from? tstud)
3、求和函數(shù)sum()
4.字符串長(zhǎng)度檢測(cè)函數(shù):Len(<字符申表達(dá)式>或<變量名>)
len4 = Len(“考試中心”)?返回4
5.字符串截取函數(shù)
Left (<字符串表達(dá)式>,<N>):字符串左邊起截取N個(gè)字符。
Right(<字符串表達(dá)式>,<N>):字符串右邊起截取N個(gè)字符。
Mid(<字符串表達(dá)式>,<N1>,[N2]):從字符串左邊第N1個(gè)字符起截取N2個(gè)字符。
Mid(“計(jì)算機(jī)等級(jí)考試”,4,4)?返回“等級(jí)考試”
日期/時(shí)間函數(shù)
Date():返回當(dāng)前系統(tǒng)日期。
Year(<表達(dá)式>): 返回日期表達(dá)式年份的整數(shù)。
Month(<表達(dá)式>):返回日期表達(dá)式月份的整數(shù)。
Day(<表達(dá)式>):返回日期表達(dá)式日期的整數(shù)。
Weekday (<表達(dá)式>[.W]):返回1-7的整數(shù),表示星期幾。
Weekday函數(shù)中,返回的星期值為星期日為1,星期一為2,以此類推。
例如:
Month([出生日期])=7 , 把7月份出生的學(xué)生查找出來(lái)
Year(Date())-Year([出生日期]):根據(jù)出生日期計(jì)算學(xué)生年齡
返回日期函數(shù)DateSerial(year, month, day)
當(dāng)前年的5月1日? Dateserial(year(date()),5,1)
前一年的5月1日? Dateserial(year(date())-1,5,1)
后一年的5月1日? Dateserial(year(date())+1,5,1)
輸入掩碼:
提到輸入掩碼(數(shù)字)的用:0 說(shuō)幾個(gè)寫幾個(gè)
提到輸入掩碼(數(shù)字或空格)用:9? 說(shuō)幾個(gè)寫幾個(gè)
提到輸入掩碼(數(shù)字或字母)用? A? 說(shuō)幾個(gè)寫幾個(gè)
提到輸入掩碼(字母)用: L? 說(shuō)幾個(gè)寫幾
\緊隨其后的字符和“ ”功能一樣。
3、字段標(biāo)題
也成字段的別名,在數(shù)據(jù)表視圖中對(duì)應(yīng)字段將顯示為指定的標(biāo)題內(nèi)容
4、字段的輸出顯示格式
給定輸出格式( 月 日 年)當(dāng)出現(xiàn)#時(shí)說(shuō)明空間小、
5、驗(yàn)證規(guī)則
驗(yàn)證規(guī)則是校驗(yàn)輸入的數(shù)據(jù)是否正確,驗(yàn)證文本是提示信息。
6、會(huì)使用窗體篩選和高級(jí)篩選
注:結(jié)果可以通過(guò)導(dǎo)出的方式保存或臨時(shí)查看
7、凍結(jié)隱藏字段、設(shè)置字體的大小、顏色、行高和列寬等基本的設(shè)置需要熟練掌握。
8、創(chuàng)建表間的關(guān)系
二、查詢
1、選擇查詢
注:顯示的字段、總計(jì)、計(jì)數(shù)、平均等
2、交叉表查詢
注:行標(biāo)題和列標(biāo)題的選定,值
3、參數(shù)查詢
在條件行中使用[ ]來(lái)實(shí)現(xiàn)
4、操作查詢
更新、追加、刪除、生成表查詢
實(shí)施:
1、利用查詢向?qū)Вㄈ纛}目沒(méi)有具體的要求使用則可不必使用
,簡(jiǎn)單查詢向?qū)А⒔徊姹聿樵兿驅(qū)?、查找重?fù)項(xiàng)查詢向?qū)А⒉檎也黄ヅ漤?xiàng)查詢向?qū)В?/strong>
2、使用查詢?cè)O(shè)計(jì)器
注:A、計(jì)算字段的表達(dá)式一定要加上表的名字。B、日期要使用##括起來(lái)。
返回記錄設(shè)置(不足5條的按實(shí)際記錄數(shù)返回)、查詢匯總(總計(jì)下拉列表中包括合計(jì)、平均值等)top 小于5的數(shù)
3、操作查詢
A、更新查詢(只能運(yùn)行一次不要運(yùn)行多次、百分?jǐn)?shù)要轉(zhuǎn)換成小數(shù)使用)
?
※基本操作(表)函數(shù)類型題集合:
1、上一年度五月一日以前(含)的日期(規(guī)定:本年度年號(hào)必須??? 用函數(shù)獲?。?。
?? <=DateSerial(Year(Date())-1,5,1)
2、下一年度的一月一日(規(guī)定:本年度的年號(hào)必須用函數(shù)獲?。?。
?? DateSerial(Year(Date())+1,1,1)
3、本年度九月一日(規(guī)定:本年度年號(hào)必須由函數(shù)獲取)
?? DateSerial(Year(Date()),9,1)
4、系統(tǒng)當(dāng)前年一月一號(hào)。
?? DateSerial(Year(Date()),1,1)
5、默認(rèn)值設(shè)置為系統(tǒng)當(dāng)前日期。Date()
6、默認(rèn)值設(shè)置為系統(tǒng)當(dāng)前日期的前一天。Date()-1
7、默認(rèn)值設(shè)置為系統(tǒng)當(dāng)前日期的后一天。Date()+1
8、銷售業(yè)績(jī)表:判斷主鍵??
?? 選前三個(gè)字段為主鍵(“時(shí)間”、“編號(hào)”、“物品號(hào)”)
9、(19套1)分析設(shè)置表”tScore”主鍵
? 選前二個(gè)字段為主鍵(“學(xué)號(hào)”、“課程號(hào)”)其與的都是一個(gè)主鍵!
※簡(jiǎn)單應(yīng)用(查詢)類型題集合:
一、字符串函數(shù)類型題:
1、"姓名"字段的第一個(gè)字符為姓,剩余字符為名。將姓名分解為??? 姓和名兩部分。
?? 字段行輸入:姓:Left(([姓名]),1)
?? 字段行中輸入:名:Mid([姓名],2,len([姓名])-1)
2、房間號(hào)的前兩位為樓號(hào)。
?? 字段行中輸入:樓號(hào):Left([房間號(hào)],2)
3、學(xué)號(hào)字段的前4位代表年級(jí)。
?? 字段行中輸入:年級(jí):Left([學(xué)生ID],4)
4、查找"身份證"字段第4位至第6位值為"102"的紀(jì)錄。
?? 條件行中輸入:Mid([身份證],4,3)= "102"
5、查找姓名為三個(gè)字的記錄。?? 姓名為二個(gè)字的記錄
?? 條件行輸入:Len([姓名])= "3" ?
二、日期函數(shù)類型題:
1、計(jì)算教師的"工齡"。
?? 字段行中輸入:工齡:Year(Date())-Year([工作時(shí)間])
2、查找并顯示聘期超過(guò)5年(使用函數(shù))的。
?? 條件行中輸入:Year(Date())-Year([聘用時(shí)間])>5
3、統(tǒng)計(jì)這個(gè)客人"已住天數(shù)"。
?? 字段行中輸入:已住天數(shù):Date()-[入住日期]
4、其中"入校年"數(shù)據(jù)由"入校時(shí)間"字段計(jì)算得到,顯示為四位數(shù)字年的形式
? 字段行中輸入:入校年:Year([入校時(shí)間])
5、統(tǒng)計(jì)星期一(由預(yù)約日期判斷)
? 條件行中輸入:Weekday([預(yù)約日期])=2
6、查找三月份上課的信息。
? 條件行中輸入:Month([上課日期])=3
三、統(tǒng)計(jì)函數(shù)類型題:
1、平均成績(jī)?nèi)≌笥肦ound函數(shù)實(shí)現(xiàn)。
?? 字段行中輸入:Round(Avg([成績(jī)]))
2、統(tǒng)計(jì)最高分成績(jī)與最低分成績(jī)的差。
? 字段行中輸入:Max([成績(jī)])-Min([成績(jī)])
3、計(jì)算并輸出教師最大年齡與最小年齡的差值,字段標(biāo)題為?????? m_age。
?? 字段行中輸入:m_age:Max([年齡])-Min([年齡])
4、最高儲(chǔ)備與最低儲(chǔ)備相差最小的數(shù)量,字段標(biāo)題為m_data?????? m_data:Min([最高儲(chǔ)備]-[最低儲(chǔ)備])
四、SQL子查詢類型題:
1、查找成績(jī)低于所有課程總平均分的學(xué)生信息。
?? 條件行中輸入:<(select Avg([成績(jī)]) from tScore)
2、查找年齡小于平均年齡的學(xué)生。
?? 條件行中輸入:<(select Avg([年齡]) from tStudent)
3、查找并顯示單價(jià)高于平均單價(jià)的圖書。
?? 條件行中輸入:>(select Avg([單價(jià)]) from tBook)
4、查找有檔案信息但無(wú)工資信息的職工。
?? 條件行輸入:Not In (select [職工號(hào)] from 工資表)
5、查找沒(méi)有任何選課信息的學(xué)生。
?? 條件行中輸入:Not In (select [學(xué)號(hào)] from tScore)
6? 查找還未被選修的課程名稱
?? Not In(select [課程號(hào)]from tScore)
五、其他類型題:
1、要求引用窗體對(duì)象"fTest"上控件"tSex"的值。
?? 條件行中輸入:[Forms]![fTest]![tSex]
2、查找并顯示有書法或繪畫愛(ài)好學(xué)生。
?? 條件行中輸入:Like "*書法*" Or Like "*繪畫*"
3、查找姓"王"病人的基本信息。
?? 條件行中輸入:Like "王*"
4、姓名含有"紅"字的記錄。
?? 條件行中輸入:Like "*紅*"
5、姓"李"且名字第三字為"明"的記錄。
?? 條件行中輸入:Like "李?明"
6、查找并顯示入校時(shí)間非空的。
?? 條件行中輸入:Is Not Null
7、查找并顯示簡(jiǎn)歷信息為空的。
?? 條件行中輸入:Is Null
8、年齡為偶數(shù)的。
?? 條件行中輸入:[年齡] Mod 2=0
9、年齡為奇數(shù)的。
?? 條件行中輸入:[年齡] Mod 2=1
?
10、當(dāng)運(yùn)行該查詢時(shí),應(yīng)顯示參數(shù)提示信息"請(qǐng)輸入愛(ài)好",輸入愛(ài)好后,在簡(jiǎn)歷字段中查找具有指定愛(ài)好學(xué)生。
??? 條件行中輸入:Like "*"+[請(qǐng)輸入愛(ài)好]+"*"
11、當(dāng)運(yùn)行該查詢時(shí),屏幕上顯示提示信息:"請(qǐng)輸入要比較的分?jǐn)?shù):",輸入要比較的分?jǐn)?shù)后,該查詢查找學(xué)生選課成績(jī)的平均分大于輸入值的學(xué)生信息。
條件行中輸入:>[請(qǐng)輸入要比較的分?jǐn)?shù):]
12、"編號(hào)"字段值均在前面增加"05"兩個(gè)字符。
??? 更新到中輸入:"05" & [編號(hào)]
13、將所有記錄的"經(jīng)費(fèi)"字段值增加2000元。
??? 更新到中輸入:[經(jīng)費(fèi)]+2000
14、將其中的"編號(hào)"與"姓名"兩個(gè)字段合二為一,字段標(biāo)題為"編號(hào)姓名"。
??? 字段行中輸入:編號(hào)姓名:[編號(hào)]+[姓名]
15、添加一個(gè)計(jì)算字段"優(yōu)惠后價(jià)格",計(jì)算公式為:
??? 優(yōu)惠后價(jià)格=費(fèi)用*(1-10%)
??? 字段行中輸入:優(yōu)惠后價(jià)格:[費(fèi)用]*(1-0.1)
16、學(xué)分字段值都上調(diào)10%。在更新到上寫:[學(xué)分]*1.1
17、查找?guī)齑鏀?shù)量在合理范圍([最低儲(chǔ)備,最高儲(chǔ)備])的產(chǎn)品。
?條件行中輸入:Between [最低儲(chǔ)備] And [最高儲(chǔ)備]
?
?
?
?
?
?
※綜合應(yīng)用(窗體、報(bào)表)類型題集合:
※注意:在窗體或報(bào)表書寫計(jì)算表達(dá)式時(shí),表達(dá)式必須以"="開(kāi)頭。
?? (1)字段必須帶[](2)參數(shù)查詢必須用[ ]括
?? (3)頁(yè)碼[page]&”/”&[pages] ???
?? (4)宏引用窗體上控件值[Forms]![窗體值]![控件值]
1、文本框控件設(shè)置為"頁(yè)碼-總頁(yè)數(shù)"形式的頁(yè)碼顯示
? (如1-15、??? 2-15、...)。
? "控件來(lái)源"屬性中輸入:=[Page] & "-" & [Pages]
2、文本框控件設(shè)置為"頁(yè)碼/總頁(yè)數(shù)"形式的頁(yè)碼顯示
? (如1/35、2/35、...)
? "控件來(lái)源"屬性中輸入:=[Page] & "/" & [Pages]
3、文本框控件設(shè)置為"-頁(yè)碼/總頁(yè)數(shù)-"形式的頁(yè)碼顯示
? (如-1/15-、-2/15-、...)。
? "控件來(lái)源"屬性中輸入:="-" & [Page] & "/" & [Pages] & "-"
4、顯示系統(tǒng)年月,顯示格式為:XXXX年XX月(注:不允許使用??? 格式屬性)"控件來(lái)源"屬性中輸入:
?? = Year(Date()) & "年" & Month(Date()) & "月"
5、性別為"男"且年齡小于20時(shí)顯示為選中的打鉤狀態(tài),否則顯示為不選中的空白狀態(tài)。"控件來(lái)源"屬性中輸入:
?? =IIf([年齡]<20 And [性別]="男",True,False)
6、性別為1,顯示"男";性別為2,顯示"女"。
?? "控件來(lái)源"屬性中輸入:=IIf([性別]=1,"男","女")
7、如果金額合計(jì)大于30000,"txtIf"控件顯示"達(dá)標(biāo)",否則顯示"未達(dá)標(biāo)"。"控件來(lái)源"屬性中輸入:
?? =IIf(Sum([單價(jià)]*[數(shù)量])>30000,"達(dá)標(biāo)","未達(dá)標(biāo)")
8、黨員否"字段值為True,顯示"黨員"兩字;"黨員否"字段值為False,顯示"非黨員"三字。
? "控件來(lái)源"屬性中輸入:=IIf([黨員否],"黨員","非黨員")
9、"學(xué)號(hào)"字段的第5位和6位編碼代表該生的專業(yè)信息,當(dāng)這兩??? 位編碼為"10"時(shí)表示"信息"專業(yè),為其他值時(shí)表示"管理"專???? 業(yè)。"控件來(lái)源"屬性中輸入:
?? =IIf(Mid([學(xué)號(hào)],5,2)="10","信息","管理")
10、計(jì)算并顯示學(xué)生平均年齡。
?? "控件來(lái)源"屬性中輸入:=Avg([年齡])
11、要求依據(jù)"團(tuán)隊(duì)ID"來(lái)計(jì)算并顯示團(tuán)隊(duì)的個(gè)數(shù)。
?? "控件來(lái)源"屬性中輸入:=Count([團(tuán)隊(duì)ID])
12、使用Round函數(shù)將計(jì)算出的平均單價(jià)保留兩位小數(shù)。
?? "控件來(lái)源"屬性中輸入:=Round(Avg([單價(jià)]),2)
13、依據(jù)報(bào)表記錄源的"年齡"字段值計(jì)算并顯示出其四位的出生年信息。"控件來(lái)源"屬性中輸入:=Year(Date())-[年齡]
14、要求該控件可以根據(jù)報(bào)表數(shù)據(jù)源里"所屬部門"字段值,從非數(shù)據(jù)源表對(duì)象"tGroup"中檢索出對(duì)應(yīng)部門名稱并顯示輸?????? 出.(提示:考慮Dlookup函數(shù)的使用)"控件來(lái)源"屬性中輸入:
??? =DLookUp("名稱","tGroup","部門編號(hào)=所屬部門")