第一篇:2017年12月全國計(jì)算機(jī)二級考試時(shí)間
004km.cn
2017年12月全國計(jì)算機(jī)二級考試時(shí)間
2017年12月計(jì)算機(jī)二級考試時(shí)間為:12月9日(第50次)。其中12月份考試開考一、二級的全部科目。各省級承辦機(jī)構(gòu)可根據(jù)實(shí)際情況決定是否開考12月份考試。
2017年NCRE繼續(xù)實(shí)施2013年版考試大綱(部分科目有修訂),大綱和教材詳情可查詢本網(wǎng)站“大綱教材”欄目。
2017年12月二級Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)(科目代碼27)最后一次組考,2018年起將??荚摽颇?。
級別:程序設(shè)計(jì)、辦公軟件高級應(yīng)用級??己藘?nèi)容包括計(jì)算機(jī)語言與基礎(chǔ)程序設(shè)計(jì)能力,要求參試者掌握一門計(jì)算機(jī)語言,可選類別有高級語言程序設(shè)計(jì)類、數(shù)據(jù)庫程序設(shè)計(jì)類、Web程序設(shè)計(jì)類等;二級還包括辦公軟件高級應(yīng)用能力,要求參試者具有計(jì)算機(jī)應(yīng)用知識及 MS Office 辦公軟件的高級應(yīng)用能力,能夠在實(shí)際辦公環(huán)境中開展具體應(yīng)用。
科目:語言程序設(shè)計(jì)類(C、C++、Java、Visual Basic、Web)、數(shù)據(jù)庫程序設(shè)計(jì)類(Visual FoxPro、Access、MySQL)、辦公軟件高級應(yīng)用(MS Office 高級應(yīng)用)共九個(gè)科目。
形式:完全采取上機(jī)考試形式。各科上機(jī)考試時(shí)間均為 120 分鐘,滿分 100 分。
獲證條件:總分不低于 60 分。
考核內(nèi)容
004km.cn
二級定位為程序員,考核內(nèi)容包括公共基礎(chǔ)知識和程序設(shè)計(jì)。所有科目對基礎(chǔ)知識作統(tǒng)一要求,使用統(tǒng)一的公共基礎(chǔ)知識考試大綱和教程。二級公共基礎(chǔ)知識在各科考試選擇題中體現(xiàn)。程序設(shè)計(jì)部分,主要考查考生對程序設(shè)計(jì)語言使用和編程調(diào)試等基本能力,在選擇題和操作題中加以體現(xiàn)。
題型及分值比例
MS Office 高級應(yīng)用
(1)單項(xiàng)選擇題,20 分(含公共基礎(chǔ)知識部分 10 分);
(2)文字處理題(Word),30 分;
(3)電子表格題(Excel),30 分;
Visual C++ 6.0 工作界面
Visual C++ 6.0 工作界面
(4)演示文稿題(PowerPoint),20 分。
C語言程序設(shè)計(jì)
(1)單項(xiàng)選擇題,40 題,40 分(含公共基礎(chǔ)知識部分 10 分);
(2)程序填空題,3 小空,18 分;
(3)程序改錯(cuò)題,2 個(gè)錯(cuò)誤,18 分;
(4)程序設(shè)計(jì)題,24 分。
其它科目
(1)單項(xiàng)選擇題,40 題,40 分(含公共基礎(chǔ)知識部分 10 分);
(2)基本操作題,18 分;
(3)簡單應(yīng)用題,24 分;
004km.cn
(4)綜合應(yīng)用/操作題,18 分。
上機(jī)考試環(huán)境及使用的軟件
NCRE 二級上機(jī)考試環(huán)境為 Windows 7 簡體中文版。
第二篇:全國計(jì)算機(jī)等級考試二級
全國計(jì)算機(jī)等級考試二級證書
簡介 ***2432010年9月二級access
證書樣本
全國計(jì)算機(jī)等級考試和高考、全國英語四六級考試一樣,是國家教育部考試中心推出的三大權(quán)威考試,是在校大學(xué)生必須參加的考試和衡量計(jì)算機(jī)水平最權(quán)威、含金量和承認(rèn)度最高的認(rèn)證,并唯一得到國家和各用人單位的統(tǒng)一認(rèn)可。
創(chuàng)想獨(dú)有優(yōu)勢
通過率高:在全國平均通過率不到10%的情況下,創(chuàng)想分中心10級助產(chǎn)班參考7人,雙科通過6人;10級護(hù)理5班參考21人,雙科通過17人;創(chuàng)想分中心歷屆一次性通過率全省第一。
創(chuàng)想學(xué)員畢業(yè)受歡迎:
06級陳燕燕同學(xué)畢業(yè)后考取濟(jì)寧汶上縣醫(yī)院事業(yè)編;
08級馬玉寶同學(xué),畢業(yè)后被濟(jì)南市第三人民醫(yī)院錄用;2010年9月份前二級access
09級劉曉燕同學(xué)優(yōu)先被濟(jì)南市中心人民醫(yī)院選為實(shí)習(xí)生。證書全通通用,上網(wǎng)可查。查詢網(wǎng)址
第三篇:全國計(jì)算機(jī)二級考試歷年真題(整理)
05年試卷
一、選擇題((1)~(35)每小題2分,共70分
下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。A.存儲(chǔ)在外存中的數(shù)據(jù)
B.?dāng)?shù)據(jù)所占的存儲(chǔ)空間量
C.?dāng)?shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式 D.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
(2)下列關(guān)于棧的描述中錯(cuò)誤的是()。
A.棧是先進(jìn)后出的線性表 B.棧只能順序存儲(chǔ) C.棧具有記憶作用
D.對棧的插入與刪除操作中,不需要改變棧底指針
(3)對于長度為n的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是()。A.冒泡排序?yàn)閚/2 B.冒泡排序?yàn)閚 C.快速排序?yàn)閚 D.快速排序?yàn)閚(n-1)/2
(4)對長度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為()。A.log2n B.n/2 C.n D.n+1
(5)下列對于線性鏈表的描述中正確的是()。A.存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的 B.存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面 C.存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面 D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
(6)下列對于軟件測試的描述中正確的是()。
A.軟件測試的目的是證明程序是否正確
B.軟件測試的目的是使程序運(yùn)行結(jié)果正確
C.軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
D.軟件測試的目的是使程序符合結(jié)構(gòu)化原則
(7)為了使模塊盡可能獨(dú)立,要求()。
A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
(8)下列描述中正確的是()。
A.程序就是軟件
B.軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制
C.軟件既是邏輯實(shí)體,又是物理實(shí)體
D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
(9)數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指()。
A.?dāng)?shù)據(jù)與程序獨(dú)立存放
B.不同的數(shù)據(jù)被存放在不同的文件中
C.不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用
D.以上三種說法都不對
(10)用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是()。
A.關(guān)系模型
B.網(wǎng)狀模型
C.層次模型
D.以上三個(gè)都是(11)在窗體(名稱為Form1)上畫一個(gè)名稱為Text1的文本框和一個(gè)名稱為Command1的命令按鈕,然后編寫一個(gè)事件過程。程序運(yùn)行后,如果在文本框中輸入一個(gè)字符,則把命令按鈕的標(biāo)題設(shè)置為“計(jì)算機(jī)等級考試”。以下能實(shí)現(xiàn)上述操作的事件過程是()。
A.Private Sub Text1_Change()
Command1.Caption = “計(jì)算機(jī)等級考試”
End Sub
B.Private Sub Command1_ Click()
Caption = “計(jì)算機(jī)等級考試”
End Sub
C.Private Sub Form1_ Click()
Text1.Caption = “計(jì)算機(jī)等級考試”
End Sub
D.Private Sub Command1_ Click()
Text1.Text = “計(jì)算機(jī)等級考試”
End Sub
(12)設(shè)a=5,b=4,c=3,d=2下列表達(dá)式的值是()。> 2 * b Or a = c And b <> c Or c > d
A.1
B.True
C.False
D.2
(13)設(shè)a = “MicrosoftVisualBasic”,則以下使變量b的值為“VisualBasic”的語句是()。
A.b = Left(a, 10)
B.
該文章轉(zhuǎn)載自無憂考網(wǎng):http://004km.cnmand1)右移200,應(yīng)使用的語句是()。
A.Command1.Move-200
B.Command1.Move 200
C.Command1.Left = Command1.Left + 200
D.Command1.Left = Command1.Leftc
End If
Next
Print d
End Sub
程序運(yùn)行后,如果單擊命令按鈕,則在窗體上輸出的內(nèi)容為()。
A. 10
B. 16
C.12
D. 20
(32)設(shè)有如下程序:
Private Sub Command1_Click()
Dim c As Integer, d As Integer
c = 4
d = InputBox(“請輸入一個(gè)整數(shù)”)
Do While d > 0
If d > c Then
c = c + 1
End If
d = InputBox(“請輸入一個(gè)整數(shù)”)
Loop
Print c + d
End Sub
程序運(yùn)行后,單擊命令按鈕,如果在輸入對話框中依次輸入1、2、3、4、5、6、7、8、9、0,則輸出結(jié)果是()。
A.12
B.11
D.9
(33)在窗體上畫一個(gè)名稱為Command1的命令按鈕和一個(gè)名稱為Text1的文本框,在文本框中輸入以下字符串:Microsoft Visu
該文章轉(zhuǎn)載自無憂考網(wǎng):http://004km.cnmand1_Click()
Open “d:tempoutf.txt” For Output As #1
For i = 1 To Len(Text1.Text)
c = Mid(Text1.Text, i, 1)
If c >= “A” And c <= “Z” Then
Print #1, LCase(End If
Next i
Close
End Sub
程序運(yùn)行后,單擊命令按鈕,文件outf.txt中的內(nèi)容是()。
A.MVBP
B.mvbp
C.M
D.m
V v
B b
P p(34)在窗體上畫一個(gè)名稱為Command1的命令按鈕,然后編寫如下程序:
Dim SW As Boolean
Function func(X As Integer)As Integer
If X < 20 Then
Y = X
Else
Y = 20 + X
End If
func = Y
End Function
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
SW = False
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
SW = True
End Sub
Private Sub Command1_Click()
Dim intNum As Integer
intNum = InputBox(“")
If SW Then
Print func(intNum)
End If
End Sub
程序運(yùn)行后,單擊命令按鈕,將顯示一個(gè)輸入對話框,如果在輸入對話框中輸入25,則程序的執(zhí)行結(jié)果為()。
A.輸出0
B.輸出25
輸出45
D.無任何輸出
(35)設(shè)有如下通用過程:
Public Sub Fun(a()As Integer, x As Integer)
For i = 1 To 5
x = x + a(i)
Next
End Sub
在窗體上畫一個(gè)名稱為Text1的文本框和一個(gè)名稱為Command1的命令按鈕。然后編寫如下的事件過程:
Private Sub Command1_Click()
Dim arr(5)As Integer, n As Integer
For i = 1 To 5
arr(i)= i + i
Next
Fun arr, n
Text1.Text = Str(n)
End Sub
程序運(yùn)行后,單擊命令按鈕,則在文本框中顯示的內(nèi)容是()。
A.30
B.25
C.20
D.15
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
(1)某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有 【1】 個(gè)葉子結(jié)點(diǎn)。
(2)在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱為 【2】。
(3)診斷和改正程序中錯(cuò)誤的工作通常稱為 【3】。
(4)在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為 【4】。
(5)問題處理方案的正確而完整的描述稱為 【5】。
(6)以下語句輸出結(jié)果是 【6】。
Print Int(12345.6789 * 100 + 0.5)/ 100
(7)在窗體上畫一個(gè)文本框和一個(gè)圖片框,然后編寫如下兩個(gè)事件過程:
Private Sub Form_
該文章轉(zhuǎn)載自無憂考網(wǎng):http://004km.cnmand1_Click()
Dim arr1
Dim Min As Integer, i As Integer
arr1 = Array(12, 435, 76,-24, 78, 54, 866, 43)
Min = 【12】
For i = 2 To 8
If arr1(i)< Min Then 【13】
Next
Print ”最小值是:“;Min
End Sub
以上程序的功能是:用Array函數(shù)建立一個(gè)含有8個(gè)元素的數(shù)組,然后查找并輸出該數(shù)組中各元素的最小值。請?zhí)羁铡?/p>
(11)在名稱為Form1的窗體上畫一個(gè)文本框,其名稱為Text1,在屬性窗口中把該文本框的MultiLine屬性設(shè)置為True,然后編寫如下的事件過程:
Private Sub Form_Click()
Open ”d:testsmtext1.txt“ For Input As #1
Do While Not 【14】
Line Input #1, aspect$
whole$ = whole$ + aspect$ + Chr$(13)+ Chr$(10)
Loop
Text1.Text = whole$
Close #1
Open ”d:testsmtext2.txt“ For Output As #1
Print #1, 【15】
Close #1
End Sub
上述程序的功能是,把磁盤文件smtext1.txt的內(nèi)容讀到內(nèi)存并在文本框中顯示出來,然后把該文本框中的內(nèi)容存入磁盤文件smtext2.txt。請?zhí)羁?005年4月全國計(jì)算機(jī)等級考試二級VB語言筆試答案
參考答案:
選擇題:
1---5 DBDCA
6---10 CBDDC
11--15 ABBCD
16--20 CDABD
21--25 ABCDB
26--30 CDBBA
31--35 CDDDA
填空題:
【1】19
【2】 對象
【3】 程序調(diào)試
該文章轉(zhuǎn)載自無憂考網(wǎng):http://004km.cnmand1_Click
(14)設(shè)窗體上有1個(gè)滾動(dòng)條,要求單擊滾動(dòng)條右端的◢按鈕一次,滾動(dòng)條移動(dòng)一定的刻度值,決定此刻度的屬性是(C)
A)Max
B)Min
C)SmallChange
D)LargeChang
(15)1個(gè)二維數(shù)組可以存放1個(gè)矩形.在程序開始有語句Option Base 0,則下面定義的數(shù)組中正好可以存放1個(gè)4*3矩陣(即只有12個(gè)元素)的是(B)
A)Dim a(-2 To 0,2)AS Integer
B)Dim a(3,2)AS Ingeger
C)Dim a(4,3)AS Ingeger
D)Dim a(-1 To-4,-1 To-3)AS Ingeger
(16)若設(shè)置了文本框的屬性PasswordChar=”$”,則運(yùn)行程序時(shí)向文本框中輸入8個(gè)任意字符后,文本框中顯示的是(A)
A)8個(gè)”$”
B)1個(gè)”$”
C)8個(gè)”*”
D)無任何內(nèi)容
(17)設(shè)在窗體上有1個(gè)名稱為Combo1的組合框,含有5個(gè)項(xiàng)目,要?jiǎng)h除最后一項(xiàng),正確的語句是(B)
A)Combo1.RemoveItem Combo1.Text
B)Combo1.RemoveItem4
C)Combo1.RemoveItem Combo1.ListCount
D)Combo1.RemoveItem5
(18)工程中有2個(gè)窗體,名稱分別為Form1.Form2,Form1為啟動(dòng)窗體,該窗體上有命令按鈕Command1,要求程序運(yùn)行后單擊該命令按鈕時(shí)顯示Form2,則按鈕的Click事件過程應(yīng)該是(A)
A)Private Sub Command1_Click()
B)Private Sub Command1_Click()
Form2.Show
Form2.Visible
End
Sub
End
Sub
C)Private Sub Command1_Click()
D)Private Sub Command1_Click()
Load Form2
Form2.Load
End
Sub
End
Sub
(19)若在某窗體模塊中有如下事件過程(D)
Private Sub Command1_Click(Index AS Integer)
……
End Sub
則以下敘述中正確的是
A)
此事件過程與不帶參數(shù)的事件過程沒有區(qū)別
B)
有1個(gè)名稱為Command1的窗體,單擊此窗體則執(zhí)行此事件過程
C)
有1個(gè)名稱為Command1的空件數(shù)組,數(shù)組中有多個(gè)不同類型控件
D)
有1個(gè)名稱為Command1的空件數(shù)組,數(shù)組中有多個(gè)相同類型控件
(20)以下循環(huán)語句中在任何情況下都至少執(zhí)行一次循環(huán)體的是(C)
A)Do While <條件>
B)While <條件>
循環(huán)體
循環(huán)體
Loop
Wend
C)Do
D)Do Until <條件>
循環(huán)體
循環(huán)體
Loop Until <條件>
Loop
(21)在窗體上有1個(gè)名為Cd1的通用對話框,為了在運(yùn)行程序時(shí)打開保存文件對話框,則在程序總應(yīng)使用的語句是(A)
A)Cd1.Action=2
B)Cd1.Action=1
C)Cd1.ShowSave=Ture
D)Cd1.ShowSave=0
(22)下面關(guān)于菜單的敘述中錯(cuò)誤的是(B)
A)各級菜單中的所有菜單項(xiàng)的名稱必須唯一
B)同一子菜單中的菜單項(xiàng)名稱必須唯一,但不同子菜單中的菜單項(xiàng)名稱可以相同
C)彈出式菜單也用菜單編輯器編輯
(23)已知有下面的過程(D)
Private Sub proc1(a As Integer,b As String,Optional x As Boolean)
……
End Sub
正確調(diào)用此過程的語句是
A)Call procl(5)
B)Call proc1 5,”abc”,False
C)proc1(12,”abc”,True)
D)proc1 5, “abc”
(24)在窗體上有一個(gè)文件名稱為Text1的文本框和1個(gè)名稱為Command1的命令按鈕,要求在程序執(zhí)行時(shí),每單擊命令按鈕一次,文本框向右移動(dòng)一定距離。下面能夠正確實(shí)現(xiàn)上述功能的程序是(C)
A)Private Sub Command1_Click()
B)Private Sub Command1_Click()
Text1.Left=100
T
ext1.Left= Text1.Left-100
End Sub
End Sub
C)Private Sub Command1_Click()
D)Private Sub Command1_Click()
Text1.Move.Text.Left+100
Text1.Move.Text.Left
End Sub
End Sub
(25)某人創(chuàng)建了1個(gè)工程,其中的窗體名稱為Form1;之后又添加了1個(gè)名為Form2的窗體,并希望程序執(zhí)行時(shí)先顯示Form2窗體,那么,他需要做的工作是(A)
A)在工程屬性對話框中把“啟動(dòng)對象”設(shè)置為Form2
B)在Form1的Load事件過程中加入語句 Load Form2
C)在Form2的Load事件過程中加入語句Form2.Show
D)在Form2的TabIndex屬性設(shè)置為1,把Form1的TabIndex屬性設(shè)置為2
(26)窗體上有1個(gè)名稱為Text1的文本框和1個(gè)名稱為Command1的命令按鈕。要求程序運(yùn)行時(shí),單擊命令按鈕,就可以把文本框中的內(nèi)容寫到文件out.txt中,每次寫入的內(nèi)容附加到文件原有內(nèi)容之后。下面能夠?qū)崿F(xiàn)上述功能的程序是(C)
A)Private Sub Command1_Click()
B)Private Sub Command1_Click()
Open “out.txt” For Inpit As#1
Open “out.txt” For Outpit As#1
Print#1,Text1.Text
Print#1,Text1.Text
Close#1
Close#1
End Sub
End Sub
C)Private Sub Command1_Click()
D)Private Sub Command1_Click()
Open “out.txt” For Append As#1
Open “out.txt” For Random As#1
Print#1,Text1.Text
Print#1,Text1.Text
Close#Close#1
End End Sub
(27)為計(jì)算1+3+5+??+99的值,某人編程如下
k=1
Sub
s=0
While k<=99
k=k+2
:
s=s+k
Wend
Print s
在調(diào)試時(shí)發(fā)現(xiàn)運(yùn)行結(jié)果有錯(cuò)誤,需要修改。下列錯(cuò)誤原因和修改方案中正確的是(D)
A)While ?Wend循環(huán)語句錯(cuò)誤,應(yīng)改為For k=1 To 99 ?Next k
B)循環(huán)條件錯(cuò)誤,應(yīng)改為Whlie k<99
C)循環(huán)前的賦值語句k=1錯(cuò)誤,應(yīng)改為k=0
D)循環(huán)中兩條賦值語句的順序錯(cuò)誤,應(yīng)改為s=s+k :
(29)在窗體上有1個(gè)名稱為CommonDialog1的通用對話框和1個(gè)名稱為Command1的命令按鈕,以及其他一些控件。要求在程序運(yùn)行時(shí),單擊Command1按鈕,則顯示打開文件對話框,并在選擇或輸入了1個(gè)文件名后,就可以打開該文件。以下是Command1_Click事件過程的兩種算法
算法1:
Private Sub Command1_Click()
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Input As#1
End Sub
算法2:
Private Sub Command1_Click()
CommonDialog1.ShowOpen
IfCommonDialog1.FileName<>””Then
Open CommonDialog1.FileName For Input As#1
End If
End Sub
下面關(guān)于這兩種算法的敘述中正確的是(B)
A)
顯示打開文件對話框后若未選擇或輸入任何文件名,則算法2會(huì)出錯(cuò),算法1不會(huì)
B)
顯示打開文件對話框后若未選擇或輸入任何文件名,則算法1會(huì)出錯(cuò),算法2不會(huì)
C)
兩種算法的執(zhí)行結(jié)果完全一樣
D)
算法1允許輸入的文件名中含有空格,而算法2不允許
(30)窗體上有1個(gè)名稱為List的列表框,其中已經(jīng)輸入了若干個(gè)項(xiàng)目(如圖所示):還有2個(gè)文本框,名稱分別為Text1、Text2, 1個(gè)名稱為
Command1的命令按鈕,并有以下程序
Private Sub Command1_Click()
Dim str As String, s As String, k As Integer
s=Text1
Str=””
For k=List1.ListCount-1 to 0 Step-1
If InStr(List.List(k),s)>0 then
str=str&List.List(k)&” ”
End If
Next k
If str=””Then
Text2=”沒有匹配的項(xiàng)目”
Else
Text2=str
End If
End Sub
程序運(yùn)行時(shí),在Text1中輸入“京”,單擊命令按鈕,則在Text2中顯示的內(nèi)容是(C)
A)京
B)北京 南京
C)南京
D)沒有匹配的項(xiàng)目
(31)在窗體上畫1一個(gè)名稱為Command1的命令按鈕,并編寫以下程序
Private Sub Command1_Click()
Print fun(“ABCDEFG”)
End Sub
Function fun(st As String)As String
stlen=Len(st)
temp=””
For k
fun=temp
End Function
程序運(yùn)行時(shí),單擊命令按鈕,則窗體上顯示的是(B)
A)ABCDEFG
B)AGBFCE
C)GFEDCBA
D)AGBFCED
(32)在窗體上先后畫2個(gè)圖片框,名稱分別為Picture1和banana,banana中添加了香蕉圖片(見圖1),且將banana.DragMode屬性設(shè)置為1。要求程序運(yùn)行時(shí),可以用鼠標(biāo)把banana拖拽到Picture1中(見圖2)。能實(shí)現(xiàn)此功能的事件過程是(C)
A)Priate Sub Form_DragDrop(Source As Control,X As Single,Y As Single banana.Move Picture1.Left+X,Picture1.Top+Y)
End Sub
B)Private Sub banana _DragDrop(Source As Control,X As Single,Y As Single)
Source.Move Picture1.Left+X.Picture1.Top+Y
End Sub
C)B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single)
Source.Move Picture1.Left+X.Picture1.Top+Y
End Sub
D)B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single)
banana.Move banana.Left+X, banana.Top+Y
End Sub
(33)在窗體上畫1個(gè)名稱為Command1的命令按鈕,然后編寫如下事件過程
Option Base 1
Pribate Sub Command1_Click()
Dim a(5.5)As Integer
For i=1 To 5
a(I,j)*510
Next j
Next i
S=0
For i=1 To 5
S=s+a(i,i)
Next i
Print s
End Sub
程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果是(A)
A)15
B)13
C)11
D)9
(34)在窗體上從左到右有Text1、Text2兩個(gè)文本框(見圖),要求程序運(yùn)行時(shí),在Text1中輸入1個(gè)分?jǐn)?shù)后按回車鍵,則判斷分?jǐn)?shù)的合法性,若分?jǐn)?shù)為0~100中的1個(gè)數(shù),周圍光標(biāo)移到Text2中;否則光標(biāo)不動(dòng),并彈出對話框顯示“分?jǐn)?shù)錯(cuò)”,下面程序中正確的是(D)
A)Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then
‘回車符的ACSII碼是13
a=Val(Text1)
If a>=0 or a<=100 Then
Text2.SetFocus
Else
Text1.SetFocus
;MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
B)Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then
‘回車符的ACSII碼是13
a=Val(Text1)
If a>=0 And a<=100 Then
Text1.SetFocus
Else
Text2.SetFocus
;MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
C)Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then
‘回車符的ACSII碼是13
a=Val(Text1)
If a<0 And a>100 Then
Text2.SetFocus
Else
Text1.SetFocus
;MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
D)Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then
‘回車符的ACSII碼是13
a=Val(Text1)
If a>=0 And a<=100 Then
Text2.SetFocus
Else
Text1.SetFocus
;MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
(35)在窗體上畫2個(gè)命令按鈕,名稱分別為Command1、command2,并編寫如下程序
Const n=5,m=4
Dim a(m,n)
Private Sub Command1_Click()
K=1
For i=1 To m
For j=1 To n
a(i,j)=k
k=k+1
Next j
Next i
Private Sub Command2_Click()
Summ=0
For i=1 To m
For j=1 To n
If i=1 Or i=m Then
Summ=summ+a(i,j)
Else
If j=I Or j=n Then
Summ=summ+a(i,j)
End If
End If
Next j
Next i
Print summ
End Sub
過程Command1_Click()的作用是二維數(shù)組a 中存放1個(gè) m行n列的矩陣;過程Command2_Click()的作用是(A)
A)
計(jì)算矩陣外圍一圈元素的累加和
B)
計(jì)算矩陣除外一圈以外的所有元素的累加和
C)
計(jì)算矩陣第1列和最后一列元素的累加和
D)
計(jì)算矩陣第1行和最后一行元素的累加和
二、填空題(每空2分,共30分)
請將每一個(gè)空的正確答案寫在答題紙上[1]~[15]序號的橫線上,答在試卷上,答在試卷上不得分,注意:以命令關(guān)鍵字填空的必須寫完整
(1)
在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為___63_____。
(2)
軟件測試分為白箱(盒)測試和黑箱(盒)測試,等價(jià)類劃分法屬于__黑箱(或黑盒)測試。
(3)
在數(shù)據(jù)庫系統(tǒng)中,實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為
數(shù)據(jù)庫管理系統(tǒng)(DBMS)_____。
(4)
軟件生命周期可分為多個(gè)階段,一般分為定義階段、開發(fā)階段和維護(hù)階段。編碼和測試屬于
開發(fā)_____階段。
(5)在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,利用
數(shù)據(jù)字典
對其中的圖形元素進(jìn)行確切解釋。
(6)1+ + + +??.n
最大的n。請?zhí)羁?/p>
Private Sub Command1__Click()
Dim s ,m,n AS Integer
m=Val(InputBox(“請輸入一個(gè)大于100的整數(shù)”))
n=
0
s=0
Do While s
N=n+1
S=s+n*n
Loop
Print “滿足不等式的最大n是
n-1
End Sub
(7)下面程序的功能是把文件file11.txt中重復(fù)字符去掉后(即若有多個(gè)字符相同,則只保留1個(gè))寫入文件file2.txt。請?zhí)羁铡?/p>
Private Sub Command1__Click()
Dim inchar AS String,temp AS String,outchar AS String
Outchar=” ”
Open=”file1.txt” For Input AS #1
Open=”file2.txt” For Output AS
#2
n=LOF()
inchar=Input$(n,1)
For k=1 To n
temp=Mid(inchar,k,1)
If InStr(outchar,temp)=
0
Then
outchar=outchar & temp
End If
Next k
print #2,outchar
close #2
close #1
End Sub
(8)在窗體上先畫1個(gè)名為Text1的文本框和平個(gè)名為Label1的標(biāo)簽,再畫1個(gè)名為OP1的有4個(gè)單選按鈕數(shù)組,其Index屬性按季度順序?yàn)?∽3(見圖1)。在文件sales.txt中按月份順序存有某企業(yè)某年12個(gè)月的銷售額。要求在程序執(zhí)行時(shí),鼠標(biāo)單擊1個(gè)單選按鈕,則Text1中顯示相應(yīng)季度的銷售總額,并把相應(yīng)的文字顯示在標(biāo)簽上。圖2是單擊“第3季度”單選按鈕產(chǎn)生的結(jié)果。請?zhí)羁铡?/p>
Dim sales(12)As Long
Private Sub Form__Load()
open “sales.txt” For Input AS #1
For k=1 To 12
Input #1,sales(k)
Next k
Close #1
End Sub
Private Sub
Op1_Click
(Index, AS Integer)
Dim sum AS Long ,k AS Ingeger,month AS Ingeger
sum=0
month=Index*
For k=1 To 3
month=month+1
sum=sum+sales(month)
Next k
Label1.Caption=Opl(Index).Caption
& “銷售總額:”
Text1=sum
End Sub
(9)某人編寫如下函數(shù)來判斷a是否為素?cái)?shù),若是,則函數(shù)返回True;否則返回False
Function Prime(a As Integer)AS Boolean
Dim k As Interger,isprime AS Boolean
If a<2 Then
isprime=False
Else
isprime=True
k=2
Do While k
If a Mod k=0 Then
isprime=False
ELSE
k=k+1
End IF
LOOP
End If
prime=isprime
End Function
在測試時(shí)發(fā)現(xiàn)有1個(gè)非素?cái)?shù)也被判斷為素?cái)?shù),這個(gè)錯(cuò)判的數(shù)是
2007年4月全國計(jì)算機(jī)等級考試二級VB語言筆試試題答案
選擇題:
1-10
cdacd cabaa
11-20
ddbcd abadc
21-30
bbdca cddbc
31-35
bcada 填空:
黑盒測試
DBMS
開發(fā)階段
數(shù)據(jù)詞典
0
N-1 #2 1 0
outchar
op1_click 3
caption 4
07年9月全國計(jì)算機(jī)二級VB筆試含答案
引用地址:http://004km.cnmand1的命令按鈕和一個(gè)名稱為Text1的文本框。要求單擊Command1按鈕時(shí)可把光標(biāo)移到文本框中。下面正確的事件過程是
A)Private Sub Command1_Click()B)Private Sub Text1.GotFocus Command1.GotFocus End Sub EndSub C)Private Sub Command1_Click()D)Private Sub Text1.SetFocus Command1.SetFocus End Sub End Sub(14)執(zhí)行以下程序后輸出的是 Private Sub Command1_Click()Ch$=”AABCDEFGH”
Print Mid(Righ(ch$,6),Len(left(ch$,4)),2)End Sub A)CDEFGH B)ABCD C)FG D)AB(15)設(shè)在窗體Form1上有一個(gè)列表框List1,其中有若干個(gè)項(xiàng)目。要求單擊列表框中某一項(xiàng)時(shí),把該項(xiàng)顯示在窗體上,正確的事件過程是
A)Prvate Sub List1_Click()B)Private Sub Form1_Click()Print List1.Text Print List1.Text End Sub End Sub C)Private Sub List1_Click()D)Private Sub Form1_Click()Print Form1.Text List1.Print List1.Text End Sub End Sub(16)若窗體上的圖片框中有一個(gè)命令按鈕,則此按鈕的Left屬性是指 A)按鈕左端到窗體左端的距離 B)按鈕左端到圖片框左端的距離 C)按鈕中心點(diǎn)到窗體左端的距離 D)按鈕中心點(diǎn)到圖片框左端的距離
(17)為使程序運(yùn)行時(shí)通用對話框CD1上顯示的標(biāo)題為“對話框窗口”,若通過程序設(shè)置該標(biāo)題,則應(yīng)使用的語句是
A)CD1.DialogTitle=“對話框窗口” B)CD1.Action=“對話框窗口” C)CD1.FileName=“對話框窗口” D)CD1.Filter=“對話框窗口”(18)在窗體上有如右圖所示的控件,各控件的名稱 與其標(biāo)題相同,并有如下程序: Private Sub Form_Load()Command2.Enabled=False Check1.value=1 End Sub 剛運(yùn)行程序時(shí),看到的窗體外觀是:
(19)設(shè)在窗體中有一個(gè)名稱為List1的列表框,其中有若干個(gè)項(xiàng)目(如圖)。要求選中某一項(xiàng)后單擊Command1按鈕,就刪除選中的項(xiàng),則正確的事件過程是
A)Private Sub Command1_Click()List1.Clear End Sub B)Private Sub Command1_Click()List1.Clear List1.ListIndex End Sub C)Private Sub Command1_Click()List1.Removeltem List1.ListIndex End Sub D)Private Sub Command1_Click()List1.Removeltem End Sub(20)某人設(shè)計(jì)了如下程序用來計(jì)算并輸出7!(7的階乘)Private Sub Command1_Click()t=0 For k=7 To 2 Step-1 t=t*k Next Print t End Sub 執(zhí)行程序時(shí),發(fā)現(xiàn)結(jié)果是錯(cuò)誤的,下面的修改方案中能夠得到正確結(jié)構(gòu)的是 A)把t=0改為t=1 B)把For k = 7 To 2 Step-1改為For k =7 To 1 Step-1 C)把For k = 7 To 2 Stip-1改為Fork=1 To 7 D)把Next改為Nexi k(21)若窗體中已經(jīng)有若干個(gè)不同的單選按鈕,要把它們改為一個(gè)單選按鈕數(shù)組,在屬性窗口中需要且只需要進(jìn)行的操作是
A)把所有單選按鈕的Index屬性改為相同值 B)把所有單選按鈕的Index 屬性改為連續(xù)的不同值 C)把所有單選按鈕的Caption屬性值改為相同
D)把所有單選按鈕的名稱改為相同,且把它們的Index屬性改為連續(xù)的不同值。(22)窗體上有文本框Text1和一個(gè)菜單,菜單標(biāo)題、名稱如表,結(jié)構(gòu)見圖。要求程序執(zhí)行時(shí)單擊“保存”菜單項(xiàng),則把其標(biāo)題顯示在Text1文本框中。下面可實(shí)現(xiàn)此功能的事件過程是: 標(biāo)題 名稱 文件 file 新建 new 保存 save A)Private Sub save_Click()B)Private Sub save_Click()Text1.Text=file.save.Caption Text1.Text=save.Caption End Sub End Sub C)Private Sub file_Click()D)Private Sub file_Click()Text1.Text=file.save.Caption Text1.Text=save.Caption End Sub End Sub(23)某人在窗體上畫了一個(gè)名稱為Timer1的計(jì)時(shí)器和一個(gè)名稱為Lab 的屬性設(shè)置為Enabled=True, Interval=0,并編程如下。希望在每2秒在標(biāo)簽上顯示一次系統(tǒng)當(dāng)前時(shí)間。
Private Sub Timer1_Timer()Label1.Caption=Time$ End Sub 在程序執(zhí)行時(shí)發(fā)現(xiàn)未能實(shí)現(xiàn)上述目的,那么,他應(yīng)做的修改是 A)通過屬性窗口把計(jì)時(shí)器的Interval屬性設(shè)置為2000 B)通過屬性窗口把計(jì)時(shí)器的Enabled屬生設(shè)置為False C)把事件過程中的Label1.Caption=Time$語句改為Timer1.Interval=Tims$ D)把事件過程中的Label1.Caption=Time$語句改為Label1.Caption=Timer1.Time(24)形狀控件的Shape屬性有6種取值,分別代表6種幾何圖形。下列不屬于這6種幾何圖形的是
(25)下面關(guān)于文件的敘述中錯(cuò)誤的是 A)隨機(jī)文件中各條記錄的長度是相同的] B)打開隨機(jī)文件時(shí)采用的文件存取方式應(yīng)該是Random C)向隨機(jī)文件中寫數(shù)據(jù)應(yīng)使用語句Print#文件號
D)打開隨機(jī)文件與打開順序文件一樣,都使用Open語句(26)設(shè)窗體上有一個(gè)圖片框Picture1,要在程序運(yùn)行期間裝入當(dāng)前文件夾下的圖形文件File1.jpg,能實(shí)現(xiàn)此功能的語句是
A)Picture1.Picture=”Flie1.jpg
B)Picture1.Picture=LoadPicture(“File1.jpg”)C)LoadPicture(“File1.jpg”)D)Call LoadPicture(“File1.jpg”)(27)下面程序執(zhí)行時(shí),在窗體上顯示的是 Private Sub Command1_Click()Dim a(10)For k = 1 To 10 a(k)= 11 – k Next k Print a(a(3)a(7)Mod a(5))End Sub A)3 B)5 C)7(28)為達(dá)到把a(bǔ)、b中的值交換后輸出的目的,某人編程如下: Private Sub Command1_Click()a% = 10:b% = 20 Call swap(a,b)Print a,b End Sub Private Sub swap(ByVal a As Integer,ByVal b As Integer)c= a:a=b:b=c End Sub 在運(yùn)行時(shí)發(fā)現(xiàn)輸出結(jié)果錯(cuò)了,需要修改。下面列出的錯(cuò)誤原因和修改方案中正確的是 A)調(diào)用swap過程的語句錯(cuò)誤,應(yīng)改為Call swap a,b B)輸出語句錯(cuò)誤,應(yīng)改為:Print ”a”,”b”
C)過程的形式參數(shù)有錯(cuò),應(yīng)改為:swap(ByRef a As Integer,ByRef b As Integer)D)swap中3條賦值語句的順序是錯(cuò)誤的,應(yīng)改為a=b:b=c:c=a(29)有如下函數(shù):
Function fun(a As Integer,n As Integer)As Integer Dim m As Integer While a >=n a=a-n m= m+1 Wend fun=m End Function 該函數(shù)的返回值是
A)a乘以n的乘積 B)a加n的和
C)a減n的差 D)a除以n的商(不含小數(shù)部分)(30)下面程序的輸出結(jié)果是 Private Sub Command1_Click()ch$=”ABCDEF” proc ch Print ch End Sub Private Sub proc(ch As String)S=””
For k=Len(ch)To 1 Step-1 s=s&Mid(ch,k,1)Next k ch=s End Sub A)ABCDEF B)FEDCBA C)A D)F(31)某人編寫了一個(gè)能夠返回?cái)?shù)組a中10個(gè)數(shù)中最大數(shù)的函數(shù)過程,代碼如下: Function Maxvalue(a()As Integer)As Integer Dim max% max=1 For k = 2 To 10 If a(k)>a(max)Then max = k End If Next k Maxvalue = max End Function 程序運(yùn)行時(shí),發(fā)現(xiàn)函數(shù)過程的返回值是錯(cuò)的,需要修改,下面的修改方案中正確的是 A)語句max = 1應(yīng)改為max = a(1)B)語句For k = 2 To 10應(yīng)改為For k = 1 To 10 C)If語句中的條件a(k)>a(max)應(yīng)改為a(k)>max D)語句Maxvalue = max 應(yīng)改為Maxvalue = a(max)(32)在窗體上畫一個(gè)名稱為Command1的命令按鈕,并編寫以下程序: Private Sub Command1_Click()Dim n%,b,t t = 1:b = 1:n = 2 Do b = b*n t = t + b n = n +1 Loop Until n>9 Print t End Sub 此程序計(jì)算并輸出一個(gè)表達(dá)式的值,該表達(dá)式是
A)9!B)10!C)1!+2!+?+9!D)1!+2!+?+10!
(33)有一個(gè)名稱為Form1的窗體,上面沒有控件,設(shè)有以下程序(其中方法Pset(X,Y)的功能是在坐標(biāo)X,Y處畫一個(gè)點(diǎn)):
Dim cmdmave As Boolean Private Sub Form_MouseDown(Button As Integer,Shift As Integer, X As Single,Y As Single)cmdmave = True End Sub Private Sub Form_MouseMove(Button As Integer,Shift As Integer, X As Single, Y As Single)If cmdmave Then Form1.Pset(X,Y)End If End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single,Y As Single)cmdmave = False End Sub 此程序的功能是
A)每按下鼠標(biāo)鍵一次,在鼠標(biāo)所指位置畫一個(gè)點(diǎn)
B)按下鼠標(biāo)鍵,則在鼠標(biāo)所指位置畫一個(gè)點(diǎn);放開鼠標(biāo)鍵,則此點(diǎn)消失 C)不按鼠標(biāo)鍵而拖動(dòng)鼠標(biāo),則沿鼠標(biāo)拖動(dòng)的軌跡畫一條線
D)按下鼠標(biāo)鍵并拖動(dòng)鼠標(biāo),則沿鼠標(biāo)拖動(dòng)的軌跡畫一條線,放開鼠標(biāo)鍵則結(jié)束畫線(34)某人設(shè)計(jì)了下面的函數(shù)fun,功能是返回參數(shù)a中數(shù)值的位數(shù) Function fun(a As Integer)As Integer Dim n% n = 1 While a 10 >= 0 n = n + 1 a = a 10 Wend fun = n End Function 在調(diào)用該函數(shù)時(shí)發(fā)現(xiàn)返回的結(jié)果不正確,函數(shù)需要修改,下面的修改方案中正確的是 A)把語句n = 1改為n = 0 B)把循環(huán)條件a 10 >= 0改為a 10 > 0 C)把語句 a = a 10改為a = a Mod 10 D)把語句fun = n改為 fun = a(35)在窗體上有一個(gè)名稱為Check1的復(fù)選框數(shù)組(含4個(gè)復(fù)選框),還有一個(gè)名稱為Text1的文本 框,初始內(nèi)容為空。程序運(yùn)行時(shí),單擊任何復(fù)選 框,則把所有選中的復(fù)選框后面的方字羅列在文 本框中(見圖)。下面能實(shí)現(xiàn)此功能的事件過程是 A)Private Sub Check1_Click(Indes As Integer)Text1.Text =”“ For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(k).Caption & ” “ '雙引號中是空格 End If Next k End Sub B)Private Sub Check1_Click(Index As Integer)For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(k).Caption & ” “ '雙引號中是空格 End If Next k End Sub C)Private Sub Check1_Click(Index As Integer)Text1.Text = ”“ For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(Index).Caption & ” “ '雙引號中是空格 End If Next k End Sub D)Private Sub Check1_Click(Index As Integer)Text1.Text = ”“ For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(k).Caption & ” “ '雙引號中是空格 Exit For End If Next k End Sub
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡[1]~[15]序號的橫線上,答在試卷上不得分。
(1)軟件需求規(guī)格說明書應(yīng)具有完整性,無岐義性、正確性、可驗(yàn)證性、可修改性等特征,其中最重要的是【1】。
(2)在兩種基本測試方法中,【2】 測試的原則之一是保證所測模塊中每一個(gè)獨(dú)立路徑至少執(zhí)行一次。
(3)線性表的存儲(chǔ)結(jié)構(gòu)主要分為順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。隊(duì)列是一種特殊的線性表,循環(huán)隊(duì)列是隊(duì)列的【3】 存儲(chǔ)結(jié)構(gòu)。
(4)對下列二叉樹進(jìn)行中序遍歷的結(jié)果為【4】。
(5)在E-R圖中,矩形表示【5】。(6)窗體上有一個(gè)組合框,其中已輸入了 若干個(gè)項(xiàng)目。程序運(yùn)行時(shí),單擊其中一 項(xiàng),即可把該項(xiàng)與最上面的一項(xiàng)交換。例如:單擊圖1中的“重慶”,則與“北 京”交換,得到圖2的結(jié)果。下面是可 實(shí)現(xiàn)此功能的程序,請?zhí)羁?。Private Sub Combo1_Click()Dim temp temp = Combo1.Text [6] = Combo1.List(0)Combo1.List(0)= temp End Sub(7)設(shè)窗體上有一個(gè)名稱為HScroIII的水平滾動(dòng)條,要求當(dāng)滾動(dòng)塊移動(dòng)位置后,能夠在窗體上輸出移動(dòng)的距離(即新位置與原位置的刻度值之差,向右移動(dòng)為正數(shù),向左移動(dòng)為負(fù)數(shù))。下面是可實(shí)現(xiàn)此功能的程序,請?zhí)顚憽?/p>
Dim [7] As Integer Private Sub Form_Load()pos=HScroIII.value End Sub Private Sub HScroIII_Change()Print [8]-pos pos=HScroIII.value End Sub(8)設(shè)窗體上有一個(gè)名稱為CD1的通用對話框,一個(gè)名稱為Text1的文本框和一個(gè)名稱為Command1的命令按鈕。程序執(zhí)行時(shí),單擊Command1按鈕,則顯示打開文件對話框,操作者從中選擇一個(gè)文本文件,并單擊對話框上的“打開”按鈕后,則可打開該文本文件,并讀入一行文本,顯示在Text1中。下面是實(shí)現(xiàn)此功能的事件過程,請?zhí)羁铡?/p>
Private Sub Command1_Click()CD1.Filter =”文本文件1*.txt(Word 文檔)*.doc“ CD1.Filterinder = 1 CD1.ShowOpen If CD1.FileName<>”“Then Open [9] For Input As #1 Line Input #1,ch$ Close #1 Text1.Text = [10] End If End Sub(9)下面的程序執(zhí)行時(shí),可以從鍵盤輸入一個(gè)正整數(shù),然后把該數(shù)的每位數(shù)字按逆序輸出。例如:輸入7685,則輸出5867,輸入1000,則輸出0001。請?zhí)羁铡?/p>
Private Sub Command1_Click()Dim x As Integer x=InputBox(“請輸入一個(gè)正整數(shù)”)While x>__[11]___ Print x Mod 10;x=x10 Wend Print__[12]__ End Sub
(10)有如圖所示的窗體。程序執(zhí)行時(shí)先在Text1文本框中輸入編號,當(dāng)焦點(diǎn)試圖離開Text1時(shí),程序檢查編號的合法性,若編號合法,則焦點(diǎn)可以離開Text1文本框;否則,顯示相應(yīng)錯(cuò)誤信息,并自動(dòng)選中錯(cuò)誤的字符,且
焦點(diǎn)不能離開Text1文本框(見圖)。合法編號的組成是:前2個(gè)字符是大寫英文 字母,第3個(gè)字符是“-”,后面是數(shù)字字符(至少1個(gè))。下面程序可實(shí)現(xiàn)此功能,請 填空。
Private Sub Text1_Lostfocus()Dim k%,n% n=Len([13])For k=1 to if(n>3,n,4)c=Mid(Text1.Text,k,1)Select Case k Case 1,2 If c<”A“ Or c>”Z“ Then MsgBox(”第“&k&”個(gè)字符必須是大寫字母!“)SetPosition k Exit For End If Case 3 If c<>”-“ Then MsgBox(”第“&k&”個(gè)字符必須是字符“'”-“'”)SetPosition k Exit For End If Case Else If c<“0” Or c>“9” Then MsgBox(“第”&k&“個(gè)字符必須是數(shù)字!”)SetPosition k Exit For End If End Select Next k End Sub
Private Sub SetPosition(pos As Integer)Text1.SelStart=pos-1 Text.SelLength= [14] Text1.[15] End Sub
2007年9月全國計(jì)算機(jī)等級考試二級VB參考答案
一、選擇題 1-5 DBCAA 6-10 CCABA 11-15 BDCCA 16-20 BAACA 21-25 DBABC 26-30 BDCDB 31-35 DCDBA
第四篇:全國計(jì)算機(jī)等級考試二級vfp考點(diǎn)
010二級公共基礎(chǔ)知識復(fù)習(xí)綱要
第 1 章
數(shù)據(jù)結(jié)構(gòu)與算法
考點(diǎn)1:算法具有4個(gè)基本特征:可行性、確定性、有窮性、擁有足夠的情報(bào)。確定性:是指算法中每一個(gè)步驟都必須是有明確定義的,不允許模棱兩可的定義 有窮性:是指算法必須能在有限的時(shí)間內(nèi)做完
一個(gè)算法由兩種基本要素組成:一是對數(shù)據(jù)對象的運(yùn)算和操作,二是算法的控制結(jié)構(gòu) 考點(diǎn)2:算法復(fù)雜度包括時(shí)間復(fù)雜度和空間復(fù)雜度 時(shí)間復(fù)雜度
執(zhí)行算法所需要的計(jì)算工作量 空間復(fù)雜度
執(zhí)行這個(gè)算法所需要的內(nèi)存空間 考點(diǎn)3:數(shù)據(jù)結(jié)構(gòu)
一:討論的問題:1.數(shù)據(jù)元素之間的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu) 2.數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) 3.對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算
考點(diǎn)4:數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。(1)如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件: ① 有且只有一個(gè)根結(jié)點(diǎn);
② 每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu)。
如果一個(gè)數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu),則稱之為非線性結(jié)構(gòu)??键c(diǎn)5:線性表
特點(diǎn):(1)線性表中所有元素所占的存儲(chǔ)空間是連續(xù)的
(2)線性表中各數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放的 考點(diǎn)5: 棧的基本概念
棧(stack)是一種特殊的線性表,是限定只在一端進(jìn)行插入與刪除的線性表。棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的??键c(diǎn)6:隊(duì)列的基本概念
隊(duì)列是只允許在一端進(jìn)行刪除,在另一端進(jìn)行插入的順序表,通常將允許刪除的這一端稱為隊(duì)頭,允許插入的這一端稱為隊(duì)尾。當(dāng)表中沒有元素時(shí)稱為空隊(duì)列。即先進(jìn)先出表。循環(huán)隊(duì)列就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間,供隊(duì)列循環(huán)使用
考點(diǎn)7: 鏈表
在鏈?zhǔn)酱鎯?chǔ)方式中,要求每個(gè)結(jié)點(diǎn)由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱為數(shù)據(jù)域;另一部分用于存放指針,稱為指針域。其中指針用于指向該結(jié)點(diǎn)的前一個(gè)或后一個(gè)結(jié)點(diǎn)(即前件或后件)??键c(diǎn)8:二叉樹性質(zhì)
(1)
在樹結(jié)構(gòu)中,每一個(gè)結(jié)點(diǎn)只有一個(gè)前件,稱為父結(jié)點(diǎn),沒有父結(jié)點(diǎn)的只有一個(gè),成為根結(jié)點(diǎn)
(2)
沒有后件的結(jié)點(diǎn)成為葉子結(jié)點(diǎn)
(3)
一個(gè)結(jié)點(diǎn)所擁有的后件個(gè)數(shù)稱為該結(jié)點(diǎn)的度,在樹中,所有結(jié)點(diǎn)中最大的度稱為樹的度
(4)
樹的最大層次稱為樹的深度
(5)
在二叉樹的第k層上,最多有2^(k-1)個(gè)結(jié)點(diǎn)(6)
深度為m的二叉樹最多有2^m-1個(gè)結(jié)點(diǎn)(7)
任意一棵二叉樹,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)(8)
滿二叉樹:除最后一層外,每一層上的所有結(jié)點(diǎn)都有兩個(gè)子節(jié)點(diǎn)
(9)
完全二叉樹:除最后一層外,每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,在最后一層上只缺少右邊的若干結(jié)點(diǎn)
考點(diǎn)9: 二叉樹的遍歷
根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷分為三類:前序遍歷、中序遍歷和后序遍歷。(1)前序遍歷
先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且在遍歷左、右子樹 時(shí),仍需先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。(2)中序遍歷
先遍歷左子樹、然后訪問根結(jié)點(diǎn),最后遍歷右子樹;并且,在遍歷左、右子 樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。例如,對圖 1-1 中的二叉樹進(jìn)行中序遍歷的結(jié)果(或稱為該二叉樹的中序序列)(3)后序遍歷
先遍歷左子樹、然后遍歷右子樹,最后訪問根結(jié)點(diǎn);并且,在遍歷左、右子 樹時(shí),仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點(diǎn)??键c(diǎn)10:各種排序的復(fù)雜度(1)順序查找需要比較n 次
(2)冒泡排序在最壞的情況下需要比較次數(shù)為n(n-1)/2。(3)簡單插入排序法,最壞情況需要n(n-1)/2 次比較;(4)希爾排序法,最壞情況需要O(n1.5)次比較。
(5)簡單選擇排序法,最壞情況需要n(n-1)/2 次比較;(6)堆排序法,最壞情況需要O(nlog2n)次比較。
第二章:程序設(shè)計(jì)基礎(chǔ)
考點(diǎn)1:結(jié)構(gòu)化程序設(shè)計(jì)的原則
(1)自頂向上:先考慮整體,再考慮細(xì)節(jié);先考慮全局目標(biāo),再考慮局部目標(biāo);(2)逐步求精:對復(fù)雜問題應(yīng)設(shè)計(jì)一些子目標(biāo)作為過渡,逐步細(xì)化;
(3)模塊化:把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個(gè)小目標(biāo)稱為一個(gè)模塊。
(4)限制使用goto 語句:在程序開發(fā)過程中要限制使用goto 語句??键c(diǎn)2:結(jié)構(gòu)化程序的基本結(jié)構(gòu)
結(jié)構(gòu)化程序的基本結(jié)構(gòu)有三種類型:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
考點(diǎn)3: 面向?qū)ο蠓椒êw對象及對象屬性與方法、類、繼承、多態(tài)性幾個(gè)基本要素。對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?主要特點(diǎn):(1)標(biāo)識惟一型
(2)分類性(3)多態(tài)性
(4)封裝性
(5)模塊獨(dú)立性好 考點(diǎn)4:消息:對象間的相互合作需要一個(gè)機(jī)制來協(xié)助進(jìn)行,這個(gè)機(jī)制就是消息 考點(diǎn)5:繼承是面向?qū)ο蟮姆椒ǖ囊粋€(gè)主要特征,分為單繼承和多重繼承
第三章:軟件工程基礎(chǔ)
考點(diǎn)1: 計(jì)算機(jī)軟件是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合,軟件工程包括3 個(gè)要素:方法、工具和過程
考點(diǎn)2: 軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。軟件生命周期還可以分為軟件定義、軟件開發(fā)、軟件運(yùn)行維護(hù)階段 軟件定義階段包括:可行性研究、需求分析
軟件開發(fā)階段包括:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)、測試 軟件維護(hù)階段包括:使用、維護(hù)、退役
考點(diǎn)3:軟件工程的理論和技術(shù)性研究主要包括:軟件開發(fā)技術(shù)和軟件工程管理 考點(diǎn)4:數(shù)據(jù)流圖圖符的含義
圓形表示加工,箭頭表示數(shù)據(jù)流,等于號表示存儲(chǔ)文件,矩形表示源、潭
考點(diǎn)5:數(shù)據(jù)字典:是結(jié)構(gòu)化分析方法的核心,數(shù)據(jù)字典是對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表
考點(diǎn)6:軟件需求規(guī)格說明書是需求分析階段的最后成果 考點(diǎn)7:模塊獨(dú)立性
衡量模塊獨(dú)立性的定性標(biāo)準(zhǔn):內(nèi)聚性與耦合性
內(nèi)聚性:是一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量 耦合性:模塊間互相連接的緊密程度的度量 一個(gè)優(yōu)秀的設(shè)計(jì)應(yīng)盡量做到高內(nèi)聚、低耦合
考點(diǎn)8:典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型 考點(diǎn)9:程序流程圖圖符的含義
考點(diǎn)10:軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程 靜態(tài)測試是由人工進(jìn)行的測試 動(dòng)態(tài)測試是基于計(jì)算機(jī)的測試
考點(diǎn)11:白盒測試主要方法:邏輯覆蓋、基本路徑測試
黑盒測試主要方法:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測法、因果圖等
軟件測試過程一般按4個(gè)步驟來進(jìn)行:單元測試、集成測試、驗(yàn)收測試、系統(tǒng)測試
考點(diǎn)12:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤,與測試不同,軟件測試是盡可能多的發(fā)現(xiàn)錯(cuò)誤
第四章:數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)
考點(diǎn)1:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織,數(shù)據(jù)操縱,數(shù)據(jù)維護(hù),控制及保護(hù)和數(shù)據(jù)服務(wù)等 考點(diǎn)2:數(shù)據(jù)庫系統(tǒng)提供的數(shù)據(jù)語言:(1)
數(shù)據(jù)定義語言:該語言負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建(2)
數(shù)據(jù)操縱語言負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增、刪、改等
(3)
數(shù)據(jù)控制語言負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等 考點(diǎn)3:數(shù)據(jù)庫系統(tǒng)由如下幾部分組成:數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員、硬件平臺(tái)與軟件平臺(tái)
考點(diǎn)4:數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序,數(shù)據(jù)獨(dú)立性分為物理獨(dú)立性和邏輯獨(dú)立性 考點(diǎn)5:數(shù)據(jù)庫的三級模式
(1)
概念模式:是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖(2)
外模式:是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式(3)
內(nèi)模式:它給出了數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法 考點(diǎn)6:數(shù)據(jù)模型所描述的內(nèi)容有三個(gè)方面:(1)
數(shù)據(jù)結(jié)構(gòu):主要描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì)以及數(shù)據(jù)間的聯(lián)系(2)
數(shù)據(jù)操作:主要描述在相應(yīng)數(shù)據(jù)結(jié)構(gòu)上的操作類型與操作方式(3)
數(shù)據(jù)約束:主要描述數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)間的語法、語義聯(lián)系 考點(diǎn)7:E-R模型
(1)E-R模型由三個(gè)基本概念組成:實(shí)體、聯(lián)系和屬性
(2)在E-R圖示法中:矩形表示實(shí)體集,橢圓形表示屬性,菱形表示聯(lián)系
考點(diǎn)8:關(guān)系模型的約束包括實(shí)體完整性約束、參照完整性約束、用戶自定義完整性約束 考點(diǎn)9:關(guān)系代數(shù)
并運(yùn)算:關(guān)系R與S經(jīng)并運(yùn)算后所得到的關(guān)系是由那些在R內(nèi)或在S內(nèi)的有序組 交運(yùn)算:關(guān)系R與S經(jīng)交運(yùn)算后所得到的關(guān)系是由那些即在R內(nèi)又在S內(nèi)的有序組 差運(yùn)算:關(guān)系R與S經(jīng)差運(yùn)算后所得到的關(guān)系是由那些在R內(nèi)但不在S內(nèi)的有序組 自然連接: 考點(diǎn)10:E-R圖與關(guān)系的轉(zhuǎn)換
E-R圖中實(shí)體與聯(lián)系都可以轉(zhuǎn)換成關(guān)系,屬性也可以轉(zhuǎn)換成關(guān)系的屬性 1.1 數(shù)據(jù)庫基礎(chǔ)知識
考點(diǎn)1 計(jì)算機(jī)數(shù)據(jù)管理的發(fā)展 1數(shù)據(jù)與數(shù)據(jù)處理
數(shù)據(jù)是指存儲(chǔ)在某一種媒體上能夠識別的物理符號。數(shù)據(jù)處理的中心問題是數(shù)據(jù)管理。2計(jì)算機(jī)數(shù)據(jù)管理(l)人工管理。(2)文件系統(tǒng)。(3)數(shù)據(jù)庫系統(tǒng)。
(4)分布式數(shù)據(jù)庫系統(tǒng)。(5)面向?qū)ο髷?shù)據(jù)庫系統(tǒng)。3數(shù)據(jù)庫管理系統(tǒng)
為數(shù)據(jù)庫的建立、使用和維護(hù)而配置的軟件稱為數(shù)據(jù)庫管理系統(tǒng)DBMS(DataBase Management System)。
圖1-1 數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)與程序的關(guān)系 考點(diǎn)2 數(shù)據(jù)庫系統(tǒng) 1有關(guān)數(shù)據(jù)庫的概念
(1)數(shù)據(jù)庫(DataBase):存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上、結(jié)構(gòu)化的相關(guān)數(shù)據(jù)的集合。
(2)數(shù)據(jù)庫應(yīng)用系統(tǒng)(DBAS):是由系統(tǒng)開發(fā)人員利用數(shù)據(jù)庫系統(tǒng)資源開發(fā)出來的,面向某一類實(shí)際應(yīng)用的應(yīng)用軟件系統(tǒng)。
(3)數(shù)據(jù)庫管理系統(tǒng)(DBMS):對數(shù)據(jù)實(shí)行專門管理,提供安全性和完整性等統(tǒng)一機(jī)制,可以對數(shù)據(jù)庫的建立、使用和維護(hù)進(jìn)行管理。
(4)數(shù)據(jù)庫系統(tǒng)(DBS):是指引進(jìn)數(shù)據(jù)庫技術(shù)后的計(jì)算機(jī)系統(tǒng),實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量相關(guān)數(shù)據(jù),提供數(shù)據(jù)處理和信息資源共享的便利手段。數(shù)據(jù)庫系統(tǒng)由硬件系統(tǒng)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)及相關(guān)軟件、數(shù)據(jù)庫管理員和用戶等部分組成。2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)
(l)實(shí)現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余。(2)采用特定的數(shù)據(jù)模型。(3)具有較高的數(shù)據(jù)獨(dú)立性。(4)具有統(tǒng)一的數(shù)據(jù)控制功能??键c(diǎn)3 數(shù)據(jù)模型 1實(shí)體的描述(1)實(shí)體。
(2)實(shí)體的屬性。(3)實(shí)體集和實(shí)體型。
2實(shí)體間聯(lián)系及聯(lián)系的種類(1)一對一聯(lián)系。(2)一對多聯(lián)系。(3)多對多聯(lián)系。3數(shù)據(jù)模型簡介
為了反映事物本身及事物之間的各種聯(lián)系,數(shù)據(jù)庫中的數(shù)據(jù)必須有一定的結(jié)構(gòu),這種結(jié)構(gòu)用數(shù)據(jù)模型來表示,通常有以下3種。(1)層次數(shù)據(jù)模型。(2)網(wǎng)狀數(shù)據(jù)模型。(3)關(guān)系數(shù)據(jù)模型。小提示:
數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS和數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是DBS包括DB和DBMS。1.2 關(guān)系模型
關(guān)系模型的用戶界面非常簡單,一個(gè)關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。這種用二維表的形式表示實(shí)體和實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。1關(guān)系術(shù)語
(l)關(guān)系:一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系有一個(gè)關(guān)系名。在Visual FoxPro中一個(gè)關(guān)系存儲(chǔ)為一個(gè)文件,擴(kuò)展名為DBF,稱為“表”。
對關(guān)系的描述稱為關(guān)系模式,一個(gè)關(guān)系模式對應(yīng)一個(gè)關(guān)系的結(jié)構(gòu),格式為: 關(guān)系名(屬性名1,屬性名2,?,屬性名n)(2)元組:在一個(gè)二維表中,水平方向的行稱為元組,每一行為一個(gè)元組。(3)屬性:將二維表中垂直方向的列稱為屬性,每一列都有一個(gè)屬性名。(4)域:屬性的取值范圍,即不同元組對同一個(gè)屬性的取值所限定的范圍。
(5)關(guān)鍵字:屬性或?qū)傩缘慕M合,其值能夠唯一地標(biāo)識一個(gè)元組。在Visual FoxPro中,主關(guān)鍵字和候選關(guān)鍵字就起唯一標(biāo)志一個(gè)元組的作用。
(6)外部關(guān)鍵字:如果表中一個(gè)字段不是本表的主關(guān)鍵字或候選關(guān)鍵字,而是另一個(gè)表的主關(guān)鍵字或候選關(guān)鍵字,那么這個(gè)字段(屬性)就稱為外部關(guān)鍵字。2關(guān)系的特點(diǎn)
(1)關(guān)系必須規(guī)范化。
(2)在同一個(gè)關(guān)系中不能出現(xiàn)同名屬性,Visual FoxPro中表示為字段名的不同。(3)關(guān)系中不允許有完全相同的元組,即冗余。(4)在一個(gè)關(guān)系中元組的次序無關(guān)緊要。(5)在一個(gè)關(guān)系中列的次序無關(guān)緊要??键c(diǎn)5 關(guān)系運(yùn)算
對關(guān)系數(shù)據(jù)庫進(jìn)行查詢時(shí),需要找到用戶感興趣的數(shù)據(jù),這就需要對關(guān)系進(jìn)行一定的關(guān)系運(yùn)算,關(guān)系的基本運(yùn)算有兩類:傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算。1傳統(tǒng)的集合運(yùn)算
(1)并:兩個(gè)相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個(gè)關(guān)系的全部元組組成的集合。
(2)差:兩個(gè)相同結(jié)構(gòu)關(guān)系的差是由屬于前一個(gè)關(guān)系的元組而不屬于后一個(gè)關(guān)系的元組組成的集合。例如,關(guān)系R和S的差結(jié)果是由屬于R但不屬于S的元組組成的集合。(3)交:兩個(gè)相同結(jié)構(gòu)關(guān)系的交是由屬于這兩個(gè)關(guān)系所共有的元組組成的集合。2專門的關(guān)系運(yùn)算
(1)選擇:從關(guān)系中找出滿足給定條件的元組的操作。(2)投影:從關(guān)系模式中指定若干個(gè)屬性組成新的關(guān)系:
(3)連接:關(guān)系的橫向結(jié)合,將兩個(gè)關(guān)系模式拼接成一個(gè)更寬的關(guān)系模式。
(4)自然連接:在連接運(yùn)算中,按照字段值對應(yīng)相等為條件進(jìn)行的連接操作稱為等值連接。自然連接是去掉重復(fù)屬性的等值連接。小提示:
選擇和投影運(yùn)算的操作對象只是一個(gè)表,相當(dāng)于對一個(gè)二維表進(jìn)行切割。連接運(yùn)算則需要把兩個(gè)表作為操作對象。如果兩個(gè)表以上進(jìn)行連接,應(yīng)當(dāng)兩兩進(jìn)行連接。1.3 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 考點(diǎn)6 數(shù)據(jù)庫設(shè)計(jì)步驟 1設(shè)計(jì)原則
(l)關(guān)系數(shù)據(jù)庫的設(shè)計(jì)應(yīng)遵從概念單一化“一事一地”的原則。(2)避免在表之間出現(xiàn)重復(fù)字段。
(3)表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素。(4)用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間的聯(lián)系。2設(shè)計(jì)步驟
利用Visual FoxPro來開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng),可以按照以下步驟來設(shè)計(jì)。(1)需求分析。(2)確定需求表C(3)確定需求字段。(4)確定聯(lián)系。(5)設(shè)計(jì)精確
1.4 Visual FoxPro系統(tǒng)概述 考點(diǎn)7 Visual FoxPro的特點(diǎn)(l)增強(qiáng)項(xiàng)目與數(shù)據(jù)庫管理。
(2)提高應(yīng)用程序開發(fā)的生產(chǎn)率。(3)互操作性與支持Internet。(4)充分利用已有數(shù)據(jù)。2.1程序與程序文件 程序與程序文件
考點(diǎn)1 程序的概念、建立與執(zhí)行 1程序的概念
程序是能夠完成一定任務(wù)的命令集合。這組命令被存放在稱為程序文件或命令文件的文本文件中。當(dāng)運(yùn)行程序時(shí),系統(tǒng)會(huì)按照一定的次序自動(dòng)執(zhí)行包含在程序文件中的命令。2程序文件的建立與修改
程序文件的建立與修改一般是通過調(diào)用系統(tǒng)內(nèi)置的文本編輯器來進(jìn)行的。其建立步驟如下。(l)打開文本編輯窗口。
(2)在文本編輯窗口中輸入程序內(nèi)容,此處所輸入的程序命令不會(huì)馬上被執(zhí)行。
(3)編輯完成后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件。3打開或修改程序文件的方法
(1)從“文件”菜單中選擇“打開”命令,彈出“打開”對話框。(2)在“文件類型”列表框中選擇“程序”。(3)在文件列表框中選定要修改的文件,并單擊“確定”按鈕。
(4)編輯修改后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件,若要放棄修改,可直接按Esc鍵,或從“文件”菜單中選擇“還原”命令。4程序文件的執(zhí)行
程序文件建立后,可使用多種方式、多次執(zhí)行它,常用的以下有兩種方式。(l)菜單方式。(2)命令方式。
考點(diǎn)2 簡單的輸入輸出命令
程序一般都包含數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出3個(gè)部分。1 INPUT命令
格式:INPUT[<字符表達(dá)式>]TO<內(nèi)存變量> 功能:該命令等待用戶從鍵盤輸入數(shù)據(jù),當(dāng)用戶回車后,系統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量。
注釋:輸入的數(shù)據(jù)可以是常量、變量,也可以是更為一般的表達(dá)式。但不能不輸入任何內(nèi)容直接按回車鍵輸入字符串時(shí)必須加定界符,輸入邏輯型常量時(shí)要用圓點(diǎn)定界(如.T.,.F.),則輸入日期時(shí)間型常量時(shí)要用大括號(如{^2001-03-01})。2 ACCEPT命令
格式:ACCEPT[<字符表達(dá)式>]TO<內(nèi)存變量> 功能:該命令等待用戶從鍵盤輸入字符串,當(dāng)用戶回車后,系統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量。
注釋:該命令只能接收字符串。用戶在輸入字符串時(shí)不需要加定界符;否則,系統(tǒng)會(huì)把定界符作為字符串本身的一部分。如果不輸入任何內(nèi)容而直接按回車鍵,系統(tǒng)會(huì)把空串賦給指定的內(nèi)存變量。3 WAIT命令
格式:WAIT[<字符表達(dá)式>][TO<內(nèi)存變量>][WINDOW[AT<行>,<列>]] [NOWAIT][CLEARINOCLEAR][TIMEOUT<數(shù)值表達(dá)式>] 功能:該命令顯示字符表達(dá)式的值作為提示信息,暫停程序的執(zhí)行,直到用戶按任意鍵或單擊鼠標(biāo)時(shí)繼續(xù)程序運(yùn)行。
注釋:<內(nèi)存變量>用來保存用戶輸入的字符,其類型為字符型。若用戶按的是Enter鍵或單擊了鼠標(biāo),那么<內(nèi)存變量>中保存的將是空串若不選TO <內(nèi)存變量>短語,則輸入的單字符不保留。小提示:
如果用DO命令執(zhí)行查詢文件、菜單文件,在文件名中必須要包括擴(kuò)展名(QPR、MPR)。7.2 程序的基本結(jié)構(gòu)
程序結(jié)構(gòu)是指程序中命令或語句執(zhí)行的流程結(jié)構(gòu),包括3種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)??键c(diǎn)3 順序結(jié)構(gòu)
順序結(jié)構(gòu)是最簡單的程序結(jié)構(gòu),它是按命令在程序中出現(xiàn)的先后次序依次執(zhí)行??键c(diǎn)4 選擇結(jié)構(gòu)
支持選擇結(jié)構(gòu)的語句包括條件語句和分支語句。1條件語句 格式: IF<條件> <語句序列1> [ELSE> <語句序列2>] ENDIF 功能:該語句根據(jù)<條件>是否成立從兩組代碼中選擇一組執(zhí)行。語句的執(zhí)行流程圖如圖7-1和圖7-2所示。
圖7-1有ELSE的選擇語句
圖7-2無ELSE的選擇語句 2分支語句
格式:DO CASE CASE<條件1> <語句序列1> CASE<條件2> <語句序列2> ……
CASE<條件n> <語句序列n> [OTHERWISE <語句序列>] ENDCASE
功能:語句執(zhí)行時(shí),依次判斷CASE后面的條件是否成立。分支語句實(shí)現(xiàn)的是一種擴(kuò)展的選擇結(jié)構(gòu),可以根據(jù)條件從多組代碼中選擇一組執(zhí)行。分支語句的流程如圖7-3所示。
圖7-3 多分支語句 考點(diǎn)5 循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)也稱為重復(fù)結(jié)構(gòu),是指程序在執(zhí)行的過程中,其中的某段代碼被重復(fù)執(zhí)行若一干珠。被重復(fù)執(zhí)行的代碼段,通常稱為循環(huán)體。Visual FoxPro支持循環(huán)結(jié)構(gòu)的語句包括:DO WHILE-ENDDO、FOR-ENDFOR和SCAN-ENDSCAN。1 DO WHILEENDFOR語句 格式:
FOR<循環(huán)變量>=<初值>TO<終值>[STEP<步長>] <循環(huán)體> ENDFOR 功能:首先將初值賦給循環(huán)變量,然后判斷循環(huán)條件是否成立(若步長為正值,則循環(huán)條件為<循環(huán)變量><=<終值>;若步長為負(fù)值,則循環(huán)條件為<循環(huán)變量>>=<終值>)。如果成立,則執(zhí)行循環(huán)體,然后循環(huán)變量增加一個(gè)步長值,并再次判斷循環(huán)條件,一直到條件為假時(shí),退出循環(huán)體。該語句通常用于實(shí)現(xiàn)循環(huán)次數(shù)已知情況下的循環(huán)結(jié)構(gòu)〕 3 SCAN-ENDSCAN語句 格式:
SCAN[<范圍>][FOR<條件1>][WHERE<條件2>] <循環(huán)體> ENDSCAN
功能:該循環(huán)語句一般用于處理表中記錄,語句可指明需要處理的記錄范圍及應(yīng)滿足的條件。執(zhí)行該語句時(shí),記錄指針自動(dòng)、依次地在當(dāng)前表的指定范圍內(nèi)滿足條件的記錄上移動(dòng),對每一條記錄執(zhí)行循環(huán)體內(nèi)的命令。7.3 多模塊程序
模塊是一個(gè)相對獨(dú)立的程序段,它可以被其他模塊調(diào)用,也可以調(diào)用其他模塊。通常,把被其他模塊調(diào)用的模塊稱為子程序,把調(diào)用其他模塊而沒有被其他模塊調(diào)用的模塊稱為主程序。應(yīng)用程序一般都是多模塊程序,包含多個(gè)程序模塊??键c(diǎn)6 模塊的定義和調(diào)用 1模塊的定義
在Visual FoxPro中,模塊可以是命令文件,也可以是過程。過程定義的語句格式為: PROCEDURE|FUNCTION<過程名> <命令序列> [RETURN[<表達(dá)式>]] [ENDPROCIENDFUNC] 功能說明如下。
(1)PROCEDURE|FUNCTION命令表示一個(gè)過程的開始,并命名過程。過程名必須以字母或下劃線開頭,可以包含數(shù)字、字母和下劃線。
(2)當(dāng)程序執(zhí)行到RETURN命令時(shí),控制將轉(zhuǎn)回到調(diào)用處(或命令窗口),并返回表達(dá)式的值。若默認(rèn)RETURN命令,系統(tǒng)將在過程結(jié)束處自動(dòng)調(diào)用一條隱含的RETURN命令。(3)ENDPROC|ENDFUNC命令表示一個(gè)過程的結(jié)束。如果默認(rèn)此語句,那么過程結(jié)束于下一條PROCEDURE|FUNCTION命令或文件尾。2模塊的調(diào)用
模塊調(diào)用的格式有兩種。
(1)使用DO命令,格式如下。DO<文件名>|<過程名>(2)在名字后加一對小括號,格式如下。<文件名>|<過程名>()3打開過程文件 命令格式如下。
SET PROCEDURE TO[<過程文件1>[,<過程文件2>,?][ADDITIVE] 4關(guān)閉過程文件 命令格式如下。
RELEASE PROCEDURE<過程文件1>[,<過程文件2>,?] 考點(diǎn)7 參數(shù)傳遞
模塊程序可以接收調(diào)用程序傳遞過來的參數(shù)。
(1)PARAMETERS<形參變量1>[,<形參變量2>,?]。(2)LPARAMETERS<形參變量1>[,<形參變量2>,?]。
說明PARAMETERS聲明的形參被看做是模塊程序中建立的私有變量,LPARAMETERS聲明的形參被看做是模塊程序中建立的局部變量。除此之外,兩條命令無其他區(qū)別。不管是PARAMETERS或LPARAMETERS,都應(yīng)該是模塊程序的第一條可執(zhí)行命令。(1)調(diào)用參數(shù)調(diào)用模塊程序參數(shù)的格式如下。
DO<文件名>|<過程名>WITH<實(shí)參1>[,<實(shí)參2>,?] <文件名>|<過程名>(<實(shí)參1>[,<實(shí)參2>,?])說明:實(shí)參可以是常量、變量或一般表達(dá)式,調(diào)用模塊程序時(shí),形參的數(shù)目不能少于實(shí)參的數(shù)目,當(dāng)形參數(shù)目多于實(shí)參數(shù)目時(shí),多余的形參取初值邏輯假.F.。
(2)參數(shù)的傳遞。模塊中參數(shù)的傳遞分為兩種:按值傳遞(實(shí)參一般為常量和表達(dá)式)和引用傳遞(實(shí)參一般為變量)。參數(shù)的傳遞方式可以重新設(shè)置,格式如下。SET UDFPARMS TO VALUE|REFERENCE 考點(diǎn)8 變量的作用域
變量的一個(gè)重要屬性是作用域。變量的作用域指的是變量在什么范圍內(nèi)是有效或能夠被訪問的。在Visual FoxPro中,可分為公共變量、私有變量和局部變量3類。1.公共變量
在任何模塊中都可使用的變量稱為公共變量,公共變量必須先定義后使用,格式如下。PUBLIC<內(nèi)存變量表> 說明:該命令是建立公共的內(nèi)存變量,并賦以初值邏輯假.F.。建立好的公共變量一直有效,即使程序結(jié)束返回命令窗口也不會(huì)消失,只有執(zhí)行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被釋放。2私有變量
在程序中直接使用(沒有預(yù)先聲明),而由系統(tǒng)自動(dòng)隱含建立的變量都是私有變量。私有變量的作用域是建立它的模塊及其下屬的各層模塊。3局部變量
局部變量只能在建立它的模塊中使用,不能在上層或下層模塊中使用。程序結(jié)束時(shí),自動(dòng)釋放局部變量。格式如下 LOCAL<內(nèi)存變量表> 說明:該變量同樣給建立的內(nèi)存變量賦以初值邏輯假.F.,也必須先定義后使用。當(dāng)子程序中定義的變量名與主程序中同名時(shí),為避免子程序中的變量值改變主程序中的變量值,可在子程序中使用PRIVATE命令隱藏主程序中可能存在的變量,使這些變量在子程序中暫時(shí)無效。格式如下。
(1)PRIVATE<內(nèi)存變量表>。
(2)PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>]。說明:該命令并不建立內(nèi)存變量,它只是隱藏指定的在上層模塊中可能已經(jīng)存在的內(nèi)存變量,但是當(dāng)模塊程序返回到上層模塊時(shí),被隱藏的變量就自動(dòng)恢復(fù)有效性,保持原值。7.4 程序調(diào)試
考點(diǎn)9 調(diào)試器環(huán)境
程序調(diào)試是指在發(fā)現(xiàn)程序有錯(cuò)誤的情況下,確定出錯(cuò)位置并糾正錯(cuò)誤。計(jì)算機(jī)一般能夠發(fā)現(xiàn)程序的出錯(cuò)位置,但對于計(jì)算機(jī)不能發(fā)現(xiàn)的錯(cuò)誤,只能由用戶自己來查錯(cuò)。Visual FoxPro提供的功能強(qiáng)大的調(diào)試工具—調(diào)試器,可幫助我們進(jìn)行這項(xiàng)工作。調(diào)用調(diào)試器的方法一般有兩種。
(l)選擇“工具”菜單中的“調(diào)試器”命令。(2)在命令窗口中輸入DEBUG命令??键c(diǎn)10 設(shè)置斷點(diǎn)
可以設(shè)置以下4種類型的斷點(diǎn)。
(1)在定位處中斷:可指定一行代碼,當(dāng)程序調(diào)試執(zhí)行到該行時(shí),中斷程序運(yùn)行。
(2)如果表達(dá)式值為真,則在定位處中斷:指定一行代碼及一個(gè)表達(dá)式,當(dāng)程序調(diào)試執(zhí)行到該行代碼時(shí),如果表達(dá)式值為真,就中斷程序運(yùn)行。
(3)當(dāng)表達(dá)式值為真時(shí)中斷:可以指定一個(gè)表達(dá)式,在程序調(diào)試執(zhí)行過程中,當(dāng)該表達(dá)式值為邏輯真.T.時(shí),中斷程序運(yùn)行。
(4)當(dāng)表達(dá)式值改變時(shí)中斷:可以指定一個(gè)表達(dá)式,在程序調(diào)試執(zhí)行過程中,當(dāng)該表達(dá)式值改變時(shí),中斷程序運(yùn)行??键c(diǎn)11 “調(diào)試”菜單
“調(diào)試”菜單包含執(zhí)行程序、選擇執(zhí)行方式、終止程序執(zhí)行、修改程序,以及調(diào)整程序執(zhí)行速度等命令。各命令具體功能如下。
(1)運(yùn)行:執(zhí)行在跟蹤窗口中打開的程序:
(2)繼續(xù)執(zhí)行:當(dāng)程序被中斷時(shí),該命令可使程序在中斷處繼續(xù)往下執(zhí)行。(3)取消:終止程序的調(diào)試執(zhí)行,并關(guān)閉程序。
(4)定位修改:終止程序的調(diào)試執(zhí)行,然后在文本編輯窗口中打開調(diào)試程序。
(5)跳出:以連續(xù)方式而非單步方式繼續(xù)執(zhí)行被調(diào)用模塊程序中的代碼,然后在調(diào)用程序的調(diào)用語句的下一行處中斷。
(6)單步:單步執(zhí)行下一行代碼。如果下一行代碼調(diào)用了過程或者方法程序,那么該過程或者方法程序在后臺(tái)執(zhí)行。
(7)單步跟蹤:單步執(zhí)行下一行代碼。
(8)運(yùn)行到光標(biāo)處:從當(dāng)前位置執(zhí)行代碼直至光標(biāo)處中斷。
(9)調(diào)速:打開“調(diào)整運(yùn)行速度”對話框,設(shè)置兩代碼行執(zhí)行之間的延遲秒數(shù)。
(10)設(shè)置下一條語句:程序中斷時(shí)選擇該命令,可使光標(biāo)所在行成為恢復(fù)執(zhí)行后要執(zhí)行的語句。
3.1 Visual FoxPro數(shù)據(jù)庫及其建立 考點(diǎn)1 建立和使用數(shù)據(jù)庫 1數(shù)據(jù)庫的建立
(1)在項(xiàng)目管理器中建立數(shù)據(jù)庫。(2)通過“新建”對話框建立數(shù)據(jù)庫。(3)使用命令建立數(shù)據(jù)庫,格式為:
CREATE DATABASE[DatabaseName |?] 2數(shù)據(jù)庫的打開
(1)在項(xiàng)目管理器中打開。(2)通過“打開”對話框打開數(shù)據(jù)庫。(3)使用命令打開數(shù)據(jù)庫,格式為:
OPEN DATABASE[FileName |?][EXCLUSIVE I SHARED] [NOUPDATE] [VALIDATE] 考點(diǎn)2 修改和刪除數(shù)據(jù)庫
Visual FoxPro在建立數(shù)據(jù)庫時(shí)建立了擴(kuò)展名分別為dbc、dct和dcx的3個(gè)文件,用戶不能直接修改這些文件。
Visual FoxPro中修改數(shù)據(jù)庫實(shí)際是打開數(shù)據(jù)庫設(shè)計(jì)器,完成數(shù)據(jù)庫中各種對象的建立、修改和刪除等操作。
可以有3種方法打開數(shù)據(jù)庫設(shè)計(jì)器。(1)從項(xiàng)目管理器中打開數(shù)據(jù)庫設(shè)計(jì)器。(2)從“打開”對話框中打開數(shù)據(jù)庫設(shè)計(jì)器。(3)使用命令打開數(shù)據(jù)庫設(shè)計(jì)器,格式為: MODIFY DATABASE[DatabaseName|?] 在項(xiàng)目管理器中不管刪除還是移去數(shù)據(jù)庫文件,都不會(huì)刪除其所包含的各個(gè)對象做口數(shù)據(jù)表)。如果要在刪除數(shù)據(jù)庫的同時(shí)刪除其所包含的數(shù)據(jù)表,就必須使用命令,格式為: DELETE DATABASE DatabaseName|?[DELETETABLES][RECYCLE] 小提示:
在Visual FoxPro中,Open DataBase和Modify DataBase命令的區(qū)別在于:Open DataBase打開的只是數(shù)據(jù)庫的工作環(huán)境,并不會(huì)進(jìn)入數(shù)據(jù)庫設(shè)計(jì)器;Modify DataBase是打開數(shù)據(jù)庫設(shè)計(jì)器。4.2 建立數(shù)據(jù)庫表
考點(diǎn)3 在數(shù)據(jù)庫中建立表 在數(shù)據(jù)庫中建立數(shù)據(jù)表,最直接的方法就是在數(shù)據(jù)庫設(shè)計(jì)器中利用鼠標(biāo)右鍵單擊空白處,選擇“新建表”命令,在彈出的表設(shè)計(jì)器中設(shè)置數(shù)據(jù)表結(jié)構(gòu)。另外可以在命令窗口利用OPEN DATA命令先打開數(shù)據(jù)庫,然后利用CREATE命令打開表設(shè)計(jì)器進(jìn)行數(shù)據(jù)表設(shè)計(jì),如圖4-l所示。
圖4-1 表設(shè)計(jì)器 1字段名
(l)自由表字段名最長為10個(gè)字符。(2)數(shù)據(jù)庫表字段名最長為128個(gè)字符。(3)字段名必須以字母或漢字開頭。
(4)字段名可以由字母、漢字、數(shù)字和下劃線組成。(5)字段名中不能包含空格。2字段類型和寬度
(1)字符型:可以是字母、數(shù)字等各種字符型文本,如用戶名稱。(2)貨幣型:貨幣單位,如貨物價(jià)格。(3)數(shù)值型:整數(shù)或小數(shù),如訂貨數(shù)量。(3)浮點(diǎn)型:功能類似于“數(shù)值型”,其長度在表中最長可達(dá)20位。(4)日期型:由年、月、日構(gòu)成的數(shù)據(jù)類型,如訂貨日期。
(5)日期時(shí)間型:由年、月、日、時(shí)、分、秒構(gòu)成的數(shù)據(jù)類型,如員工上班的時(shí)間。(6)雙精度型:雙精度數(shù)慎類型,一般用于要求精度很高的數(shù)據(jù)。(7)整型:不帶小數(shù)點(diǎn)的數(shù)值類型,如訂單的行數(shù)。
(8)邏輯型:值為“真”(.T.)或假(.F.),如表示訂單是否已執(zhí)行完。
(9)備注型:不定長的字符型文本。在表中占4個(gè)字節(jié),表備注型文件的擴(kuò)展名為FPT。(10)通用型:用于標(biāo)記電子表格、文檔、圖片等OLE對象,在表中占4個(gè)字節(jié)。(11)字符型(二進(jìn)制)。(12)備注型(二進(jìn)制)。3空值
一個(gè)字段是否允許為空值與實(shí)際應(yīng)用有關(guān),比如作為關(guān)鍵字的字段是不允許為空值的,而那些在插入記錄時(shí)允許暫缺的字段值往往允許為空值。4字段有效性組框
在字段有效性組框中可以定義字段的有效性規(guī)則、違反規(guī)則時(shí)的提示信息和字段的默認(rèn)值。5顯示組框
在顯示組框下可以定義字段顯示的格式、輸入的掩碼和字段的標(biāo)題。輸入掩碼是字段的一種屬性,用限制或控制用戶輸入的格式。標(biāo)題用于字段顯示時(shí)的標(biāo)題,如果不指定標(biāo)題則顯示字段名。當(dāng)字段名是英文或縮寫時(shí),則通過指定標(biāo)題可以使界面更友好。6字段注釋
可以為每個(gè)字段添加注釋,便于日后或其他人對數(shù)據(jù)庫進(jìn)行維護(hù)??键c(diǎn)4 修改表結(jié)構(gòu) 在Visual FoxPro中可以對表結(jié)構(gòu)任意修改,修改表結(jié)構(gòu)和建立表結(jié)構(gòu)時(shí),表設(shè)計(jì)器界面完全一樣。修改數(shù)據(jù)表結(jié)構(gòu)時(shí),首先應(yīng)該用USE命令打開要修改的數(shù)據(jù)表,然后利用MODIFY STRUCTURE打開表設(shè)計(jì)器進(jìn)行修改,具體操作有以下幾種。(1)修改已有字段。(2)添加新字段。(3)刪除不用的字段。4.3 表的基本操作
考點(diǎn)5 使用瀏覽器操作表
在交互式工作方式下,最簡單、方便的方法就是使用BROWSE瀏覽器瀏覽表,打開瀏覽器的方法有多種。在項(xiàng)目管理器中將數(shù)據(jù)庫展開至表,然后單擊“瀏覽”按鈕,或直接在窗口中輸入BROWSE命令(首先應(yīng)該打開表文件)。1瀏覽器操作
(1)下一記錄(下箭頭鍵)。(2)前一記錄(上箭頭鍵)。(3)下一頁(PageDown鍵)。(4)上一頁(PageUp鍵)。(5)下一字段(Tab鍵)。
(6)前一字段(Shift+Tab鍵)。2修改記錄
只需將光標(biāo)定位到要修改的記錄和字段上,就可以進(jìn)行修改了。3刪除記錄 Visual FoxPro中刪除記錄有邏輯刪除和物理刪除兩種,邏輯刪除只在記錄旁做刪除標(biāo)記(如圖4-2所示),必要時(shí)可以進(jìn)行恢復(fù)物理刪除是在邏輯刪除的基礎(chǔ)上真正地將記錄從表中刪除。要在瀏覽器中刪除有刪除標(biāo)記的記錄,可選擇“表/徹底刪除”菜單命令。
圖4-2 增加和刪除記錄
考點(diǎn)6 增加、刪除、修改和顯示記錄的命令 1增加記錄
APPEND命令是在表的尾部增加記錄,格式有如下兩種。格式1:APPEND 格式2:APPEND BLANK 2插入記錄
格式:INSERT [BEFORE][BLANK] 3刪除記錄
刪除記錄有物理刪除和邏輯刪除兩種,Visual FoxPro用來刪除記錄的命令如下。(1)設(shè)置刪除標(biāo)記的命令
格式:DELETE [FOR lExpressionl] 說明:如果不使用FOR短語指定邏輯條件,則只刪除當(dāng)前記錄,否則邏輯刪除滿足條件的所有記錄。
(2)恢復(fù)記錄的命令。
格式:RECALL [FOR lExpressionl] 說明:使用該命令恢復(fù)表中邏輯刪除的記錄,短語FOR的功能同上。(3)物理刪除有刪除標(biāo)記的記錄 格式:PACK 說明:此命令用來物理刪除當(dāng)前表中所有帶刪除標(biāo)記的記錄。(4)物理刪除表中的全部記錄 格式:ZAP 說明:不管表中記錄是否帶有刪除標(biāo)記,此命令可以一次性將當(dāng)前表中的記錄全部物理刪除,但表結(jié)構(gòu)仍保留使用此命令相當(dāng)于DELETE ALL與 PACK的連用。4修改記錄
在Visual FoxPro中可以交互修改記錄,也可以用指定值直接修改記錄。(1)用EDIT或CHANGE命令交互式修改。(2)用REPLACE命令直接修改。5顯示記錄
格式:LIST/DISPLAY [[FIELDS]FieldList][FOR LExpressionl][OFF] [TO PRINTER[PROMPT]|TO FILE FileName] 考點(diǎn)7 查詢定位的命令(1)用GOTO命令直接定位(2)SKIP命令
(3)用LOCATE命令定位。
LOCATE命令是按條件定位記錄位置,格式為: LOCATE FOR IExpressionl LOCATE命令常用結(jié)構(gòu)如下。LOCATE FOR IExpression1 DO WHILE FOUND()****處理數(shù)據(jù)*** CONTINUE ENDDO 小提示:
連續(xù)使用DELETE ALL和PACK命令,其操作結(jié)果與ZAP命令一樣,都可以將表中的所有記錄一次性物理刪除。4.4 索引與排序
考點(diǎn)8 索引的基本概念
索引是對表中的記錄按照某種邏輯順序重新排列。
(l)主索引:在指定的字段或表達(dá)式中不允許出現(xiàn)重復(fù)值的索引,且一個(gè)表只能創(chuàng)建一個(gè)主索引。
(2)候選索引:具有與主索引相同的性質(zhì)和功能,但一個(gè)表中可以創(chuàng)建多個(gè)候選索引,其指定的字段或表達(dá)式中也不允許出現(xiàn)重復(fù)值。
(3)唯一索引:它的“唯一性”是指索引項(xiàng)的唯一,而不是字段值的唯一。但在使用該索引時(shí),重復(fù)的索引段值只有唯一一個(gè)值出現(xiàn)在索引項(xiàng)中。
(4)普通索引:不僅允許字段中出現(xiàn)重復(fù)值,并且索引項(xiàng)中也允許出現(xiàn)重復(fù)值??键c(diǎn)9 索引的建立 1單項(xiàng)索引
在表設(shè)計(jì)器界面中有“字段”、“索引”和“表“3個(gè)選項(xiàng)卡,在“字段”選項(xiàng)卡中定義字段時(shí)就可以直接指定某些字段是否為索引項(xiàng),用鼠標(biāo)單擊定義索引的下拉列表框可以看到3個(gè)選項(xiàng):無、升序和降序(默認(rèn)是無)。如果選定升序或降序,則在對應(yīng)的字段上建立一個(gè)普通索引,索引名與字段名同名,索引表達(dá)式就是對應(yīng)的字段。2復(fù)合字段索引
(1)在“索引”選項(xiàng)卡中的索引名欄目中輸入索引名。(2)在索引類型的下拉框中選擇索引類型。
(3)單擊表達(dá)式欄右側(cè)的按鈕,打開表達(dá)式生成器。
(4)在“表達(dá)式”文本框中輸入索引表達(dá)式(如圖4-3所示),最后單擊“確定”按鈕。
圖4-3 表達(dá)式生成器界面
3使用命令建立索引
格式:INDEX ON eExpression TO IDXFileName | TAG TagName[OF CDXFileName] [FOR lExpression][COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE] 從索引的組織方式來講,索引共有3種類型。(1)單獨(dú)的IDX索引,是一種非結(jié)構(gòu)索引。
(2)采用非默認(rèn)名的CDX索引,也是一種非結(jié)構(gòu)復(fù)合索引。(3)與表同名的CDX索引,是結(jié)構(gòu)復(fù)合索引。結(jié)構(gòu)復(fù)合索引文件可隨表的打開而打開,在同一個(gè)索引文件中能包含多個(gè)索引方案或索引關(guān)鍵字,在添加、更改或刪除記錄時(shí)自動(dòng)維護(hù)索引??键c(diǎn)10 索引的使用
(l)打開索引文件,格式為: SET INDEX TO Indexfilelist(2)設(shè)置當(dāng)前索引,格式為:
SET ORDER TO[nIndexNumber |[TAG]TagName][ASCENDING|DESCENDING](3)使用索引快速定位,格式為:
SEEK eExpression[ORDER nIndexNumber|[TAG]TagName][ASCENDING| DESCENDING](4)刪除索引,格式為:
DELETE TAG TagNamel
&&TagName1為索引名 要?jiǎng)h除全部索引,可使用命令:DELETE TAG ALL 考點(diǎn)11 排序
索引可以使用戶按照某種順序?yàn)g覽或查找表中的記錄,這種順序是邏輯的,如要對表中的記錄按物理順序重新排列,可使用SORT命令,格式為: SORT TO TableName ON FieldNainel[/A}/D][/C][,F(xiàn)ieldName2[/A|/D][/C]?][ASCEND ING | DESCENDING][FOR lExpressionl][FIELDS FieldNameList] 小提示:
在數(shù)據(jù)庫表中只能有一個(gè)主索引,且只能在表設(shè)計(jì)器中建立。其他3種索引可以建立多個(gè),既能在表設(shè)計(jì)器中建立,也能以命令方式建立,但在自由表中不能為其創(chuàng)建主索引,只能創(chuàng)建后3種索引,同樣也可以建立多個(gè)。4.5 數(shù)據(jù)完整性
考點(diǎn)12 實(shí)體完整性與主關(guān)鍵字
(1)實(shí)體完整性是保證表中記錄唯一的特性,即在同一個(gè)表中不允許有重復(fù)的記錄出現(xiàn)。在Visual Pro中通過主索引和候選索引來保證數(shù)據(jù)的實(shí)體完整性。
(2)如果一個(gè)字段的值或幾個(gè)字段的值能夠唯一標(biāo)志表中的一條記錄,則稱這個(gè)字段為候選關(guān)鍵字。在Visual FoxPro中將主關(guān)鍵字稱做主索引,將候選關(guān)鍵字稱為候選索引??键c(diǎn)13 參照完整性與表之間的關(guān)聯(lián) 1建立表之間的聯(lián)系
參照完整性與表之間的聯(lián)系有關(guān),其含義大致是:當(dāng)插入、刪除或修改一個(gè)表中的數(shù)據(jù)時(shí),通過參照引用相互關(guān)聯(lián)的另一個(gè)表中的數(shù)據(jù),檢查對表的數(shù)據(jù)操作是否正確。
在數(shù)據(jù)庫設(shè)計(jì)器中設(shè)計(jì)表之間的聯(lián)系時(shí),要在父表中建立主索引,在子表中建立普通索引,然后通過父表主索引和子表的普通索引建立起兩個(gè)表之間的聯(lián)系。2設(shè)置參照完整性約束
建立參照完整性之前,首先必須清理數(shù)據(jù)庫,即物理刪除表中被邏輯刪除的記錄,然后選擇兩個(gè)關(guān)聯(lián)表之間的連線并選擇“數(shù)據(jù)庫”、“編輯參照完整性”菜單命令,打開如圖4-4所示的“參照完整性生成器”對話框。
圖4-4 “參照完整性生成器”對話框 小提示:
欲建立兩表之間的聯(lián)系,首先用鼠標(biāo)選中一個(gè)表的主索引,按住鼠標(biāo)左鍵不放,并拖動(dòng)鼠標(biāo)到另一個(gè)表的索引上,這時(shí)鼠標(biāo)箭頭變成小矩形狀,最后釋放鼠標(biāo)。4.6 自由表
考點(diǎn)14 數(shù)據(jù)庫表與自由表
自由表是不屬于任何數(shù)據(jù)庫的表。在沒有打開數(shù)據(jù)庫時(shí),所建立的表就是自由表。數(shù)據(jù)庫表與自由表之間可以相互轉(zhuǎn)化。1建立自由表的方法
(1)在項(xiàng)目的“數(shù)據(jù)”選項(xiàng)卡中選擇“自由表”,單擊“新建”按鈕。
(2)在沒有打開數(shù)據(jù)庫的情況下,通過“新建”對話框,選擇“表”并單擊“新建文件”按鈕。
(3)在沒有打開數(shù)據(jù)庫的情況下,在命令窗口輸入CREATE命令,新建自由表。2數(shù)據(jù)庫表相對于自由表的特點(diǎn)
(l)數(shù)據(jù)庫表可以使用長表名,在表中可以使用長字段名。(2)可以為數(shù)據(jù)庫表中的字段指定標(biāo)題和添加注釋。(3)可以為數(shù)據(jù)庫表中的字段指定默認(rèn)值和輸入掩碼。(4)數(shù)據(jù)庫表的字段有默認(rèn)的控件類。
(5)可以為數(shù)據(jù)庫表規(guī)定字段級規(guī)則和記錄級規(guī)則。
(6)數(shù)據(jù)庫表支持主關(guān)鍵字、參照完整性和表之間的聯(lián)系。(7)支持INSERT,UPDATE和DELETE事件的觸發(fā)器??键c(diǎn)15 將自由表添加到數(shù)據(jù)庫中
(1)在數(shù)據(jù)庫設(shè)計(jì)器中可利用“數(shù)據(jù)庫”→“添加表”菜單命令,在“打開”對話框中選擇自由表文件,將其添加到數(shù)據(jù)庫中。
(2)直接用命令方式將自由表添加到當(dāng)前數(shù)據(jù)庫中,格式為: ADD TABLE TableName|?[NAME LongTableName] 考點(diǎn)16 從數(shù)據(jù)庫中移出表
(1)直接利用命令移出數(shù)據(jù)庫表,格式為:
REMOVE TABLE TableName |?[DELETE][RECYCLE](2)從項(xiàng)目管理器中移出數(shù)據(jù)庫。(3)從數(shù)據(jù)庫設(shè)計(jì)器中移出數(shù)據(jù)庫。4.7 多個(gè)表的同時(shí)使用
在Visual FoxPro中,一次可以打開多個(gè)數(shù)據(jù)庫,每個(gè)數(shù)據(jù)庫都可以打開多個(gè)數(shù)據(jù)表??键c(diǎn)17 多工作區(qū)的概念
指定工作區(qū)的命令格式為SELECT nWorkArea | cTableAlias,每個(gè)表打開后都有兩個(gè)默認(rèn)別名,一個(gè)是表的自身名,另一個(gè)是工作區(qū)所對應(yīng)的別名。在前10個(gè)工作區(qū)中指定的默認(rèn)別名是工作區(qū)字母A~J,其后面的工作區(qū)所對應(yīng)的別名為W11~W32767。
另外還可以在USE命令中通過ALIAS短語指定表別名。
例如:USE學(xué)生表IN 1 ALIAS student,為學(xué)生表指定了別名student??键c(diǎn)18 使用不同工作區(qū)的表
除了使用SELECT命令切換不同的工作區(qū)之外,也可以在一個(gè)工作區(qū)使用其他工作區(qū)的數(shù)據(jù)表。即通過短語:IN nWorkArea|cTableAlias。在表別名后加上“.”或“->”操作符,可在一個(gè)工作區(qū)中直接調(diào)用其他工作區(qū)中數(shù)據(jù)表的記錄。例如當(dāng)前工作區(qū)號為2,要調(diào)用1區(qū)上學(xué)生表中的班級號的相關(guān)字段,可使用命令:
學(xué)生表.班級號 或?qū)W生表->班級號或A.班級號或A->班級號 考點(diǎn)19 表之間的關(guān)聯(lián)
使用SET RELATION命令建立表間記錄指針的臨時(shí)聯(lián)系(關(guān)聯(lián))。
格式:SET RELATION TO eExpressionl INTO nWorkAreal I cTableAliasl。
說明:eExpressionl是指建立臨時(shí)聯(lián)系的索引關(guān)鍵字,一般是父表的主索引,子表的普通索引。用工作區(qū)號 nWorkAreal或表的別名cTableAlias I說明臨時(shí)聯(lián)系是由當(dāng)前工作區(qū)的表到哪個(gè)表。利用SET RELATION TO命令將取消當(dāng)前表到所有表的臨時(shí)聯(lián)系。4.1 SQL概述 5.1 SQL概述 考點(diǎn)1 概述 1概念
SQL是結(jié)構(gòu)化查詢語言Structured Query Language的縮寫。它包括數(shù)據(jù)查詢、數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制4部分。Visual FoxPro在SQL方面支持?jǐn)?shù)據(jù)定義、數(shù)據(jù)查詢和數(shù)據(jù)操縱功能。另外,由于Visual FoxPro自身在安全控制方面的缺陷,所以它沒有提供數(shù)據(jù)控制功能。2 SQL語言的特點(diǎn)
(1)一種一體化的語言。
(2)一種高度非過程化的語言。(3)語言非常簡潔。
(4)可以直接以命令方式交互使用,也可以以程序方式使用。5.2 查詢功能
SQL的核心是查詢,基本形式由SELECT-FROM-WHERE查詢塊組成,多個(gè)查詢塊可嵌套執(zhí)行,如表5-1所示。
表5-1 SQL命令動(dòng)詞
考點(diǎn)2 簡單查詢 1簡單查詢
簡單查詢是由SELECT和FROM短語構(gòu)成的無條件查詢,或由SELECT,F(xiàn)ROM和WHERE短語構(gòu)成的條件查詢。2簡單的連接查詢
連接是關(guān)系的基本操作之一,連接查詢是一種基于多個(gè)關(guān)系的查詢。3嵌套查詢
嵌套查詢所要求的結(jié)果出自一個(gè)關(guān)系,但關(guān)系的條件卻涉及多個(gè)關(guān)系。其內(nèi)層基本上也是一個(gè)SELECT-FROM-WHERE查詢語句。這種簡單嵌套查詢,可使用謂詞IN或NOT IN來判斷在外層的查詢條件中是否包含內(nèi)層查詢的結(jié)果??键c(diǎn)3 特殊運(yùn)算符號 1 BETWEEN?AND?
含義:該查詢的條件是在??范圍之內(nèi),相當(dāng)于用AND連接的一個(gè)邏輯表達(dá)式。2 LIKE 含義:它是一個(gè)字符串匹配運(yùn)算符,與之搭配使用的通配符包括“*”和“?”??键c(diǎn)4 排序
使用SQL SELECT可以將查詢結(jié)果進(jìn)行排序,排序的短語是ORDER BY。格式:ORDER BY Order_Item[ASCIDESC][,Order_Item[ASC|DESC]?] 說明:可以按升序(ASC)或降序(DESC)排序,允許按一列或多列排序??键c(diǎn)5 計(jì)算查詢 1簡單的計(jì)算查詢
SQL不僅具有一般的檢索能力,而且還有計(jì)算方式的檢索,用于計(jì)算檢索的函數(shù)有:COUNT(計(jì)數(shù))、SUM(求和)、AVG(計(jì)算平均值)、MAX(求最大值)及MIN(求最小值)。2分組與計(jì)算查詢
在SQL SELECT中可以利用GROUP BY子句進(jìn)行分組計(jì)算查詢。
格式:GROUP BY GroupColumn[,GroupColumn?][HAVING FilterCondition] 說明:可以按一列或多列分組,還可以用HAVING子句進(jìn)一步限定分組的條件。它必須跟在GROUP BY子句之后,不可單獨(dú)使用,與WHERE子句并不矛盾??键c(diǎn)6 別名和自連接查詢
(1)SQL語句允許在二OM短語中為關(guān)系定義別名,格式為:一 <關(guān)系名><別名>(2)SQL不僅可以對多個(gè)關(guān)系進(jìn)行連接操作,也可以將同一關(guān)系與其自身進(jìn)行連接,這種連接就稱為自連接。在關(guān)系的自連接操作中,別名是必不可少的??键c(diǎn)7 使用量詞和謂詞的查詢
與嵌套查詢或子查詢有關(guān)的運(yùn)算符,除了IN和NOT IN運(yùn)算符外,還有兩類與子查詢有關(guān)的運(yùn)算符,它們有以下兩種格式。
(1)<表達(dá)式><比較運(yùn)算符>[ANY I ALL | SOME](子查詢)(2)[NOT]EXISTS(子查詢)EXISTS是謂詞,EXISTS或NOT EXISTS是用來檢查在子查詢中是否有結(jié)果返回,即存在元組或不存在元組。其本身并沒有進(jìn)行任何運(yùn)算或比較,只用來返回子查詢結(jié)果??键c(diǎn)8 超鏈接查詢
(1)在新的SQL標(biāo)準(zhǔn)中支持兩個(gè)新的關(guān)系連接運(yùn)算符,這兩個(gè)新的連接運(yùn)算是左連接(*=)和右連接=*):首先保證一個(gè)表中滿足條件的元組都在結(jié)果表中,然后將滿足連接條件的元組與另一個(gè)表的元組進(jìn)行連接,不滿足連接條件的則應(yīng)將來自另一個(gè)表的屬性值置為空值。在一般SQL中超鏈接運(yùn)算符是“*=”(左連接)和“=*”(右連接)。(2)在Visual FoxPro中不支持超鏈接運(yùn)算符“*=”和“=*”,Visual FoxPro有專門的連接運(yùn)算。下面拼出SQL中超鏈接的部分語句格式: SELECT…
FROM Table INNER|LEFT|RIGHT|FULL JOIN Table ON JoinCondition WHERE…
考點(diǎn)9 Visual FoxPro中SQL SELECT的幾個(gè)特殊選項(xiàng)(l)顯示部分結(jié)果,格式為: TOP nExpr[PERCENT](2)將查詢結(jié)果存放到數(shù)組中,格式為: INTO ARRAY ArrayName(3)將查詢結(jié)果存放到臨時(shí)文件中,格式為: INTO CURSOR CursorName(4)將查詢結(jié)果存放到永久表中,格式為: INTO DBF|TABLE TableName(5)將查詢結(jié)果存放到文本文件中,格式為: TO FILE FileName[ADDITIVE](6)將查詢結(jié)果直接輸出到打印機(jī),格式為: TO PRINTER[PROMPT] 5.3 操作功能 考點(diǎn)10 插入
Visual FoxPro支持兩種SQL插入命令的格式,一種是標(biāo)準(zhǔn)格式,另一種是特殊格式。1標(biāo)準(zhǔn)格式
INSERT INTO dbf name[(frame 1[,fname2,?])] VALUES(eExpressionl[,eExpression2,?])2特殊格式
INSERT INTO dbf _name FROM ARRAY ArrayName|FROM MEMVAR 考點(diǎn)11 更新
SQL的數(shù)據(jù)更新命令格式如下: UPDATE TableName SET Column_Namel=eEpressionl[,Column_Name2=eExpression2?] WHERE Condition 說明:利用WHERE字句指定條件,以更新滿足條件的一些記錄的字段值,并巨一次可更新多個(gè)字段;如果不使用WHERE子句,則更新全部記錄。考點(diǎn)12 刪除
SQL從表中刪除數(shù)據(jù)的命令格式如下:
DELETE FROM TableName[WHERE Condition] 說明:FROM指定從哪個(gè)表中刪除記錄,WHERE指定被刪除的記錄所滿足的條件,如果不使用WHERE子句,則刪除該表中的全部記錄。小提示:
當(dāng)一個(gè)表定義一個(gè)主索引或候選索引后,由于相應(yīng)的字段具有關(guān)鍵字的特性,即不能為空,所以只能用此命令插入記錄、)APPEND和INSERT都是插入一條空白記錄再輸入各字段的值,故不能用它們來插入記錄。5.4 定義功能 考點(diǎn)13 表的定義
利用SQL命令建立的數(shù)據(jù)表同樣可以完成在表設(shè)計(jì)器中設(shè)計(jì)表的所有功能。格式:CREATE TABLE I DBF TableNamel[NAME LongTableName][FREE](FieldNarnel FieldType[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK IExpressionl [ERROR cMessageTextl]] [DEFAULT eExpressionl] [PRIMARY KEY I UNIQUE] [PEFERENCES TableName2[AG TagName1]] [NOCPTRANS] [,F(xiàn)ieldName2?] [,PRIMARY KEY eEpression2 TAG TagName2|,UNIQUE eExpression3 TAG TagName3] [,F(xiàn)OREIGN KEY eExpression4 TagName4[NODUP] REFERENCES TableName3 [TAG TagName5]] [,CHECK lExpression2[ERROR cMessageText2]])|FROM ARRAY ArravNasne 說明:此命令除了建立表的基本功能外,還包括滿足實(shí)體完整性的主關(guān)鍵字(主索引)PRIMARY KEY、定義域完整性的CHECK約束及出錯(cuò)提示信息ERROR、定義默認(rèn)值DEFAULT等,另外還有描述表之間聯(lián)系的FOREIGN KEY和REFERENCES等??键c(diǎn)14 表的刪除
利用SQL命令刪除表,可直接使用語句,格式為: DROP TABLE Table_name 說明:如果刪除的是自由表,則應(yīng)該將當(dāng)前打開的數(shù)據(jù)庫先關(guān)閉,才能進(jìn)行刪除。如果刪除數(shù)據(jù)庫表,則要先打開數(shù)據(jù)庫,在數(shù)據(jù)庫中進(jìn)行操作二否則,即使刪除了數(shù)據(jù)庫表,但記錄在數(shù)據(jù)庫中的信息并沒有被刪除,此后會(huì)出現(xiàn)錯(cuò)誤提示??键c(diǎn)15 表結(jié)構(gòu)的修改
修改表結(jié)構(gòu)的命令是ALTER TABLE,該命令有3種格式。
(1)ALTER TABLE TableNamel ADD| ALTER[COLUMN]FieldNamel FieldTvpe[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK lExpressionl[ERROR cMessageTextl ]][DEFAULT eExpressionl] [PRIMARY KEY |UNIQUE] [REFERENCES TableName2[TAG TagNamel〕](2)ALTER TABLE TableNamel ALTER[COLUMN]FieldName2[NULL|NOT NULL] [SET EFAULTeExpression2][SET CHECK lExpression2[ERROR cMessageText2] [DROP DEFAULT][DROP CHECK](3)ALTER TABLE TableName1[DROP [COLUMN]FieldName3] [SET CHECK lExpression3[ERROR cMessageText3] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2[FOR lExpression4]] [DROP PRIMARY KEY〕
[ADD UNIQUE eExpression4[TAG TagName3[FOR lExpression5]]] [DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY[eExpression5] TAG TagName4[FOR lExpression6] REFERENCES TableName2[TAG TagName5]] [DROP FOREIGN KEY TAG TagName6[SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] 考點(diǎn)16 視圖的定義 1視圖的概念及其定義(l)視圖的概念。
Visual FoxPro中視圖是一個(gè)虛擬的表,可以是本地的、遠(yuǎn)程的或帶參數(shù)的。(2)視圖的定義,格式為:
CREATE VIEW view name[(column_name[,column_name]?)] AS select_statement 2從單個(gè)表派生出來的視圖
視圖一經(jīng)定義,就可以和基本表一樣進(jìn)行各種查詢,也可以進(jìn)行一些修改操作。對于最終用戶來說,有時(shí)并不需要知道操作的是基本表還是視圖。3從多個(gè)表派生出來的視圖
視圖一方面可以限定對數(shù)據(jù)的訪問,另一方面又可以簡化對數(shù)據(jù)的訪問。4視圖的刪除
視圖由于是從表派生出來的,所以不存在修改結(jié)構(gòu)的問題,但是視圖可以刪除。格式:DROP VIEW<視圖名> 5關(guān)于視圖的說明
在關(guān)系數(shù)據(jù)庫中,視圖始終不真正含有數(shù)據(jù),它總是原有表的一個(gè)窗口。所以,雖然視圖可以像表一樣進(jìn)行各種查詢,但是插入、更新和刪除操作在視圖上卻有一定限制。在一般情況下,當(dāng)一個(gè)視圖是由單個(gè)表導(dǎo)出時(shí)可以進(jìn)行插入和更新操作,但不能進(jìn)行刪除操作;當(dāng)視圖是從多個(gè)表導(dǎo)出時(shí),插入、更新和刪除操作都不允許進(jìn)行。這種限制是很有必要的,它可以避免一些潛在問題的發(fā)生。5.1 查詢與視圖
考點(diǎn)1 查詢設(shè)計(jì)器 1查詢的概念
查詢是從指定的表或視圖中提取滿足條件的記錄,然后按照想得到的輸出類型定向輸出查詢結(jié)果。查詢以擴(kuò)展名為QPR的文件保存在磁盤上的,這是一個(gè)文本文件,它的主體是SQL SELECT語句。2查詢的建立
建立查詢可以使用“查詢設(shè)計(jì)器”,但它的基礎(chǔ)是SQL SELECT語句。建立查詢的方法有以下幾個(gè)方面。
(l)可以利用CREATE QUERY命令打開查詢設(shè)計(jì)器建立查詢。(2)可以利用“新建”對話框打開查詢設(shè)計(jì)器建立查詢。
(3)可以在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中打開查詢設(shè)計(jì)器建立查詢。(4)可直接編輯QPR文件建立查詢。建立查詢時(shí),首先進(jìn)入如圖6-1所示的界面選擇用于建立查詢的表或視圖,選擇表或視圖后,單擊“添加”按鈕。最后單擊“關(guān)閉”按鈕,進(jìn)入如圖6-2所示的查詢設(shè)計(jì)器界面。
圖6-1 為查詢選擇表或視圖
查詢設(shè)計(jì)器中的各選項(xiàng)卡和SQL SELECT語句的各短語是相對應(yīng)的,對應(yīng)關(guān)系如下。“字段”――SELECT短語,用于指定要查詢的數(shù)據(jù) “連接”――JOIN ON短語,用于編輯連接條件?!昂Y選”――WHERE短語,用于指定查詢條件。
“排序依據(jù)”――ORDER BY短語,用于指定排序字段和排序方式。“分組依據(jù)”――GROUP BY短語和HAVING短語,用于分組。
圖6-2 查詢設(shè)計(jì)器 3查詢的運(yùn)行
運(yùn)行查詢有下列兩種方法。
(1)可以在項(xiàng)口管理器的“數(shù)據(jù)”選項(xiàng)卡中,展開“查詢”選項(xiàng),然后選擇要運(yùn)行的查詢文件,單擊“運(yùn)行”按鈕,可查看查詢結(jié)果。(2)在命令窗門執(zhí)行命令DO QueryFile。
注意:此處的查詢文件名是全名,包括擴(kuò)展名QPR。4查詢?nèi)ハ?/p>
設(shè)計(jì)查詢的目的不只是完成一種查詢功能,在查詢設(shè)計(jì)器中可以根據(jù)需要為查詢輸出定位查詢?nèi)ハ?。通過“查詢”菜單卜的“查詢?nèi)ハ颉保蛟凇安樵冊O(shè)計(jì)器”工具欄中單擊“查詢?nèi)ハ颉卑粹o。“查詢?nèi)ハ颉睂υ捒蛉鐖D6-3所示
圖6-3 “查詢?nèi)ハ颉睂υ捒?各去向的含義如下。
(1)瀏覽:在“瀏覽”(BROWSE)窗口中顯示查詢結(jié)果,這是默認(rèn)的輸出去向。(2)臨時(shí)表:將查詢結(jié)果存儲(chǔ)于一個(gè)命名的臨時(shí)只讀表中。(3)表:將結(jié)果保存在一個(gè)命名的數(shù)據(jù)表文件中。(4)圖形:查詢結(jié)果可以用于Microsoft Graph。
(5)屏幕:在Visual FoxPro主窗口或當(dāng)前活動(dòng)輸出窗口中顯示查詢結(jié)果。(6)報(bào)表:將結(jié)果輸出到一個(gè)報(bào)表文件。(7)標(biāo)簽:將結(jié)果輸出到一個(gè)標(biāo)簽文件。小提示:
在7種輸出去向中,只有“瀏覽”和“屏幕”兩種輸出去向才能直接看到查詢結(jié)果。6.2 視圖
考點(diǎn)2 視圖的概念與建立 1視圖的概念
視圖是操作表的一種手段,通過視圖可以查詢表,也可以更新表。視圖是根據(jù)表定義的,因此視圖基于表,而視圖可以使應(yīng)用更靈活,因此它又超越表。視圖是數(shù)據(jù)庫中的一個(gè)特有功能,只有在包含視圖的數(shù)據(jù)庫打開時(shí)才能使用。
視圖兼有“表”和“查詢”的特點(diǎn),與查詢相類似的地方是可以用來從一個(gè)或多個(gè)相關(guān)聯(lián)的表中提取有用信息;與表類似的地方是可以用來更新其中的信息,并將結(jié)果永久性保存在磁盤上。
2視圖的建立
(l)用CREATE VIEW命令打開視圖設(shè)計(jì)器建立視圖。(2)利用“新建”對話框打開視圖設(shè)計(jì)器建立視圖。
(3)在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中打開視圖設(shè)計(jì)器建立視圖。(4)利用SQL命令CREATE VIEW...AS...建立視圖。3視圖設(shè)計(jì)象
視圖設(shè)計(jì)器(如圖6一所示)與查詢設(shè)計(jì)器基本上一樣,主要有以下幾點(diǎn)不同。(1)視圖的結(jié)果保存在數(shù)據(jù)庫中,在磁盤上找不到類似的文件。
(2)視圖可以用來更新數(shù)據(jù),因此在設(shè)計(jì)器中多了一個(gè)“更新條件”選項(xiàng)卡。(3)在視圖中沒有“查詢?nèi)ハ颉钡膯栴}。
圖6-4 視圖設(shè)計(jì)器
考點(diǎn)3 遠(yuǎn)程視圖與連接
為了建立遠(yuǎn)程視圖,必須首先建立連接遠(yuǎn)程數(shù)據(jù)庫的“連接”,“連接”是Visual FoxPro數(shù)據(jù)庫中的一種對象。1定義數(shù)據(jù)源和連接
數(shù)據(jù)源一般是ODBC數(shù)據(jù)源,開放數(shù)據(jù)庫互連ODBC是一種連接數(shù)據(jù)庫的通用標(biāo)準(zhǔn)。為了定義ODBC數(shù)據(jù)源,必須首先安裝ODBC驅(qū)動(dòng)程序。2建立連接
建立連接的方法有以下幾種。(1)用CREATE CONNECTION命令打開“連接設(shè)計(jì)器”,或完全用命令方式建立連接。(2)通過“新建”對話框建立連接。
(3)在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中建立連接。3設(shè)計(jì)遠(yuǎn)程視圖
利用數(shù)據(jù)源或連接建立的遠(yuǎn)程視圖的SQL語法要符合遠(yuǎn)程數(shù)據(jù)庫的語法,例如,SQL Server的語法和Visual FoxPro的語法就有所區(qū)別??键c(diǎn)4 視圖與數(shù)據(jù)更新
視圖是根據(jù)基本表派生出來的,所以把它叫做虛擬表為了通過視圖能夠更新基本表中的數(shù)據(jù),需要在視圖設(shè)計(jì)器的“更新條件”選項(xiàng)卡中的左下角選中“發(fā)送SQL更新”復(fù)選框。1指定可更新的表
如果視圖是基于多個(gè)表的,默認(rèn)可以更新“全部表”的相關(guān)字段,如果要指定只能更新某個(gè)表的數(shù)據(jù),則可以通過“表”下拉列表框選擇表 2指定可更新的字段
在“字段名”列表框中列出了與更新有關(guān)的字段,在字段名左側(cè)有兩列標(biāo)志,“鑰匙”表示關(guān)鍵字,“鉛筆”表示更新通過單擊相應(yīng)列可以改變相關(guān)的狀態(tài),默認(rèn)可以更新所有非關(guān)鍵字字段,并且通過基本表的關(guān)鍵字完成更新,即Visual FoxPro用這些關(guān)鍵字字段來唯一標(biāo)識那些已在視圖中修改過的基本表中的記錄建議不要改變關(guān)鍵字的狀態(tài),不要試圖通過視圖來更新基本表中的關(guān)鍵字字段值,如有必要,可以指定更新非關(guān)鍵字字段值 3檢查更新的合法性 如圖6-1所示,“SQL WHERE子句包括”框中的選項(xiàng)決定哪些字段包含在UPDATE或DELETE語句的WHERE子句中,Visual FoxPro正是利用這些語句將在視圖中修改或刪除的記錄發(fā)送到遠(yuǎn)程數(shù)據(jù)源或基本表中,WHERE子句就是用來檢查自從提取記錄用于視圖中后,服務(wù)器上的數(shù)據(jù)是否已經(jīng)改變?!癝QL WHERE子句包括”框中各選項(xiàng)的含義如下。
(l)關(guān)鍵字段:當(dāng)基本表中的關(guān)鍵字字段被改變時(shí),更新失敗。
(2)關(guān)鍵字和可更新字段:當(dāng)基本表中任何標(biāo)記為可更新的字段被改變時(shí),更新失敗。
(3)關(guān)鍵字和已修改字段:當(dāng)在視圖中改變的任一字段的值在基本表中已被改變時(shí),更新失敗。
(4)關(guān)鍵字和時(shí)間戳:當(dāng)遠(yuǎn)程表上記錄的時(shí)間戳在首次檢索之后被改變時(shí),更新失敗。4使用更新方式
“使用更新”框的選項(xiàng)決定當(dāng)向基本表發(fā)送SQL更新時(shí)的更新方式。
(1)SQL DELETE然后INSERT:先用SQL DELETE命令刪除基本表中被更新的舊記錄,再用SQL INSERT命令向基本表中插入更新后的記錄。
(2)SQL UPDATE:使用SQL UPDATE命令更新基本表??键c(diǎn)5 使用視圖
視圖建立后,不但可以用它來顯示和更新數(shù)據(jù),而且可以通過調(diào)整它的屬性來提高性能,它的使用類似于表。1視圖操作
(1)在數(shù)據(jù)庫中使用USE命令打開或關(guān)閉視圖。(2)在“瀏覽器”窗口中顯示或修改視圖中的記錄。(3)使用SQL語句操作視圖。
(4)在文本框、表格控件、表單或報(bào)表中使用視圖作為數(shù)據(jù)源。2使用視圖
視圖一經(jīng)建立就基本可以像基本表一樣使用,適用于基本表的命令基本都可以用于視圖。比如在視圖上也可以建立索引,此索引當(dāng)然是臨時(shí)的,視圖一關(guān)閉,索引自動(dòng)刪除,多工作區(qū)時(shí)也可以建立聯(lián)系等。但視圖不可以用MODIFY STRUCTURE命令修改結(jié)構(gòu)。因?yàn)橐晥D畢竟不是獨(dú)立存在的基本表,它是由基本表派生出來的,只能修改視圖的定義。
小提示:
查詢與視圖的區(qū)別是:查詢可以定義輸出去向,可以將查詢的結(jié)果靈活地應(yīng)用于表單、報(bào)表、圖形等各種場合,但是利用查詢不可以修改數(shù)據(jù);而利用視圖可以修改數(shù)據(jù),可以利用SQL將對視圖的修改發(fā)送到基本表,特別是對于遠(yuǎn)程表的操作,利用視圖是非常有效的。
6.1表單與控件 面向?qū)ο蟮母拍?考點(diǎn)1 對象與類 1對象(Object)客觀世界里的任何實(shí)體都可以被視為對象。對象可以是具體事物,也可以指某些概念二(1)屬性:用來表示對象的狀態(tài)。(2)方法:用來描述對象的行為。2類(Class)類是對一類相似對象性質(zhì)的描述。同類對象具有相同的性質(zhì):相同的屬性及方法。考點(diǎn)2 子類與繼承 1繼承
繼承表達(dá)了一種從一般到特殊的進(jìn)化過程。在面向?qū)ο蟮姆椒ɡ?,繼承是指基于現(xiàn)有類的方法和屬性。2類
我們把新類稱為現(xiàn)有類的子類,而把現(xiàn)有類稱為新類的父類。一個(gè)子類的成員一般包括以下兩個(gè)方面。
(l)從其父類繼承的成員,包括屬性、方法。(2)由子類自己定義的成員,包括屬性、方法。8.2 Visual FoxPro基類簡介 考點(diǎn)3 Visual FoxPro基類
Visual FoxPro中所有基類共有的屬性如表8-1所示。表8-1 Visual FoxPro基類的最小屬性集
(l)在編程方式里,對象的生成通常使用CREATE OBJECT函數(shù)來完成,格式為: CREATE OBJECT(<類名>[,<參數(shù)1>,<參數(shù)2>,?])說明:函數(shù)基于指定的類生成一個(gè)對象,并返回對象的引用。(2)對象屬性訪問及對象方法調(diào)用的基本格式為: <對象引用>.<對象屬性> <對象引用>.<對象方法>[(?)] 考點(diǎn)4 容器與控件
Visual FoxPro中的類一般可分為兩種類型:容器類和控件類。相應(yīng)地,可分別生成容器(對象)和控件(對象)。
(l)控件:是一個(gè)可以以圖形化的方式顯示出來并能與用戶進(jìn)行交互式的對象。(2)容器:可看成是一個(gè)特殊的控件,它能包容其他的控件或容器。(3)層次:容器內(nèi)的包容關(guān)系形成r對象的嵌套層次關(guān)系。對象的層次概念與類的層次概念是兩個(gè)完全不同的概念對象的層次關(guān)系指的是包容與被包容的關(guān)系,而類的層次指的是繼承與被繼承的關(guān)系。
在對象的嵌套層次關(guān)系中,要引用其中的某個(gè)對象,需要指明對象在嵌套層次中的位置。對象引用的幾個(gè)屬性或關(guān)鍵字如表8-2所示。表8-2 對象引用的幾個(gè)屬性或關(guān)鍵字
考點(diǎn)5 事件
事件是一種由系統(tǒng)預(yù)先定義而由用戶或系統(tǒng)發(fā)出的動(dòng)作。它作用于對象,對象識別事件并做出相應(yīng)的反應(yīng)。與方法集可以無限擴(kuò)展不同的是,事件集是固定的。用戶不能定義新的事件。表8-3列出了VisualFoxPro基類的最小事件集,不管哪個(gè)基類都包含這些事件。表8-3 Visual FoxPro基類的最小事件集
8.3 創(chuàng)建與管理表單
考點(diǎn)6 創(chuàng)建、修改及運(yùn)行表單 1使用表單向?qū)?chuàng)建表單
調(diào)用表單向?qū)У姆椒ㄓ卸喾N,這里只做簡單介紹。
(l)在“項(xiàng)目管理器”窗口中,選擇“文檔”選項(xiàng)卡,選擇其中的“表單”圖標(biāo)。(2)單擊“新建”按鈕,系統(tǒng)彈出“新建表單”對話框。(3)單擊“表單向?qū)А眻D標(biāo)按鈕,打開“向?qū)нx取”對話框。(4)從列表框中選擇要使用的向?qū)?,然后單擊“確定”按鈕。2使用表單設(shè)計(jì)器創(chuàng)建表單
可以使用以下3種方法中的任何一種調(diào)用表單設(shè)計(jì)器。(1)在項(xiàng)目管理器環(huán)境下調(diào)用。(2)菜單方式調(diào)用。(3)命令方式調(diào)用。3修改已有的表單
一個(gè)表單無論是通過任何途徑創(chuàng)建的,都可以使用表單設(shè)計(jì)器進(jìn)行編輯修改。我們可以通過項(xiàng)目或使用命令“MODIFY FORM<表單名>”來打開表單設(shè)計(jì)器。4運(yùn)行表單
可以采用下列方法運(yùn)行通過表單設(shè)計(jì)器創(chuàng)建的表單文件。
(1)在項(xiàng)目管理器窗口中,選擇要運(yùn)行的表單,然后單擊窗口里的“運(yùn)行”按鈕。
(2)在表單設(shè)計(jì)器環(huán)境下,選擇“表單”菜單中的“執(zhí)行表單”命令,或單擊標(biāo)準(zhǔn)工具欄上的“運(yùn)行”按鈕。
(3)選擇“程序”菜單中的“運(yùn)行”命令,打開“運(yùn)行”對話框,然后在對話框中指定要運(yùn)行的表單文件并單擊“運(yùn)行”按鈕。(4)在命令窗口中輸入命令,格式為:
DO FORM<表單文件名>[NAME<變量名>] WITH<實(shí)參>[,<實(shí)參>,?][LINKED][NOSHOW] 考點(diǎn)7 管理表單屬性和方法
可以向表單添加任意數(shù)量的新屬性和新方法,并像引用表單的其他屬性和方法一樣引用它們。Visual FoxPro中表單的屬性大約有100個(gè),但絕大多數(shù)很少用到。表8-4列出了常用的一些表單屬性,這些屬性規(guī)定了表單的外觀和行為。表8-4 表單的常用屬性
1創(chuàng)建新屬性
向表單添加新屬性的方法如F。
(l)選擇“表單”菜單中的“新建屬性”命令,打開“新建屬性”對話框,如圖8-1所示。(2)在“名稱”文本框中輸入新屬性的名稱。
(3)有選擇地在“說明”列表框中輸入新建屬性的說明信息。
圖8-1 “新建屬性”對話框
2創(chuàng)建新方法
向表單添加新方法的步驟如下
(l)運(yùn)行“表單”→“新建方法程序”命令,打開“新建方法程序”對話框,如圖8-2所示。(2)在“名稱”文本框中輸入新方法名。
(3)有選擇地在“說明”列表框中輸入新建方法的說明信息。
圖8-2 “新建方法程序”對話框
3編輯方法或事件代碼
在表單設(shè)計(jì)器中,編輯方法或事件代碼的步驟如下。
(1)選擇“顯示”菜單中的“代碼”命令,打開代碼編輯窗口,如圖8-3所示。(2)從“對象”框中選擇方法或事件所屬的對象。(3)從“過程”框中指定需要編輯的方法或事件。(4)在編輯區(qū)輸入或修改方法或事件的代碼。
圖8-3 代碼編輯窗口
考點(diǎn)8 常用事件與方法
下面將以表的形式簡單介紹一下表單及控件常用的一些事件和方法,如表8-5所示。表8-5 常用的一些屬性和方法
8.4 表單設(shè)計(jì)器
考點(diǎn)9 表單設(shè)計(jì)器環(huán)境
表單設(shè)計(jì)器啟動(dòng)后,在Visual FoxPro的主窗口中出現(xiàn)“表單設(shè)計(jì)器”窗口、“屬性”窗口、“表單控件”工具欄、“表單設(shè)計(jì)器”工具欄及“表單”菜單。1“表單設(shè)計(jì)器”窗口
用戶可視化地添加和修改控件的窗口。2“屬性”窗口
如圖8-4所示,在“屬性”窗口中包括對象框、屬性設(shè)置框、方法和事件列表。用戶可在此窗口中選擇表取中的控件,并為表單設(shè)計(jì)屬性、方法及事件。
對于表單及控件的絕大多數(shù)屬性,其數(shù)據(jù)類型是固定的。一般來說,要為屬性設(shè)置一個(gè)字符型數(shù)值,可以在設(shè)置框中直接輸入,不需要加定界符。
“屬性”窗口可以通過單擊“表單設(shè)計(jì)器”工具欄中的“屬性窗口”按鈕或選擇“顯示”菜單中的“屬性環(huán)境”命令打開或關(guān)閉。
圖8-4 “屬性”窗口
3“表單控件”工具欄
如圖8-5所示,利用“表單控件”工具欄可以方便地向表單添加控件。
圖8-5 “表單控件”工具欄
除了控件按鈕外,“表單控件”工具欄還包含“選定對象”、“按鈕鎖定”、“生成器鎖定”和“查看類”4個(gè)輔助按鈕。4“表單設(shè)計(jì)器”工具欄
“表單設(shè)計(jì)器”工具欄如圖8-6所示,它可以通過“顯示”菜單中的“工具欄”命令打開或關(guān)閉。
圖8-6 “表單設(shè)計(jì)器”工具欄
5“表單”菜單 “表單”菜單中的命令主要用于創(chuàng)建、編輯表單或表單集,如為表單增加新的屬性和方法等??键c(diǎn)10 控件的操作與布局 1控件的基本操作
在表單設(shè)計(jì)器下,對表單上的控件可進(jìn)行移動(dòng)、改變大小、復(fù)制、刪除等操作。(l)選定控件。(2)移動(dòng)控件
(3)調(diào)整控件大小。(4)復(fù)制控件。(5)刪除控件。2控件布局 利用“布局”工具欄中的按鈕,可以方便地調(diào)整表單窗口中被選控件的相對大小或位置?!安季帧惫ぞ邫诙∫酝ㄟ^單擊“表單設(shè)計(jì)器”工具欄上的“布局工具欄”按鈕或選擇“顯示”菜單中的“布局工具欄”命令打開或關(guān)閉。3設(shè)置Tab鍵次序
當(dāng)表單運(yùn)行時(shí),用戶可以按Tab鍵選擇表單中的控件,使焦點(diǎn)在控件間移動(dòng)。控件的Tab鍵次序決定了選擇控件的次序。Visual FoxPro提供了兩種方式來設(shè)置Tab鍵次序:交互方式和列表方式??键c(diǎn)11 數(shù)據(jù)環(huán)境 1數(shù)據(jù)環(huán)境的常用屬性
常用的兩個(gè)數(shù)據(jù)環(huán)境是AutoOpenTables和AutoCloseTables,其功能如下。
(1)AutoOpenTables;表示當(dāng)運(yùn)行或打開表單時(shí),是否打開數(shù)據(jù)環(huán)境中的表和視圖,默認(rèn)值為邏輯真.T.)。
(2)AutoCloseTables:表示當(dāng)釋放或關(guān)閉表單時(shí),是否關(guān)閉由數(shù)據(jù)環(huán)境指定的表和視圖,默認(rèn)值為邏輯真(.T.)。
2打開數(shù)據(jù)環(huán)境設(shè)計(jì)器
可通過單擊“表單設(shè)計(jì)器”工具欄中的“數(shù)據(jù)環(huán)境”按鈕,也可以選擇“顯示”菜單中的“數(shù)據(jù)環(huán)境”命令打開或關(guān)閉“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口。3向數(shù)據(jù)環(huán)境中添加表或視圖
(1)選擇“數(shù)據(jù)環(huán)境”菜單中的“添加”命令,或用鼠標(biāo)右鍵單擊“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口,然后在彈出的快捷菜單中選擇“添加”命令,打開“添加表或視圖”對話框。
(2)選擇要添加的表或視圖并單擊“添加”按鈕。如果單擊“其他”按鈕,將調(diào)出“打開”對話框,用戶可以從中選擇需要的表。4從數(shù)據(jù)環(huán)境中移去表或視圖
在數(shù)據(jù)環(huán)境設(shè)計(jì)器環(huán)境下,按下列方法從數(shù)據(jù)環(huán)境移去表或視圖。(1)在“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口中,單擊選擇要移去的表或視圖。(2)選擇“數(shù)據(jù)環(huán)境”菜單中的“移去”命令。
也可以用鼠標(biāo)右鍵單擊要移去的表或視圖,然后在彈出的快捷菜單中選擇“移去”命令。當(dāng)表從數(shù)據(jù)環(huán)境中移去時(shí),與這個(gè)表有關(guān)的所有關(guān)系也將隨之消失。5在數(shù)據(jù)環(huán)境中設(shè)置關(guān)系
如果添加到數(shù)據(jù)環(huán)境的表之間具有在數(shù)據(jù)庫中設(shè)置的永久關(guān)系,這些關(guān)系也會(huì)自動(dòng)添加到數(shù)據(jù)環(huán)境中。如果表之間沒有永久關(guān)系,可以根據(jù)需要在數(shù)據(jù)環(huán)境設(shè)計(jì)器下為這些表設(shè)置關(guān)系。6在數(shù)據(jù)環(huán)境中編輯關(guān)系
關(guān)系是數(shù)據(jù)環(huán)境中的對象,它有自己的屬性、方法和事件。常用的關(guān)系屬性如表8-6所示。
表8-6 常用的關(guān)系屬性
7向表單添加字段
我們可以利用“表單控件”工具欄方便地將一個(gè)標(biāo)準(zhǔn)控件放置到表單上,也可以從“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口、“項(xiàng)目管理器”窗口或“數(shù)據(jù)庫設(shè)計(jì)器”窗口中直接將字段、表或視圖拖入表單,系統(tǒng)將產(chǎn)生相應(yīng)的控件并與字段相聯(lián)系。8.5 常用表單控件
考點(diǎn)12 標(biāo)簽(Label)控件 標(biāo)簽的常用屬性如下
(1)Caption屬性:指定標(biāo)簽的標(biāo)題文本很多類控件都具有Caption屬性。用戶可以利用該屬性為所創(chuàng)建的對象指定標(biāo)題文本。
(2)Alignment屬性:指定標(biāo)題文本在控件中的顯示對齊方式。該屬性包括三個(gè)屬性值――0、1和2,分別代表左對齊、右對齊和中央對齊。考點(diǎn)13 命令按鈕(CommandButton)控件 命令按鈕的常用屬性如下。
(1)Default屬性:該屬性默認(rèn)值為.F.。當(dāng)屬性為.T.時(shí),可稱為“確定”按鈕,一個(gè)表單中只能包含一個(gè)“確定”按鈕;在Windows中,當(dāng)焦點(diǎn)不在命令按鈕上時(shí),按Enter鍵,系統(tǒng)將自動(dòng)執(zhí)行該命令按鈕的Click事件代碼、(2)Cancel屬性:該屬性默認(rèn)值為.F.。當(dāng)屬性為.T.時(shí),可稱為“取消”按鈕,在表單中,可通過Esc鍵執(zhí)行該命令按鈕中的Click事件代碼一個(gè)表單中可有多個(gè)命令按鈕的Cancel屬性值為.T.。(3)Enabled屬性:指定表單或控件能否響應(yīng)用戶引發(fā)的事件。默認(rèn)的屬性值為.T.,即對象是有效的,當(dāng)Enabled=.F.時(shí),只是用來顯示只讀的信息。
(4)Visible屬性:指定對象是可見還是隱藏。默認(rèn)的屬性值為.T.,即對象是可見的??键c(diǎn)14 命令組(CommandGroup)控件
命令組是包含一組命令按鈕的容器控件,其常用屬性如下。
(1)ButtonCount屬性:指定命令組中命令按鈕的個(gè)數(shù),默認(rèn)的屬性值為2。(2)Buttons屬性:用于存取命令組中各按鈕的數(shù)組。用戶可以利用該數(shù)組為命令組中的命令按鈕設(shè)置屬性或調(diào)用其方法,屬性數(shù)組下標(biāo)的取值范圍應(yīng)該在1到ButtonCount屬性值之間。(3)Value屬性:指定命令組當(dāng)前的狀態(tài)。該屬性的類型可以是數(shù)值型,也可以是字符型??键c(diǎn)15 文本框(TextBox)控件 文本框的常用屬性如下。
(1)ControlSource屬性:可利用該屬性為文本框指定一個(gè)字段或內(nèi)存變量,運(yùn)行時(shí),文本框中首先顯示該變量的內(nèi)容
(2)Value屬性:返回文本框的當(dāng)前內(nèi)容。該屬性的默認(rèn)值是空串。(3)PasswordChar屬性:指定文本框控件內(nèi)是顯示用戶輸入的字符還是顯示占位符。該屬性的默認(rèn)值是空串,此時(shí)沒有占位符。當(dāng)為屬性指定一個(gè)占位符(例如*)后,文本框中只顯示占位符。
(4)InputMask屬性:指定在一個(gè)文本框中如何輸入和顯示數(shù)據(jù)。各種模式符的功能如表8-7所示。
表8-7 模式符及其功能
考點(diǎn)16 編輯框的常用屬性如下。
(1)AllowTabs屬性:指定編輯框中能否使用Tab鍵。該屬性的默認(rèn)值為.F.,當(dāng)按Tab鍵時(shí),焦點(diǎn)移出編輯框。
(2)HideSelection屬性:指定當(dāng)編輯框失去焦點(diǎn)時(shí),編輯框中選定的文本是否仍顯示為選定狀態(tài)。該屬性的默認(rèn)值為.T.,即當(dāng)編輯框失去焦點(diǎn)時(shí),編輯框中選定的文本不顯示為選定狀態(tài)(3)ReadOnly屬性:指定用戶能否編輯編輯框中的內(nèi)容。如果該屬性的默認(rèn)值為.F.,則叮以編輯編輯框中的內(nèi)容;當(dāng)屬性值為.T.時(shí),編輯框中的內(nèi)容為只讀。
(4)ScrollBars屬性:指定編輯框是否具有滾動(dòng)條。該屬性包括“0-無” 和“2-垂直”兩個(gè)屬性值。
(5)SelStart屬性:返回用戶在編輯框中所選文本的起始位置或插入點(diǎn)位置。屬性的有效取值范圍在0與編輯區(qū)中的字符總數(shù)之間。
(6)SelLength屬性:返回用戶在控件的文本輸入?yún)^(qū)中所選定字符的數(shù)目,或指定要選定的字符數(shù)目。
(7)SelText屬性:返回用戶編輯區(qū)內(nèi)選定的文本。如果沒有選定文本,將返回空串。考點(diǎn)17 復(fù)選框(CheckBox)控件 復(fù)選框的常用屬性如下。
(1)Caption屬性:用來指定顯示在復(fù)選框旁邊的文字。
(2)Value屬性:用來指明復(fù)選框的當(dāng)前狀態(tài),共有3種情況:0或.F.表示未被選中;1或.T.表示被選扣;2或.NULL.表示不確定,只在代碼中有效。
(3)ControlSource屬性:指明與復(fù)選框建立聯(lián)系的數(shù)據(jù)源。作為數(shù)據(jù)源的字段變量或內(nèi)存變量,其類型可以是邏輯型或數(shù)值型??键c(diǎn)18 選項(xiàng)組(OptionGroup)控件
選項(xiàng)組是包含若干個(gè)選項(xiàng)按鈕的一種容器控件,其常用屬性如下。(1)ButtonCount屬性:指定選項(xiàng)組中選項(xiàng)按鈕的數(shù)目,其默認(rèn)值為2,(2)Value屬性:用于指定選項(xiàng)組中哪個(gè)選項(xiàng)按鈕被選中。該屬性值的類型可為數(shù)值k1J或字符型。
(3)ControlSource屬性:指明與選項(xiàng)組建立聯(lián)系的數(shù)據(jù)源。作為數(shù)據(jù)源的字段變量或內(nèi)存變量,其類型可以是字符型或數(shù)值型
(4)Buttons屬性:用于存取選項(xiàng)組中每個(gè)按鈕的數(shù)組,其含義與命令組的Buttons類似。考點(diǎn)19 列表框(ListBox)控件 列表框的常用屬性如下
(1)RowSourceType屬性與RowSource屬性:RowSourceType屬性指明列表框中的條目數(shù)據(jù)源的類型,RowSource屬性指定列表框的條目數(shù)據(jù)源。RowSourceType屬性共有10種取值范圍:0-無(默認(rèn)值)、1-值,2-別名、3-SQL語句,4-查詢(.qpr),5-數(shù)組,6-字段,7-文件,8-結(jié)構(gòu),9-彈出式菜單。(2)List屬性:用以存取列表框中數(shù)據(jù)條目的字符串?dāng)?shù)組。(3)ListCount屬性:指明列表框中數(shù)據(jù)條目的數(shù)目。(4)ColumnCount屬性:指定列表框的列數(shù)。
(5)Value屬性:列表框中被選中的條目。該屬性可以是數(shù)值型,也可以是字符型。
(6)ControlSource屬性:該屬性在列表框中的用法和在其他控件中的用法有所不同。用戶可以通過該屬性指定一個(gè)字段或變量用以保存用戶從列表框中選擇的結(jié)果。(7)Selected屬性:指定列表框內(nèi)的某個(gè)條目是否處于選定狀態(tài)〕(8)MultiSelect屬性:指定用戶在列表框控件內(nèi)進(jìn)行多重選定。其中,0或.F.表示不允許多重選定,為系統(tǒng)默認(rèn)值;1或.T.表示允許多重選定??键c(diǎn)20 組合框(ComboBox)控件
組合框與列表框類似,也是用于提供一組條目供用戶從中選擇,組合框的特點(diǎn)如下。(1)對于組合框來說,通常只有一個(gè)條目是可見的。(2)組合框不提供多重選定的功能。
(3)組合框可通過Style屬性設(shè)置其形式,共有兩種:0表示下拉組合框,2表示下拉列表框??键c(diǎn)21 表格(Gride)控件 表格是一種容器對象。一個(gè)表格對象由若十列對象組成,每個(gè)列對象包含一個(gè)標(biāo)頭對象和若干控件,它們都有自己的屬性、事件和方法。1表格的常用屬性
(l)RecordSourceType屬性與RecordSource屬性:RecordSourceType屬性指明表格數(shù)據(jù)源類型,RecordSource屬性指定表格數(shù)據(jù)源。其中數(shù)據(jù)類型共有5種取值范圍:0-表、1-別名(默認(rèn)值)、2-提示、3-查詢(.qpr)、4-SQL語句。
(2)ColumnCount屬性:指定表格的列數(shù),即一個(gè)表格對象所包含的列對象數(shù)目。(3)LinkMaster屬性:用于指定表格控件中所顯示的子表的父表名稱。(4)ChildOrder屬性:用于指定建立一對多的關(guān)聯(lián)關(guān)系,子表所要用到的索引。該屬性類似于SET ORDER命令。
(5)RelationalExpr屬性:確定基于主表字段的關(guān)聯(lián)表達(dá)式。2常用的列屬性
(1)ControlSource屬性:指定要在列中顯示的數(shù)據(jù)源,常見的是表中的一個(gè)字段。
(2)CurrentControl屬性:指定列對象中的一個(gè)控件,該控件用以顯示和接收列中活動(dòng)單元格的數(shù)據(jù)。
(3)Sparse屬性:用于確定CurrentControl屬性是影響列中的所有單元格還是影響活動(dòng)單元格。
3常用的標(biāo)頭(Header)屬性
(1)Caption屬性:指定標(biāo)頭對象的標(biāo)題文本,顯示于列頂部。(2)Alignment屬性:指定標(biāo)題文本在對象中顯示的對齊方式。考點(diǎn)22 頁框(PageFrame)控件
頁框是包含頁面(Page)的容器對象,其常用屬性如下。
(1)PageCount屬性:用于指明一個(gè)頁框?qū)ο笏捻搶ο蟮臄?shù)量。最小值為0,最大值為99。
(2)Pages屬性:該屬性是一個(gè)數(shù)組,用于存取頁框中的某個(gè)頁對象。(3)Tabs屬性:指定頁框中是否顯示頁面標(biāo)簽欄。
(4)TabStretch屬性:如果頁面標(biāo)題文本太長,可通過設(shè)置該屬性利用多行顯示。其中0表示多重行,1表示單行(默認(rèn)值)。
(5)ActivePage屬性:返回頁框中活動(dòng)頁的頁號,或使頁框中的指定頁 7.1菜單設(shè)計(jì)
9.1 Visual FoxPro系統(tǒng)菜單 考點(diǎn)1 菜單結(jié)構(gòu) Visual FoxPro支持兩種類型的菜單:條形菜單和彈出式菜單。菜單項(xiàng)的名稱顯示于屏幕供用戶識別,菜單及菜單項(xiàng)的內(nèi)部名稱或選項(xiàng)序號則用于在代碼中引用。每一個(gè)菜單項(xiàng)都可以選擇設(shè)置一個(gè)熱鍵和一個(gè)快捷鍵。無論哪種類型的菜單,當(dāng)選擇某個(gè)選項(xiàng)時(shí)都會(huì)有一定的動(dòng)作,這個(gè)動(dòng)作可以是下列3種情況之一:執(zhí)行一條命令、執(zhí)行一個(gè)過程或激活另一個(gè)菜單??键c(diǎn)2 系統(tǒng)菜單 Visual FoxPro系統(tǒng)菜單是一個(gè)典型的菜單系統(tǒng),其主菜單是一個(gè)條形菜單。條形菜單的內(nèi)部名字為_MSYSMENU,也可看做是整個(gè)菜單系統(tǒng)的名字。
條形菜單中常見選項(xiàng)的名稱及內(nèi)部名字如表9-1所示,各彈出式菜單的內(nèi)部名字如表9-2所示。表9-3的是“編輯”菜單中常用選項(xiàng)的選項(xiàng)名稱和內(nèi)部名字。表9-1 主菜單(MSYSMENU)常見選項(xiàng)
表9-2 彈出式菜單的內(nèi)部名字
表9-3 “編輯”菜單(_MEDIT)常用選項(xiàng)
通過SET SYSMENU命令可以允許或禁止在程序執(zhí)行時(shí)訪問系統(tǒng)菜單,也可以重新配置系統(tǒng)菜單,格式如下。
SET SYSMENU ON|OFF AUTOMATIC |TO[<彈出式菜單名表>] |TO[<條形菜單項(xiàng)名表>] |TO[DEFAULT]|SAVE|NOSAVE 小提示:
如不帶任何參數(shù),直接SET SYSMENU TO命令,將屏蔽系統(tǒng)菜單,使系統(tǒng)菜單不可用。9.2 下拉式菜單設(shè)計(jì)
考點(diǎn)3 菜單設(shè)計(jì)的基本過程
用菜單設(shè)計(jì)器設(shè)計(jì)下拉式菜單的基本過程如下。(l)調(diào)用菜單設(shè)計(jì)器。
(2)在“菜單設(shè)計(jì)器”窗口中定義菜單,指定菜單的各項(xiàng)內(nèi)容,定義完成后,通過菜單命令“保存”或直接使用快捷鍵Ctrl+W保存菜單。
(3)通過菜單命令“菜單”*“生成”命令,產(chǎn)生可執(zhí)行的菜單程序文件(MPR)。
(4)在命令窗口中,使用DO命令執(zhí)行菜單文件,此處的文件擴(kuò)展名MPR不能默認(rèn)。菜單設(shè)計(jì)的基本流程如圖9-1所示。
圖9-1 菜單設(shè)計(jì)的基本流程圖 考點(diǎn)4 定義菜單
1“菜單設(shè)計(jì)器”窗口
“菜單設(shè)計(jì)器”窗口每頁顯示和定義一個(gè)菜單,可以是條形菜單(菜單欄),也可以是彈出式菜單(子菜單)?!安藛卧O(shè)計(jì)器”窗口打開時(shí),首先顯示和定義的是條形菜單,即主菜單名。窗口的左邊是一個(gè)列表框,其中每一行定義當(dāng)前菜單的一個(gè)菜單項(xiàng),包括“菜單名稱”、“結(jié)果”和“選項(xiàng)”3列內(nèi)容(如圖9-2所示)。(1)“菜單名稱”列。(2)“結(jié)果”列。(3)“選項(xiàng)”列。2“顯示”菜單
在菜單設(shè)計(jì)一器環(huán)境下,系統(tǒng)“顯示”菜單會(huì)出現(xiàn)兩條命令。(1)“常規(guī)選項(xiàng)”對話框。(2)“菜單選項(xiàng)”對話框。
圖9-2 “菜單設(shè)計(jì)器”窗口 考點(diǎn)5 用編程方式定義菜單
無論是條形菜單還是彈出式菜單,都可以通過命令進(jìn)行定義和設(shè)計(jì)。此處介紹幾種有關(guān)菜單定義的簡單命令。(1)條形菜單定義。(2)彈出式菜單定義。
考點(diǎn)6 為頂層表單添加菜單
為頂層表單添加下拉式菜單的方法和過程如下。(1)在“菜單設(shè)計(jì)器”窗口中設(shè)計(jì)好下拉式菜單。
(2)打開“常規(guī)選項(xiàng)”對話框,選中對話框右下角的“頂層表單”復(fù)選框。(3)將表單的ShowWindow屬性設(shè)置為2,使之成為頂層表單。(4)在表單的Init事件中添加調(diào)用菜單的程序代碼: DO<文件名>WITH This[,“<菜單名>”] 此處的<文件名>是指被調(diào)用的菜單程序文件(MPR),<菜單名>是為被添加的下拉式菜單的條形菜單指定的一個(gè)內(nèi)部名字。
(5)在表單的Destroy事件中添加清除菜單的程序代碼: RELEASE MENU<菜單名>[EXTENDED] 其中EXTENDED表示在清除條形菜單時(shí)一起清除其下屬的所有子菜單。9.3 快捷菜單設(shè)計(jì)
考點(diǎn)7 快捷菜單的建立與執(zhí)行
與下拉式菜單相比,快捷菜單沒有條形菜單,只有彈出式菜單。建立快捷菜單的方法和過程如下。
(1)打開“新建”對話框二
(2)在“新建”對話框中選擇“菜單”選項(xiàng).單擊“新建文件”按鈕。
(3)在“新建菜單”對話框中選擇“快捷菜單”選項(xiàng),打開“快捷菜單設(shè)計(jì)器”窗口。
(4)用與設(shè)計(jì)下拉式菜單相似的方法,在“快捷菜單設(shè)計(jì)器”窗口中設(shè)計(jì)快捷菜單,生成菜單程序文件。
(5)在快捷菜單的“清理”代碼中添加清除菜單的命令,使得在選擇、執(zhí)行菜單命令后能及時(shí)清除菜單,釋放其所占用的內(nèi)存空間,格式為: RELEASE POPUPS<快捷菜單名>[EXTENDED](6)在設(shè)計(jì)器環(huán)境下,選定需要添加快捷菜單的對象。
(7)在選定對象的RightClick事件代碼中,添加調(diào)用快捷菜單程序的格式為: DO<快捷菜單程序文件名> 此處的文件擴(kuò)展名MPR不能默認(rèn)。
第五篇:全國計(jì)算機(jī)二級考試Access測試題及答案
計(jì)算機(jī)二級考試Access科目都考察哪些內(nèi)容呢?下面是小編給大家整理了全國計(jì)算機(jī)二級考試Access測試題幾答案,供大家參閱。
全國計(jì)算機(jī)二級考試Access測試題
(11)以下不屬予數(shù)據(jù)庫系統(tǒng)(DBS)的組成的是()。
A)數(shù)據(jù)庫集合B)用戶
C)數(shù)據(jù)庫管理系統(tǒng)及相關(guān)軟件
D)操作系統(tǒng)
(12)下面對查詢功能的敘述中正確的是()。
A)在查詢中,選擇查詢可以只選擇表中的部分字段,通過選擇一個(gè)表中的不同字段生成同一個(gè)表
B)在查詢中,編輯記錄主要包括添加記錄、修改記錄、刪除記錄和導(dǎo)入、導(dǎo)出記錄
C)在查詢中,查詢不僅可以找到滿足條件的記錄,而且還可以在建立查詢的過程中進(jìn)行各種統(tǒng)計(jì)計(jì)算
D)以上說法均不對
(13)以下接口中,不屬于VBA提供的數(shù)據(jù)訪問接口的是()。
A)開放數(shù)據(jù)庫互聯(lián)
B)數(shù)據(jù)訪問對象
C)數(shù)據(jù)傳輸對象
D)Active數(shù)據(jù)對象
(14)下列不屬于Access中定義l三關(guān)鍵字是()。
A)單字段
B)多字段
C)空字段
D)自動(dòng)編號
(15)某數(shù)據(jù)庫的表中要添加Intcmet站點(diǎn)的網(wǎng)址,應(yīng)該采用的字段類型是()。
A)OLE對象數(shù)據(jù)類型
B)超級鏈接數(shù)據(jù)類型
C)查閱向?qū)?shù)據(jù)類型
D)自動(dòng)編號數(shù)據(jù)類型
(16)窗體是Access數(shù)據(jù)庫中的一種對象,以下()不是窗體具備的功能。
A)輸入數(shù)據(jù)
B)編輯數(shù)據(jù)
C)輸出數(shù)據(jù)
D)顯示和查詢表中的數(shù)據(jù)
(17)“特殊效果’,屬性值用于設(shè)置控件的顯示特效,卜.列屬于“特殊效果,的屬性值的是()
①平面②顏色③凸起④蝕刻⑤透明⑥陰影⑦凹陷⑧鑿痕⑨傾斜
A)①②③④⑤⑥
B)①③④⑤⑥⑦
C)①④⑤⑥⑦⑧⑨
D)①③④⑤⑥⑦⑧
(18)用于實(shí)現(xiàn)報(bào)表的分組統(tǒng)計(jì)數(shù)據(jù)操作區(qū)間的是()。
A)報(bào)表的主體區(qū)域
B)頁面頁眉或頁面頁腳區(qū)域
C)報(bào)表頁眉或報(bào)表頁腳區(qū)域
D)組頁眉或組頁腳區(qū)域
(19)查詢能實(shí)現(xiàn)的功能有()。
A)選擇字段、選擇記錄、編輯記錄、實(shí)現(xiàn)計(jì)算、建立新表、建立數(shù)據(jù)庫
B)選擇字段、選擇記錄、編輯記錄、實(shí)現(xiàn)計(jì)算、建立新表、更新關(guān)系
C)選擇字段、選擇記錄、編輯記錄、實(shí)現(xiàn)計(jì)算、建立新表、設(shè)計(jì)格式
D)選擇字段、選擇記錄、編輯記錄、實(shí)現(xiàn)計(jì)算、建立新表、建立基于查詢的報(bào)表和窗體
(20)下面示例中準(zhǔn)則的功能是()。
A)查詢1999年1月之前參加工作的職工
B)查詢1999年12月之后參加工作的職工
C)查詢1999年參加工作的職工
D)查詢1999年1月和2月參加工作的職工
計(jì)算機(jī)二級考試Access測試題答案
(11)D)【解析】數(shù)據(jù)庫系統(tǒng)是由數(shù)據(jù)庫集臺(tái)、用戶和數(shù)
據(jù)庫管理系統(tǒng)及相關(guān)軟件組成。
(12)C)【解析】選擇A詢是根據(jù)指定的查詢準(zhǔn)則,從一個(gè)或多個(gè)表中獲取數(shù)據(jù)并顯示結(jié)果。編輯記錄要包括添加記錄、修改記錄和刪除記錄。在查詢中,查詢不僅可以找到滿足條件的記錄,而且還可以在建立查詢的過程中進(jìn)行各種統(tǒng)計(jì)運(yùn)算。
(13)C)【解析】本題考查VBA中數(shù)據(jù)庫訪問接口的知識。在VBA中,數(shù)據(jù)庫訪問接口有3種:開放數(shù)據(jù)庫互聯(lián)(ODBC)、數(shù)據(jù)訪問對象(DA0)和Active數(shù)據(jù)對象(ADO)。
(14)C)【解析】本題考查的是主關(guān)鍵字的知識。Access數(shù)據(jù)庫中的每個(gè)表都有一個(gè)或一組字段能惟一標(biāo)識每條記錄。這個(gè)字段稱為主關(guān)鍵字。Access不允許在主關(guān)鍵字字段中存在重復(fù)值和空值。自動(dòng)編號數(shù)據(jù)類型是每次向表中添加新記錄時(shí)自動(dòng)生成的,但是一旦被指定就會(huì)永久的與記錄連接,即使刪除了某條記錄,Access也不會(huì)對表中的自動(dòng)編號字段重新編號。當(dāng)表中沒有設(shè)置其他主關(guān)鍵字時(shí),在保存表時(shí)會(huì)提示是否自動(dòng)創(chuàng)建主鍵,此時(shí)單擊“是”按鈕,將會(huì)為表創(chuàng)建一個(gè)自動(dòng)編號字段作為主關(guān)鍵字。
(15)B)【解析】超級鏈接型的字段是用來保存超級鏈接的。超級鏈接型字段包含作為超級鏈接地址的文本或以文本形式存儲(chǔ)的字符與數(shù)字的組合。超級鏈接地址是通往對象、文檔、Web頁或其他目標(biāo)的路徑。
(16)C)【解析】在Access數(shù)據(jù)庫中用戶可以利用窗體
輸入數(shù)據(jù)、編輯數(shù)據(jù)、顯示和查詢表中數(shù)據(jù)。
(17)D)【解析】“特殊效果”值用于設(shè)置控件的顯示特
效,包括“凹陷”、“鑿痕”等,但是不包括“顏色”。
(18)D)【解析】分組是指報(bào)表設(shè)計(jì)時(shí)按選定的一個(gè)或多個(gè)字段值是否相等而將記錄劃分成組,字段值不相等的記錄歸為不司的組,通過分組可以實(shí)現(xiàn)同組數(shù)據(jù)的匯總和輸出,組頁眉或組頁腳區(qū)域主要用于實(shí)現(xiàn)報(bào)表的分組統(tǒng)計(jì)數(shù)據(jù)。
(19)D)【解析】查詢最主要的目的是根據(jù)指定的條件對表或者其他查詢進(jìn)行檢索,篩選出符合條件的記錄,構(gòu)成一個(gè)新的數(shù)據(jù)集合,從而方便對數(shù)據(jù)表進(jìn)行查看和分析。利用查詢可以實(shí)現(xiàn)選擇字段、選擇記錄、編輯記錄、實(shí)現(xiàn)計(jì)算、建立新表、建立基于查詢的報(bào)表和窗體等功能。
(20)C)【解析】工作時(shí)間定義為1999年1月1曰到l2月31日,為查詢l999年