第一篇:C語言上機練習題
上機練習題
1.輸入一個不超過五位的正整數,輸出其逆數。例如輸入12345,輸出應為54321。
/* Note:Your choice is C IDE */ #include “stdio.h” main(){ long n;int ww,qw,bw,sw,gw;printf(“Please input:n”);scanf(“%ld”,&n);while(n<=0||n>99999){
printf(“nThe number is 2 little or too large.Retry please!n”);
scanf(“%ld”,&n);} if(n>=10000&&n<=99999){
ww=n/10000;qw=n/1000%10;bw=n/100%10;sw=n/10%10;gw=n%10;printf(“The old number is:%ldn”,n);printf(“The new number is:%d%d%d%d%dn”,gw,sw,bw,qw,ww);} else if(n>=1000&&n<=9999){
qw=n/1000;
bw=n/100%10;
sw=n/10%10;
gw=n%10;
printf(“The old number is:%ldn”,n);printf(“The new number is:%d%d%d%dn”,gw,sw,bw,qw);
} else if(n>=100&&n<=999){
bw=n/100;
sw=n/10%10;
gw=n%10;
printf(“The old number is:%ldn”,n);printf(“The new number is:%d%d%dn”,gw,sw,bw);}
else if(n>=10&&n<=99)
{
sw=n/10;
gw=n%10;
printf(“The old number is:%ldn”,n);
printf(“The new number is:%d%dn”,gw,sw);
}
else printf(“The old number equals the new number:%ld”,n);
}
2.計算1+2+3?+n的值,n是從鍵
盤輸入的自然數。
/* Note:Your choice is C IDE */ #include “stdio.h” main(){
int n,i;long sum=0;
printf(“1+2+3+....+nn”);printf(“Please input n:n”);
scanf(“%d”,&n);for(i=1;i<=n;i++){
sum+=i;
}
printf(“sum=%ld”,sum);}
3.從終端(鍵盤)讀入20個數據
到數組中,統計其中正數的個數,并計算這些正數之和。、/* Note:Your choice is C IDE */ #include “stdio.h” #define N 20 main(){
int a[N],i,sum=0,count=0;printf(“Please input numbers :n”);
for(i=0;i { scanf(“%d”,&a[i]); if(a[i]>0) { sum+=a[i]; count++; } } printf(“count=%d,sum=%d”,count,sum);} 4.從終端(鍵盤)將5個整數輸入到數組a中,然后將a逆序復制到數組b中,并輸出b中各元素的值。 /* Note:Your choice is C IDE */ #include “stdio.h” #define N 5 main(){ int a[N],b[N],i;printf(“Please input numbers:n”);for(i=0;i b[N-i-1]=a[i];} printf(“nThe old numbers are:n”);for(i=0;i printf(“%-4d”,a[i]);printf(“nThe new numbers are:n”);for(i=0;i printf(“%-4d”,b[i]);} 5.要將五張100元的大鈔票,換成等值的50元,20元,10元,5元一張的小鈔票,每種面值至少1張,編程輸出所有可能的換法,程序應適當考慮減少重復次數。/* Note:Your choice is C IDE */ #include “stdio.h” main(){ int i,j,k,n;for(i=1;i<=10;i++) for(j=1;j<=25;j++) for(k=1;k<=50;k++) for(n=1;n<=100;n++) if(i*50+j*20+k*10+n*5==500) printf(“num50=%d,num20=%d,num10=%d,num5=%dn”,i,j,k,n);} 6.求n以內(不包括n)同時能被 3和7整除的所有自然數之和的平方根s,n從鍵盤輸入。例如若n為1000時,函數值應為:s=153.909064。 /* Note:Your choice is C IDE */ #include “stdio.h” #include “math.h” main() { int n,s,i;float sum=0;printf(“Please input n:n”); scanf(“%d”,&n);while(n<=0){ printf(“nError input.Retry please:n”); scanf(“%d”,&n);} for(i=1;i if(i%3==0&&i%7==0) sum+=i;printf(“The number is:%4.2f”,sqrt(sum));} 7.一輛卡車違反交通規則,撞人后 逃跑?,F場有三人目擊事件,但都沒有記住車號,只記下車號的一些特征。甲說:牌照的前兩位數字是相同的;乙說:牌照的后兩位數字是相同的,但與前兩位不同;丙是數學家,他說:四位的車號剛好是一個整數的平方。請根據以上線索找出車號。/* Note:Your choice is C IDE */ #include “stdio.h” #include “math.h” main(){ int i,qw,bw,sw,gw; for(i=1122;i<=9988;i++){ if(sqrt(i)!=(int)sqrt(i)) continue; qw=i/1000; bw=i/100%10; sw=i/10%10; gw=i%10; if(qw==bw&&sw==gw) { printf(“nThe number is:%dn”,i); break; } } 8.輸入1~10之間的一個數字,輸出它對應的英文單詞。 /* Note:Your choice is C IDE */ #include “stdio.h” main(){ int n;printf(“Please input n:n”);scanf(“%d”,&n);while(n<1||n>10){ printf(“Error input!Retry please:n”); scanf(“%d”,&n);} switch(n){ case 1:printf(“One!”);break; case 2:printf(“Two!”);break; case 3:printf(“Three!”);break; case 4:printf(“Four!”);break; case 5:printf(“Five!”);break; case 6:printf(“Six!”);break; case 7:printf(“Seven!”);break; case 8:printf(“Eight!”);break; case 9:printf(“Nine!”);break; case 10:printf(“Ten!”);break;} } 9.個位數為6且能被3整除但不能被5整除的三位自然數共有多少個,分別是哪些? /* Note:Your choice is C IDE */ #include “stdio.h” main(){ int i,count=0; for(i=106;i<596;i=i+10){ if(i%3==0&&i%5!=0) { printf(“%-4d”,i); count++; } } printf(“count=%-4d”,count);} 10.用自然語言描述程序邏輯如下,試寫程序。 ① 設置環境; ② 定義變量i、j、s,以及用于放置結果的變量sum,并令sum初值為0; ③ i=1; ④ 如果i≤100,則轉⑤,否則轉⑧; ⑤ 令s=0,求前i個自然數之和,并放于變量s之中; ⑥ sum=sum+s; ⑦ i增加1,轉④; ⑧ 輸出和sum,結束。 /* Note:Your choice is C IDE */ #include “stdio.h” main(){ int i,j; long s=0,sum=0; printf(“1+1+2+1+2+3+1+2+3+4+....1+2+3+..+nn”);i=1; while(i<=3){ s+=i;sum+=s;i++;} printf(“sum=%ld”,sum);} 11.用自然語言描述的程序邏輯為: ① 設置環境; ② 定義變量i、flag和password,并令flag=0,i=0; ③ 用戶回答口令,將其賦于password變量; ④ 口令正確?如果是,則flag=1,轉⑥。否則轉⑤; ⑤ 回答三次口令了嗎?如果沒有,計數器加1后(i++),轉③,否則轉⑥; ⑥ 根據flag之值輸出相應信息。 /* Note:Your choice is C IDE */ #include “stdio.h” #include “string.h” #define N 6 main(){ int i=0,flag=0;char password[N];printf(“The password is:123456n”);while(i<3){ gets(password); if(strlen(password)!=6) { printf(“The string length is wrong!Retry please!n”); i++; continue; } if(strcmp(“123456”,password)==0) {flag=1;break;} else { printf(“Wrong input!Retry please!n”);i++;} } if(flag==1)printf(“Right password!n”);else printf(“Wrong password!n”);} 12.用自然語言描述的程序邏輯如 下: ① 設置環境; ② 定義變量digit、x、y分別表示原始數、原始數的個位數和逆數; ③ 輸入原始正整數x; ④ 從x中分解出個位數字digit; ⑤ 合并個位digit至逆數y中; ⑥ 原始數x縮小10倍:x=x/10; ⑦ 如果x非零,則轉④; ⑦ 輸出逆數y,結束 /* Note:Your choice is C IDE */ #include “stdio.h” main(){ long digit,x,y;/*個位數、原始數、逆數*/ printf(“Please input the old number:n”);scanf(“%ld”,&x);digit=x%10;y=digit;while(x!=0){ x=x/10; digit=x%10; y=y*10+digit;} printf(“x=%ld,y=%ld”,x,y/10);} 13.輸入某三角形的三個邊的長度,判斷出這是個什么三角形(等腰、等邊、任意,或不能構成)。/* Note:Your choice is C IDE */ #include “stdio.h” main(){ float a,b,c,flag;/*flag=0不能,flag=1等邊,flag=2等腰,flag=3任意*/ printf(“Please input angles:n”); scanf(“%f,%f,%f”,&a,&b,&c);if(a+b<=c||a+c<=b||b+c<=a)flag=0;else if(a==b&&b==c)flag=1;else if(a==b||b==c||c==a) flag=2; else flag=3;if(flag==0)printf(“nCan not!n”);if(flag==1)printf(“nDeng Bian.n”);if(flag==2)printf(“nDeng Yao.n”);if(flag==3)printf(“nPu tong.n”);} 14.輸入10個數,分別統計其中正數、負數、零的個數。#include “stdio.h” #define N 10 main(){ int a[N];int i,count1=0,count2=0,count3=0;/*count1記錄正數個數,count2記錄負數個數,count3記錄0的個數*/ printf(“Please input numbers:n”);for(i=0;i scanf(“%d”,&a[i]); if(a[i]>0)count1++; if(a[i]<0)count2++; if(a[i]==0)count3++;} printf(“count1=%-4d,count2=%-4d,count3=%-4d”,count1,count2,count3);} 15.先隨機產生N個三位自然數輸出,然后再輸出其中同時是3、5、7倍數的數。(設N為100)/* Note:Your choice is C IDE */ #include “stdio.h” #define N 100 #include int a[N],i;printf(“Please input numbers:n”);randomize(); for(i=0;i { a[i]=random(900)+100;printf(“%-4d”,a[i]);} printf(“n--------------------n”); printf(“n3,5,7:n”);for(i=0;i if(a[i]%3==0&&a[i]%5==0&&a[i]%7==0) printf(“%-4d”,a[i]);} 16.用for編程找出100~200中的完 全平方數。 #include “stdio.h” #include “math.h” main(){ int i; for(i=100;i<=200;i++)if(sqrt(i)==i%100) printf(“%-4d”,i);} 17.從終端輸入三個正實數,判斷這 三個數能否構成直角三角形。#include “stdio.h” main(){ float a,b,c,flag;/*flag=0不能,flag=1能*/ printf(“Please input angles:n”); scanf(“%f,%f,%f”,&a,&b,&c);while(a<=0||b<=0||c<=0){ printf(“Wrong input!Retry please:n”); scanf(“%d,%d,%d”,&a,&b,&c);} if(a+b<=c||b+c<=a||a+c<=b)flag=0;else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b) flag=1; else flag=0;if(flag==1)printf(“nCan!”);else printf(“nCan not!”);} 18.輸入一行字符,統計其中有多少個字母(包括大寫字母和小寫字母)。 /* Note:Your choice is C IDE */ #include “stdio.h” #define N 10 #include “stdlib.h” #include “ctype.h” #include “string.h” main(){ char c[N];int i,count=0;gets(c);i=0;while(i!=strlen(c)){ if(isupper(c[i])||islower(c[i])) count++;i++;} printf(“count=%-4d”,count);getch();} 19.輸入一個字串,判斷它是否是對稱串。如”abcdcba”是對稱串,”123456789”不是。 /* Note:Your choice is C IDE */ #include “stdio.h” #include “string.h” #include “ctype.h” #include “stdlib.h” #define N 10 main(){ char a[N],b[N],i; printf(“Please input the string:n”);gets(a); if(strlen(a)>N) { printf(“Wrong input!Retry please!n”); gets(a); } strcpy(b,a);strrev(a); if(strcmp(a,b)==0) printf(“nYes!n”);else printf(“nNo!n”);} 20.隨機產生N個大寫字母輸出,然 后統計其中共有多少個元音字符。(設N為200) /* Note:Your choice is C IDE */ #include “stdio.h” #include int c[N],i,count=0;randomize();for(i=0;i c[i]=random(27)+65;printf(“ %c”,c[i]); if(c[i]=='A'||c[i]=='E'||c[i]=='I'||c[i]=='O'||c[i]=='U')count++;} printf(“n----------------------n”); printf(“ncount=%-4d”,count);} 找出三位自然數中的所有素數,要求判斷x素數用自定義函數data(x)實現。 #include “stdio.h” int data(int x);main(){ int i,flag=0;/*1是,0否*/ for(i=101;i<=999;i++){ flag=data(i);if(flag==1)printf(“%-4d”,i);} } int data(int x){ int i;for(i=2;i printf(“n----------------n”); for(i=1;i<=n;i++){ satr(m); printf(“n”);} } void satr(int m){ int i;for(i=1;i<=m;i++) printf(“#”);} 22.若ax2+bx+c=0有實根,則求之。#include “stdio.h” #include “math.h” main(){ int a,b,c; float derta,x1,x2;printf(“Please input a,b,c:n”); printf(“a=”);scanf(“%d”,&a);printf(“b=”); scanf(“%d”,&b);printf(“c=”);scanf(“%d”,&c); derta=b*b-4*a*c;if(derta<0) printf(“NO!n”);if(derta==0) { printf(“One!n”); x1=-b/(2*a); x2=x1; printf(“x=%-4.2f”,x1); } if(derta>0) { printf(“Two!n”); x1=(-b+sqrt(derta))/(2*a); x2=(-b-sqrt(derta))/(2*a);printf(“x1=%-4.2f,x2=%-4.2f”,x1,x2); } } 23.從鍵盤輸入兩個字串,判斷它們 是否相同。 #include “stdio.h” #include “string.h” #define N 20 main(){ char c1[N],c2[N]; printf(“Please input two string below:n”);gets(c1);gets(c2); printf(“--------------------n”); printf(“The answer is:”);if(strcmp(c1,c2)==0) printf(“Equal!n”); else printf(“Not equal!n”);} 24.從鍵盤輸入兩個字串,輸出其中較短的那個字串,并輸出它的長度。 #define N 20 #include “stdio.h” #include “string.h” main(){ char c1[N],c2[N];printf(“Please input two string below:n”);gets(c1);gets(c2);printf(“--------------------n”);printf(“The answer is:”);if(strlen(c1)==strlen(c2)){ puts(c1); puts(c2); printf(“The length is:%dn”,strlen(c1));} if(strlen(c1) printf(“The length is:%dn”,strlen(c1));} if(strlen(c1)>strlen(c2)){ puts(c2); printf(“The length is:%dn”,strlen(c2));} 25.從鍵盤輸入長度不等的兩個字串,將短串連接于長串之后輸出。 #include “stdio.h” #include “string.h” #define N 20 main(){char c1[N],c2[N];printf(“Please input two string below:n”);gets(c1);gets(c2);while(strlen(c1)==strlen(c2)){ printf(“Wrong input!Retry please:n”);gets(c1);gets(c2);} printf(“--------------------n”); printf(“The answer is:”);if(strlen(c1) if(strlen(c1)>strlen(c2))puts(strcat(c1,c2));} 26.從鍵盤輸入長度不等的兩個字 串,將長串連接于短串之后輸出 #include “stdio.h” #include “string.h” #define N 20 main() { char c1[N],c2[N]; printf(“Please input two string below:n”);gets(c1);gets(c2); while(strlen(c1)==strlen(c2)){ printf(“Wrong input!Retry please:n”); gets(c1); gets(c2);} printf(“--------------------n”); printf(“The answer is:”); if(strlen(c1) puts(strcat(c1,c2)); if(strlen(c1)>strlen(c2)) puts(strcat(c2,c1));} 27.隨機產生N個兩位自然數,降序 排列后輸出。(設N為20)#include “stdio.h” #include “stdlib.h” #include “time.h” #define N 20 main() { int a[N],i,j,temp;randomize(); for(i=0;i a[i]=random(900)+100;for(i=0;i for(j=i+1;j if(a[j]>a[i]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } for(i=0;i printf(“%-4d”,a[i]);} 28.從鍵盤輸入兩個字串,輸出其中較長的那個字串,并輸出它的長度。 #define N 20 #include “stdio.h” #include “string.h” main(){ char c1[N],c2[N];printf(“Please input two string below:n”);gets(c1);gets(c2);printf(“--------------------n”);printf(“The answer is:”);if(strlen(c1)==strlen(c2)){ puts(c1); puts(c2); printf(“The length is:%dn”,strlen(c1));} if(strlen(c2) printf(“The length is:%dn”,strlen(c1));} if(strlen(c2)>strlen(c1)){ puts(c2); printf(“The length is:%dn”,strlen(c2));} } 29.從鍵盤輸入10個戰士的身高,輸出平均身高,并找出哪些身高低于平均身高。#include “stdio.h” #define N 11 main() { float a[N],sum=0;int i; printf(“Please input heigths:n”); for(i=0;i scanf(“%f”,&a[i]); sum+=a[i];} a[N-1]=sum/(N-1);printf(“The average is:%-6.2fn”,a[N-1]); printf(“---------------------n”); printf(“The answer are:n”); for(i=0;i printf(“%-8.2f”,a[i]);} 30.從鍵盤輸入10個戰士的身高,輸出平均身高,并找出哪些身高高于平均身高。#include “stdio.h” #define N 11 main() { float a[N],sum=0;int i; printf(“Please input heigths:n”); for(i=0;i scanf(“%f”,&a[i]); sum+=a[i];} a[N-1]=sum/(N-1);printf(“The average is:%-6.2fn”,a[N-1]); printf(“---------------------n”); printf(“The answer are:n”); for(i=0;i printf(“%-8.2f”,a[i]);} 31.從鍵盤輸入10個戰士的身高,輸出最高、最低的身高 #include “stdio.h” #define N 10 main(){ float a[N],min=99999,max=-99999;int i;printf(“Please input heigths:n”);for(i=0;i scanf(“%f”,&a[i]); printf(“---------------------n”);for(i=0;i max=a[i];if(a[i] min=a[i];} printf(“max=%-6.2f,min=%-6.2f”,max,min);}。 32.“百錢百雞”問題。百錢買百雞,雞翁一值錢三,雞母一值錢二,雞雛三值錢一,問雞翁、雞母、雞雛各幾何? #include “stdio.h” main(){ int jw,jm,jc;/*公雞最多100/3=33只,母雞最多100/2=50只,小雞最多300只*/ for(jw=1;jw<=33;jw++) for(jm=1;jm<=50;jm++) for(jc=1;jc<=300;jc++)if(jw*3+jm*2+jc/3==100&&jw+jm+jc==100)printf(“JW=%d,JM=%d,JC=%dn”,jw,jm,jc);} 33.有三個小孩,一個比一個大2歲,已知其年齡之和為39,問這三個小孩各幾歲? #include “stdio.h” main(){ int a,b,c; for(a=1;a<=20;a++) for(b=1;b<=20;b++) for(c=1;c<=20;c++) if(a+2==b&&b+2==c&&a+b+c==39) printf(“The ages are:%-4d%-4d%-4d”,a,b,c);} 34.鍵盤輸入長方體的長寬高l、w、h,求其體積及表面積。要求用自定義函數val(l,w,h)計算長方體的體積和表面積,計算結果使用全局變量帶回主函數。#include “stdio.h” float l,w,h,v,s; void val(float l,float w,float h);main(){ printf(“Please input l&w&h:n”); printf(“l=”);scanf(“%f”,&l);printf(“w=”);scanf(“%f”,&w);printf(“h=”);scanf(“%f”,&h);val(l,w,h);} void val(float l,float w,float h) { v=l*w*h; s=2*l*w+2*w*h+2*h*l; printf(“v=%-6.2f,s=%-6.2f”,v,s);} 35.計算:1/2+1/4+??+1/n,設n 是由鍵盤輸入的正偶數。#include “stdio.h” main() { int n,i; float sum=0;printf(“Please input n:n”); scanf(“%d”,&n);while(n%2!=0) { printf(“Wrong input!Try again:n”); scanf(“%d”,&n);} for(i=2;i<=n;i=i+2)sum+=1.0/i;printf(“sum=%-6.2f”,sum); } 36.計算:1/1+1/3+??+1/n,設n是由鍵盤輸入的正奇數。#include “stdio.h” main(){ int n,i;float sum=0;printf(“Please input n:n”);scanf(“%d”,&n);while(n%2==0){ printf(“Wrong input!Try again:n”); scanf(“%d”,&n);} for(i=1;i<=n;i=i+2)sum+=1.0/i;printf(“sum=%-6.2f”,sum);} 37.計算:1/2-2/3+3/4-4/5??,前100項。 #include “stdio.h” main(){ int i;float sum=0,d=1;for(i=1;i<100;i++){ sum+=i*d/(i+1); d=-d;} printf(“sum=%-6.2f”,sum);} 38.從終端輸入3個數a、b、c,按從大到小的順序輸出 #include “stdio.h” main(){ int i,j,k,l;/*i,j,k,l分別代表甲乙丙丁。1偷0沒偷*/ for(i=0;i<=1;i++) for(j=0;j<=1;j++) for(k=0;k<=1;k++) for(l=0;l<=1;l++)if(j+l==1&&j+k==1&&i+j==1&&l==0)} 39.公安人員審問四名竊賊嫌疑犯。 已知,這四人當中僅有一名是竊賊,還知道這四人中每人要么是誠實的,要么總是說謊的。在回答公安人員的問題中:甲說“乙沒有偷,是丁偷的”,乙說“我沒有偷,是丙偷的”,丙說“甲沒有偷,是乙偷的”,丁說“我沒有偷”。請根據這四人的答話判斷誰是盜竊者。40.求 s=a+aa+aaa+aaaa+......+aa...a的值,其中a是1~9之間的一個數字,表達式項數從鍵盤輸入(設不超過10項)。例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加有鍵盤控制。 41.設N是一個四位數,它的9倍恰 好是其反序數,求N。反序數就是將整數的數字倒過來形成的整數。例如:1234的反序數是4321。 42.愛因斯坦出了一道這樣的數學 題:有一條長階梯,若每步跨2階,則最后剩一階,若每步跨3 階,則最后剩2階,若每步跨5階,則最后剩4階,若每步跨6階則最后剩5階。只有每次跨7階,最后才正好一階不剩。請問這條階梯至少有多少階? 43.輸入任意一行字符,降序排列 之。 44.輸入一行字符串,按如下規則加 密:如果是英文字母則大寫變小寫、小寫變大寫,對非英文字符則保持不變。試寫加密程序。45.輸入一行小寫英文字母,按如下 規則加密:a→c、b→d、?、x→z、y→a、z→b,試寫加密程序。 46.輸入一行英文,已知各單詞之間 用1個空格相隔(設第一個單詞前沒有空格),統計這行英文有多少個單詞。 47.求1+12+123+??前n項之和,其中n是從鍵盤輸入的一個數字(1~9)。 48.小學生智商測試。讓電腦隨機出 十道100以內整數的加法題(10分/題),小學生從鍵盤回答答案,統計小學生最后得分。49.斐氏數列是公元13世紀數學家斐波拉契發明的。即:1,2,3,5,8,13,21,34,55,89,??,輸出其前15項。 1.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,“samp1.accdb”數據庫文件中已建立表對象“tEmployee ”。試按以下操作要求,完成表的編輯: (1)分析“tEmployee”表的結構,判斷并設置主鍵。 (2)刪除表中的“所屬部門”字段;設置“年齡”字段的有效性規則為只能 輸入大于16的數據。 (3)在表結構中的“年齡”與“職務”兩個字段之間增添一個新的字段:字 段名稱為“黨員否”,字段類型為“是/否”型;刪除表中1999年5月聘 用、并具有“相聲”愛好的女職工記錄。 (4)設置“職務”字段值的輸入方式為從下拉列表中選擇“職員”、“主管 ”或“經理”選項值。 (5)設置“聘用時間”字段的相關屬性,使該字段按照“XXXX/XX/XX”格式 輸入。例如,2013/06/08。 (6)將表中聘用時間超過30年(不含30年)的職工“職務”字段值更改為“ 退休”。 1.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好表對 象“tStud”和“tTemp”。tStud表是學校歷年來招收的學生名單,每名學生均 有身份證號。對于現在正在讀書的“在校學生”,均有家長身份證號,對于已 經畢業的學生,家長身份證號為空。 例如,表中學生“張春節”沒有家長身份證號,表示張春節已經從本校畢 業,是“校友”。 表中學生“李強”的家長身份證號為“***370”,表示李強 為在校學生。由于在tStud表中身份證號“***370”對應的學生姓 名是“李永飛”,表示李強的家長李永飛是本校校友。 “張天”的家長身份證號為“***760”,表示張天是在校學 生;由于在tStud表中身份證號“***760”沒有對應的記錄,表示 張天的家長不是本校的校友。 請按下列要求完成設計: (1)創建一個查詢,要求顯示在校學生的“身份證號”和“姓名”兩列內容,所建查詢命名為“qT1”。 (2)創建一個查詢,要求按照身份證號碼找出所有學生家長是本校校友的學生 記錄。輸出學生身份證號、姓名及家長姓名三列內容,標題顯示為“身份 證號”、“姓名”和“家長姓名”,所建查詢命名為“qT2”。 (3)創建一個查詢,統計數學成績為100分的學生人數,標題顯示為“num”,所建查詢命名為“qT3”。 要求:使用“身份證號”字段進行計數統計。 (4)創建一個查詢,將“tStud”表中總分成績超過270分(含270)的學生信 息追加到空表“tTemp”中。其中,“tTemp”表的入學成績為學生總分,所建查詢命名為“qT4”。1.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好表對 象“tTeacher”、窗體對象“fTest”,報表對象“rTeacher”和宏對象“m1”。試在此基礎上按照以下要求補充窗體設計和報表設計: (1)將報表對象rTeacher的報表主體節區中名為“性別”的文本框顯示內容 設置為“性別”字段值,并將文本框名稱更名為“tSex”。 (2)在報表對象rTeacher的報表頁腳節區位置添加一個計算控件,計算并顯 示教師的平均工齡。計算控件放置在距上邊0.3厘米、距左側3.6厘米,命名為“tAvg”。 (3)設置窗體對象fTest上名為“btest”的命令按鈕的單擊事件屬性為給定的宏對象m1。 注意:不允許修改數據庫中的表對象“tTeacher”和宏對象“m1”;不允許 修改窗體對象“fTest” 和報表對象“rTeacher”中未涉及的控件和 屬性。 2.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,“samp1.accdb”數據庫文件中已建立兩個表對象“員工 表”和“部門表”。試按以下要求,完成表的各種操作: (1)分析兩個表對象“員工表”和“部門表”的構成,判斷其中的外鍵屬性,將其字段名稱作為“員工表”表屬性中說明的內容進行設置。 (2)將“員工表”中有攝影愛好的員工其“備注”字段的值設為True(即復 選框里打上鉤)。 (3)刪除聘用時間超過30年(含30年)、“職務”為“經理”的職工。(4)將考生文件夾下文本文件Test.txt中的數據導入追加到當前數據庫的“ 員工表”相應字段中。 (5)設置相關屬性,使“員工表”中“密碼”字段以密碼方式輸入并顯示。(6)建立“員工表”和“部門表”的表間關系,并實施參照完整性。 2.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好三個 關聯表對象“tStud”、“tCourse”和“tScore”及表對象“tTemp”。試按以 下要求完成設計: (1)創建一個查詢,查找選課學分超過3分或沒有先修課的學生記錄,并顯示 學生的“姓名”、“課程名”和“成績”三個字段內容,所建查詢命名 為“qT1”。 (2)創建一個查詢,查找5號入校的學生,顯示其“學號”、“姓名”、“性 別”和“年齡”四個字段內容,所建查詢命名為“qT2”。 (3)創建一個查詢,查找選課成績均在80分(含80分)以上的學生記錄,并 顯示“學號”和“平均成績”兩列內容。其中“平均成績”一列數據由 統計計算得到,所建查詢命名為“qT3”。 (4)創建一個查詢,將“tStud”表中女學生的信息追加到“tTemp”表對應的字段中,所建查詢命名為“qT4”。 2.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好表對 象“tEmployee”和宏對象“m1”,同時還設計出以“tEmployee”為數據源的 窗體對象“fEmployee”。試在此基礎上按照以下要求補充窗體設計: (1)在窗體的窗體頁眉節區位置添加一個標簽控件,其名稱為“bTitle”,初始化標題顯示為“雇員基本信息”,字體名稱為“黑體”,字號為 18。 (2)將命令按鈕bList的標題設置為“顯示雇員情況”。 (3)單擊命令按鈕bList,要求運行宏對象m1;單擊事件代碼已提供,請補 充完整。 (4)取消窗體的水平滾動條和垂直滾動條;取消窗體的最大化和最小化按 鈕。 (5)窗體加載時,將“Tda”標簽標題設置為“YYYY年雇員信息”,其中 “YYYY”為系統當前年份(要求使用相關函數獲取),例如,2013年 雇員信息。窗體“加載”事件代碼已提供,請補充完整。 注意:不允許修改窗體對象“fEmployee”中未涉及的控件和屬性;不允許 修改表對象“tEmployee”和宏對象“m1”。 程序代碼只允許在“*****Add*****”與“*****Add*****”之間的空行內補充一行語句、完成設計,不允許增刪和修改其它位置已存 在的語句。 3.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下,“samp1.accdb”數據庫文件中已建立表對象“tEmp”。試 按以下操作要求,完成對表“tEmp”的編輯修改和操作:(1)將“編號”字段改名為“工號”,并設置為主鍵;按所屬部分修改工號,修改規則為:部門“01”的“工號”首字符為“1”,部門“02”首字符 為“2”,依次類推。 (2)設置“年齡”字段的有效性規則為不能是空值。 (3)設置“聘用時間”字段的默認值為系統當前年的一月一號。 (4)刪除表結構中的“簡歷”字段;設置“聘用時間”字段的相關屬性,使 該字段按照“XXXX/XX/XX”格式輸入,例如,2013/07/08。 (5)將考生文件夾下“samp0.accdb”數據庫文件中的表對象“tTemp”導入到 “samp1.accdb”數據庫文件中。 (6)完成上述操作后,在“samp1.accdb”數據庫文件中做一個表對象“tEmp ”的備份,命名為“tEL”。 3.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好二個表 對象“tTeacher1”和“tTeacher2”。試按以下要求完成設計:(1)創建一個查詢,查找并顯示在職教師的“編號”、“姓名、“年齡”和“性 別”四個字段內容,所建查詢命名為“qT1”。 (2)創建一個查詢,查找年齡低于所有職工平均年齡的職工記錄,并顯示“編 號姓名”和“聯系電話”兩列信息,其中“編號姓名”由“編號”與“姓 名”兩個字段合二為一構成,所建查詢命名為“qT2”。 (3)創建一個查詢,按輸入的參加工作時間的月份查找,并顯示教師的“編號”、“姓名”、“年齡”和“性別”四個字段內容,當運行該查詢時,應顯 示提示信息:“請輸入月份”,所建查詢命名為“qT3”。 (4)創建一個查詢,將“tTeacher1”表中的黨員教授的記錄追加到 “tTeacher2”表相應的字段中,所建查詢命名為“qT4”。 3.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好表對 象“tStud”、查詢對象“qStud”、窗體對象“fStud”和子窗體對象“fDetail ”,同時還設計出以“qStud”為數據源的報表對象“rStud”。請在此基礎上按 照以下要求補充“fStud”窗體和“rStud”報表的設計: (1)在報表的報表頁眉節區位置添加一個標簽控件,其名稱為“bTitle”,標題顯示為“團員基本信息表”;將名稱為“tSex”的文本框控件的輸出內容設 置為 “性別”字段值。在報表頁腳節區添加一個計算控件,其名稱為“tAvg”, 設置相關屬性,輸出學生的平均年齡。 (2)將“fStud”窗體對象主體節中控件的Tab鍵焦點移動順序設置為: “CItem”→“TxtDetail” →“CmdRefer” →“CmdList” → “CmdClear” →“fDetail” →“簡單查詢”。 (3)在窗體加載事件中,實現重置窗體標題為標簽“tTitle”的標題內容。 (4)試根據以下窗體功能要求,對已給的事件過程進行代碼補充,并運行 調試。 在窗體中有一個組合框控件和一個文本框控件,名稱分別為“CItem”和 “TxtDetail”;有兩個標簽控件,名稱分別為“Label3”和“Ldetail”;還 有三個命令按鈕,名稱分別為“CmdList”、“CmdRefer”和“CmdClear”。在“CItem”組合框中選擇某一項目后,“Ldetail”標簽控件將顯示出所選 項目名加上“內容:”。在“TxtDetail”文本框中輸入具體項目值后,單擊 “CmdRefer”命令按鈕,如果“CItem”和“TxtDetail”兩個控件中均有值,則在子窗體中顯示找出的相應記錄,如果兩個控件中沒有值,顯示提示框,提示框標題為“注意”,提示文字為“查詢項目或查詢內容不能為空!!”,提示框中只有一個“確定”按鈕;單擊“CmdList”命令按鈕,在子窗體中顯 示“tStud”表中的全部記錄;單擊“CmdClear”命令按鈕,將清空控件 “cItem”和“TxtDetail”中的值。 注意:不允許修改窗體對象“fStud” 和子窗體對象“fDetail”中未涉 及的控件、屬性和任何VBA代碼;不允許修改報表對象“rStud”中已有的控 件和屬性;不允許修改表對象“tStud”和查詢對象“qStud”。只允許在 “*****Add*****”與“*****Add*****”之間的空行內補充一條代碼語句、完成設計,不允許增刪和修改其它位置已存在的語句。 4.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,“samp1.accdb”數據庫文件中已建立表對象“tEmployee ”。試按以下操作要求,完成表的編輯: (1)分析表的結構,判斷并設置主鍵。 (2)設置“年齡”字段的“有效性規則”屬性為:非空且非負。 (3)設置“聘用時間”字段的默認值為:系統當前月的最后一天。 (4)交換表結構中的“職務”與“聘用時間”兩個字段的位置。 (5)刪除1995年聘用的“職員”職工信息。 (6)在編輯完的表中追加以下一條新記錄: 4.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好兩個 關聯表對象“tStaff”和“tSalary”及表對象“tTemp”。試按以下要求完成設 計: (1)創建一個查詢,查找下半年聘用的經理,并顯示“工號”、“姓名、“年 齡”和“性別”四個字段內容,所建查詢命名為“qT1”。 (2)創建一個查詢,查找各位員工在2005年的工資信息,并顯示“工號”、“ 工資合計”和“水電房租費合計”三列內容。其中,“工資合計”和“水 電房租費合計”兩列數據均由統計計算得到,所建查詢命名為“qT2”。 (3)創建一個查詢,查找并顯示員工的“年月”、“姓名”、“工資”、“水電 房租費”及“應發工資”五列內容。其中“應發工資”列數據由計算得到,計算公式為:應發工資=工資-水電房租費,所建查詢命名為“qT3”。(4)創建一個查詢,將表“tTemp”中“年齡”字段值均加1,所建查詢命名 為“qT4”。 4.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好表對 象“tStud”和查詢對象“qStud”,同時還設計出以“qStud”為數據源的報表 對象“rStud”。試在此基礎上按照以下要求補充報表設計: (1)在報表的報表頁眉節區位置添加一個標簽控件,其名稱為“bTitle”,標題顯示為“團員基本信息表”。 (2)在報表的主體節區添加一個文本框控件,顯示“性別”字段值。該控 件放置在距上邊0.1厘米、距左邊5.2厘米,并命名為“tSex”。 (3)在報表頁腳節區添加一個計算控件,計算并顯示學生平均年齡。計算 控件放置在距上邊0.2厘米、距左邊4.5厘米,并命名為“tAvg”。 (4)利用表達式按“編號”字段前四位分組統計各組記錄個數,并將統計 結果顯示在組頁腳節區。計算控件命名為“tCount”。 要求:按“編號”字段進行統計操作。 注意:不允許改動數據庫中的表對象“tStud”和查詢對象“qStud”,同時 也不允許修改報表對象“rStud”中已有的控件和屬性。 5.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,存在一個數據庫文件“samp1.accdb”,里邊已建立兩個 表對象“tGrade”和“tStudent”;同時還存在一個Excel文件“tCourse.xls”。試按以下操作要求,完成表的編輯: (1)將Excel文件“tCourse.xls”鏈接到“samp1.mdb”數據庫文件中,鏈接表 名稱不變,要求:數據中的第一行作為字段名。(2)將“tGrade”表中隱藏的列顯示出來。 (3)將“tStudent”表中“政治面貌”字段的默認值屬性設置為“團員”,并 使該字段在數據表視圖中的顯示標題改為“政治面目”。 (4)設置“tStudent”表的顯示格式,使表背景顏色為主題顏色的“橄欖色,強 調文字顏色3,深色50%”,文字顏色為標準色中的“黃色”、字號為10號。(5)將北京五中畢業學生的學號第3、4位改為“09”。(6)建立“tGrade” 和“tStudent”兩表之間的關系。 5.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好三個 關聯表對象“tStud”、“tCourse” 和“tScore”。試按以下要求完成設計: (1)創建一個查詢,查找并顯示有攝影愛好的男女學生各自人數,字段顯示標 題為“性別”和“NUM”,所建查詢命名為“qT1”。 注意,要求用學號字段來統計人數。 (2)創建一個查詢,查找上半年入校的學生選課記錄,并顯示“姓名”和 “課程名”兩個字段內容,所建查詢命名為“qT2”。 (3)創建一個查詢,查找沒有先修課程的課程相關信息,輸出其“課程號”、“課程名”和“學分”三個字段內容,所建查詢命名為“qT3”。(4)創建更新查詢,將表對象“tStud”中低于平均年齡(不含平均年齡)學 生的“備注”字段值設置為True,所建查詢命名為“qT4”。 5.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好表對象 “tStud“,同時還設計出窗體對象“fStud”和子窗體對象“fDetail”。請在此基 礎上按照以下要求補充“fStud”窗體的設計:(1)將窗體標題改為“學生查詢”。(2)將窗體的邊框樣式改為“細邊框”,取消窗體中的水平和垂直滾動條、記錄 選擇器、導航按鈕和分隔線;將子窗體邊框樣式改為“細邊框”,取消子窗 體中的記錄選擇器、導航按鈕和分隔線。(3)在窗體中有兩個標簽控件,名稱分別為“Label1”和“Label2”,將這兩個標 簽上的文字顏色改為“#FFFFFF”,背景顏色設置為“#2F3699”。(4)將窗體主體節中控件的Tab鍵次序改為: “CItem”→“TxtDetail” →“CmdRefer” →“CmdList” →“CmdClear ” →“fDetail” →“簡單查詢” →“Frame18“。(5)按照以下窗體功能,補充事件代碼設計。 在窗體中有一個組合框控件和一個文本框控件,名稱分別為“CItem”和“ TxtDetail”;有兩個標簽控件,名稱分別為“Label3”和“Ldetail”;還 有三個命令按鈕,名稱分別為“CmdList”、“CmdRefer”和“CmdClear” 。在“CItem”組合框中選擇某一項目后,“Ldetail”標簽控件將顯示出 所選項目名加上“內容:”。在“TxtDetail“文本框中輸入具體項目值后,單擊“CmdRefer”命令按鈕,如果“CItem”和“TxtDetail”兩個控件中 均有值,則在子窗體中顯示找出的相應記錄,如果兩個控件中不全有值,顯示消息框,消息框標題為“注意”,提示文字為“查詢項目和查詢內容 不能為空!!”,消息框中只有一個“確定”按鈕;單擊“CmdList”命 令按鈕,在子窗體中顯示“tStud“表中的全部記錄;單擊“CmdClear”命 令按鈕,將“cItem”和“TxtDetail”兩個控件中的值清空。 注意:不允許修改窗體對象“fStud” 和子窗體對象“fDetail“中未涉及的控件、屬性和任何VBA代碼;不允許修改表對象“tStud”。 代碼設計只允許在“*****Add*****”與“*****Add*****”之間的空行內補充一條語句、完成設計,不允許增刪和修改其它位置已存 在的語句。 6.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,“samp1.accdb”數據庫文件中已建立兩個表對象“員工 表”和“部門表”及一個報表對象“rEmp”。試按以下要求順序,完成表及報表 的各種操作: (1)設置“員工表”的職務字段有效性規則為只能輸入“經理”、“主管”和“ 職員”三者之一;同時設置相應有效性文本為“請輸入有效職務”。 (2)分析員工的聘用時間,將截止到2008年聘用期在10年(含10年)以上的員工 其“說明”字段的值設置為“老職工”。 要求:以2008年為截止期判斷員工的聘用期,不考慮月日因素。比如,聘用 時間在2000年的員工,其聘用期為8年。(3)刪除員工表中姓名含“鋼”字的員工紀錄。 (4)將“員工表”中女職工的前四列信息(編號,姓名,性別,年齡)導出到考 生文件夾下,以文本文件形式保存,命名為Test.txt。 要求各數據項間以逗號分隔,且第一行包含字段名稱。 (5)建立表對象“員工表”和“部門表”的表間關系,并實施參照完整性。(6)將報表對象“rEmp”的記錄源設置為表對象“員工表”。 6.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好四個 關聯表對象“tDoctor”、“tOffice”、“tPatient”和“tSubscribe”以及表 對象“tTemp”,同時還設計出窗體對象“fQuery”。試按以下要求完成設計: (1)創建一個查詢,查找姓“王”病人的基本信息,并顯示“姓名”、“年齡 ”、“性別”,所建查詢名為“qT1”。 (2)創建一個查詢,統計年齡小于30歲的醫生被病人預約的次數,輸出“醫生 姓名”和“預約人數”兩列信息。要求預約人數用“病人ID”字段計數并 降序排序,所建查詢名為“qT2”。 (3)創建一個查詢,刪除表對象“tTemp”內所有“預約日期”為10月份中20 日以后(含 20日)的記錄,所建查詢名為“qT3”。 (4)現有一個已經建好的“fQuery”窗體。運行該窗體后,在文本框(文本框名 稱為tName)中輸入要查詢的科室名,然后按下“查詢”按鈕,即運行一個 名為“qT4”的查詢?!皅T4”查詢的功能是顯示所查科室的“科室ID”和 “預約日期”。請設計“qT4”查詢。 6.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好表對 象“tAddr”和“tUser”,同時還設計出窗體對象“fEdit”和“fEuser”。請在 此基礎上按照以下要求補充“fEdit”窗體的設計: (1)將窗體中名稱為“Lremark”的標簽控件上的文字顏色設置為“#FF0000” 、字體粗細改為“加粗”。 (2)將窗體標題設為“顯示/修改用戶口令”。 (3)將窗體邊框改為“對話框邊框”樣式,取消窗體中的水平和垂直滾動條、記錄選擇器、導航按鈕、分隔線和控制框。 (4)將窗體中“退出”命令按鈕(名稱為“cmdquit”)上的文字字體粗細改為 “加粗”,并在文字下方加上下劃線。 (5)在窗體中還有“修改”和“保存”兩個命令按鈕,名稱分別為“CmdEdit” 和“CmdSave”,其中“保存”命令按鈕在初始狀態為不可用,當單擊“修 改”按鈕后,“保存”按鈕變為可用。當單擊“保存”按鈕后,輸入焦點 移到“修改”按鈕。此時,程序可以修改已有的用戶相 關信息,現已編寫了部分VBA代碼,請補充完整。 要求:修改后運行該窗體,并查看修改結果。 注意:不允許修改窗體對象“fEdit”和“fEuser”中未涉及的控件、屬 性;不允許修改表對象“tAddr”和“tUser”。 程序代碼只允許在“*****Add*****”與“*****Add*****”之間的空行內補充一行語句、完成設計,不允許增刪和修改其它位置已存 在的語句。 7.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,“samp1.accdb”數據庫文件中已創建兩個表對象“員工 表”和“部門表”及一個窗體對象“fEmp”。試按以下要求順序,完成表及窗體 的各種操作: (1)對表對象“員工表”操作,按照員工性別不同,為編號字段值增補前 置字符,男性員工編號前增補字符“8”,女性員工編號前增補字符“ 6”,如男性的000001更改為8000001,女性的000002更改為6000002。 (2)查出員工張漢望的對應密碼內容,將密碼實際值追加到其簡歷內容末 尾。 (3)設置表對象“員工表”的部門號字段值為列表框下拉選擇,其值引用 “部門表”的對應字段。 (4)將“員工表”姓名中的所有“小”字替換為“曉”。 (5)依據“員工表”中的職務信息,在經理和主管員工對應的“說明”字 段內輸入“干部”信息。 (6)設置窗體對象“fEmp”的“記錄源”屬性和“篩選”屬性,使其打開 后輸出“員工表”的女員工信息。 7.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好兩個 表對象住宿登記表“tA”和住房信息表“tB”,其中“tA”和“tB”表中“房 間號”的前兩位為樓號。試按以下要求完成設計: (1)創建一個查詢,查找樓號為“01”的客人記錄,并顯示“姓名”、“入住 日期”和“價格”三個字段內容,所建查詢命名為“qT1”。 (2)創建一個查詢,按輸入的房間價格區間查找,顯示“房間號”字段信息。 當運行查詢時,應分別顯示提示信息“最低價”和“最高價”,所建查詢 命名為“qT2”。 (3)以表對象“tB”為基礎,創建一個交叉表查詢。要求:選擇樓號為行標題、列名稱顯示為“樓號”,“房屋類別”為列標題來統計輸出每座樓房的各 類房間的平均房價信息。所建查詢命名為“qT3”。 注:房間號的前兩位為樓號。 交叉表查詢不做各行小計。 (4)創建一個查詢,統計出各種類別房屋的數量。輸出兩列信息,字段標題分 別為“type”和“num”,所建查詢命名為“qT4”。 7.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好表對 象“tNorm”和“tStock”,查詢對象“qStock”和宏對象“m1”,同時還設計 出以“tNorm”和“tStock”為數據源的窗體對象“fStock”和“fNorm”。試 在此基礎上按照以下要求補充窗體設計: (1)將“fStock”窗體的標題設置為“庫存瀏覽”;在“fStock”窗體對 象的窗體頁眉節區位置添加一個標簽控件,其名稱為“bTitle”,初 始化標題顯示為“庫存瀏覽”,字體名稱為“黑體”,字號為18,字 體粗細為“加粗”。 (2)在“fStock”窗體對象的窗體頁腳節區位置添加一個命令按鈕,命名 為“bList”,按鈕標題為“顯示信息”。 (3)設置所建命令按鈕bList的單擊事件屬性為運行宏對象m1。 (4)設置相關屬性,取消在子窗體中添加新記錄的功能。 (5)將“fStock”窗體對象中的“fNorm”子窗體的導航按鈕去掉。 (6)為當前數據庫設置“啟用布局視圖”。 注意:不允許修改窗體對象中未涉及的控件和屬性;不允許修改表對象“ tNorm”、“tStock”和宏對象“m1”。 8.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,“samp1.accdb”數據庫文件中已建立兩個表對象“員工 表”和“部門表”。試按以下要求,完成表的各種操作: (1)設置表對象“員工表”的聘用時間字段有效性規則為:1950年(含)以后的日期;同時設置相應有效性文本為“請輸入有效日期”。 (2)將表對象“員工表”中編號為“000008”的員工的照片字段值替換為考生文 件夾下的圖像文件“000008.bmp”數據。 (3)刪除員工表中姓名字段含有“紅”字的員工紀錄;隱藏表對象“員工表”的“所屬部門”字段。 (4)查找部門“04”的女主管,將其“編號”字段首字符更改為“4”。 (5)刪除表對象“員工表”和“部門表”之間已建立的錯誤表間關系,重新建立 正確關系。 (6)將考生文件夾下Excel文件Test.xls中的數據導入到當前數據庫的新表中。 要求第一行包含列標題,導入其中的“編號”、“姓名”“性別”“年齡” 和“職務”五個字段,選擇“編號”字段為主鍵,新表命名為“tmp”。 8.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好三個 關聯表對象“tStud”、“tCourse”、“tScore”和一個臨時表“tTemp”及一 個窗體對象“fTmp”。試按以下要求完成設計: (1)創建一個查詢,查找并顯示沒有運動愛好學生的“學號”、“姓名”、“ 性別”和“年齡”四個字段內容,所建查詢命名為“qT1”。(2)創建一個查詢,查找并顯示所有學生的“姓名”、“課程號”和“成績” 三個字段內容,所建查詢命名為“qT2”。 注意,這里涉及選課和沒選課的所有學生信息,要考慮選擇合適查詢聯接 屬性。 (3)創建一個參數查詢,查找并顯示學生的“學號”、“姓名”、“性別”和“ 年齡”四個字段內容。其中設置性別字段為參數,參數條件要引用窗體“ fTmp”上控件“tSS”的值,所建查詢命名為“qT3”。 (4)創建一個查詢,刪除臨時表對象“tTemp”中年齡為奇數的記錄,所建查詢 命名為“qT4”。 8.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計了表對 象“tEmp”、窗體對象“fEmp”、報表對象“rEmp”和宏對象“mEmp”。同時,給出窗體對象“fEmp”上一個按鈕的單擊事件代碼,試按以下功能要求補充設計:(1)打開窗體時設置窗體標題為“XXXX年信息輸出”顯示,其中“XXXX”為系統 當前年份(要求用相關函數獲?。?,例如,2013年信息輸出。窗體“打開” 事件代碼已提供,請補充完整。 (2)調整窗體對象“fEmp”上“退出”按鈕(名為“bt2”)的大小和位置,要 求大小與“報表輸出”按鈕(名為“bt1”)一致,且左邊對齊“報表輸出 ”按鈕,上邊距離“報表輸出”按鈕1厘米(即“bt2”鈕的上邊距離“bt1 ”鈕的下邊1厘米)。 (3)利用表達式將報表記錄數據按照姓氏分組升序排列,同時要求在相關組頁 眉區域添加一個文本框控件(命名為“tm”),設置屬性顯示出姓氏信息 來,如“陳”、“劉”、...等。 注意,這里不用考慮復姓等特殊情況。所有姓名的第一個字符視為其姓氏 信息。 (4)單擊窗體“報表輸出”按鈕(名為“bt1”),調用事件代碼實現以預覽方 式打開報表“rEmp”;單擊“退出”按鈕(名為“bt2”),調用設計好的宏“mEmp”來關閉窗體。 注意:不允許修改數據庫中的表對象“tEmp”和宏對象“mEmp”;不允許 修改窗體對象“fEmp”和報表對象“rEmp”中未涉及的控件和屬性。 程序代碼只允許在“*****Add*****”與“*****Add*****”之間的空行內補充一行語句、完成設計,不允許增刪和修改其它位置已存 在的語句。 9.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,存在一個數據庫文件“samp1.accdb”、一個Excel文件 “tScore.xls”和一個圖像文件“photo.bmp”。在數據庫文件中已經建立了一 個表對象“tStud”。試按以下操作要求,完成各種操作: (1)設置“ID”字段為主鍵;并設置“ID”字段的相應屬性,使該字段在數據 表視圖中的顯示標題為“學號”; (2)將“性別”字段的默認值屬性設置為“男”,設置“入校時間”字段的相 關屬性,使該字段的輸入格式為“XXXX/XX/XX”,例如,2013/06/08;(3)設置“入校時間”字段的有效性規則和有效性文本。有效性規則為:輸入的入校時間必須為9月;有效性文本內容為“輸入的月份有誤,請重新輸 入”; (4)將學號為“20041002”學生的“照片”字段值設置為考生文件夾下的“ photo.bmp”圖像文件(要求使用“由文件創建”方式); (5)設置“政治面目”字段的輸入方式為從下拉列表中選擇“團員”、“黨員” 和“其他”選項值; (6)將考生文件夾下的“tScore.xls”文件導入到“samp1.mdb”數據庫文件 中,表名不變,主鍵為表中的“ID”字段。 9.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好三個 關聯表對象“tStud”、“tScore”和“tCourse”,試按以下要求完成設計: (1)創建一個查詢,查找年齡高于平均年齡的黨員記錄,并顯示“姓名”、“ 性別”和“入校時間”。所建查詢命名為“qT1”。 (2)創建一個查詢,按輸入的成績區間查找,并顯示“姓名”、“課程名”和 “成績”。當運行該查詢時,應分別顯示提示信息:“最低分”和“最高 分”。所建查詢命名為“qT2”。 (3)創建一個查詢,統計并顯示各門課程男女生的平均成績,統計顯示結果如 下圖所示。所建查詢命名為“qT3”。 要求:平均分結果用Round函數取整輸出。 【圖片】 (4)創建一個查詢,運行該查詢后生成一個新表,表名為“tTemp”,表結構包 括“姓名”、“課程名”和“成績”等三個字段,表內容為不及格的所有 學生記錄。所建查詢命名為“qT4”。要求創建此查詢后,運行該查詢,并 查看運行結果。 9.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好表對 象“tStud”,同時還設計出窗體對象“fStud”。請在此基礎上按照以下要求補 充“fStud”窗體的設計: (1)在窗體的“窗體頁眉”中距左邊1.2厘米、距上邊1.2厘米處添加一個直線 控件,控件寬度為7.8厘米,邊框顏色改為“藍色“(藍色代碼為 #0000FF),控件命名為“tLine”; (2)將窗體中名稱為“lTalbel”的標簽控件上的文字顏色改為“藍色”(藍色 代碼為#0000FF)、字體名稱改為“華文行楷”、字號改為22; (3)將窗體邊框改為“細邊框”樣式,取消窗體中的水平和垂直滾動條、記錄選 擇器、導航按鈕和分隔線;并且只保留窗體的關閉按鈕;(4)假設“tStud”表中,“學號”字段的第5位和6位編碼代表該生的專業信息,當這兩位編碼為“10”時表示“信息”專業,為其他值時表示“管理”專業 。設置窗體中名稱為“tSub”的文本框控件的相應屬性,使其根據“學號” 字段的第5位和第6位編碼顯示對應的專業名稱; (5)在窗體中有一個“退出”命令按鈕,名稱為“CmdQuit”,單擊該按鈕,彈出 提示框。提示框標題為“提示”,提示框內容為“確認退出?”,并顯示問 號圖標;提示框中有兩個按鈕,分別為“是”和“否”,單擊“是”按鈕,關閉消息框和當前窗體,單擊“否”按鈕,關閉消息框。請按照VBA代碼中的指示將實現此功能的代碼填入指定的位置中。 注意:不允許修改窗體對象“fStud”中未涉及的控件、屬性和任何VBA代 碼;不允許修改表對象“tStud”; 程序代碼只允許在“*****Add*****”與“*****Add*****”之間的空行內補充一行語句、完成設計,不允許增刪和修改其它位置已存 在的語句。 10.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,存在一個數據庫文件“samp1.accdb”和一個Excel文件“ tQuota.xls”。在數據庫文件中已經建立了一個表對象“tStock”。試按以下操 作要求,完成各種操作: (1)分析“tStock”表的字段構成,判斷并設置其主鍵。 (2)在“tStock”表的“規格”和“出廠價”字段之間增加一個新字段,字段 名稱為“單位”,數據類型為文本,字段大小為1;設置有效性規則,保 證只能輸入“只”或“箱”。 (3)刪除“tStock”表中的“備注”字段,并為該表的“產品名稱”字段創建 查閱列表,列表中顯示“燈泡”、“節能燈”和“日光燈”三個值。(4)向“tStock”表中輸入數據有如下要求:第一,“出廠價”只能輸入3位 整數和2位小數(整數部分可以不足3位),第二,“單位”字段的默認值 為“只”。設置相關屬性以實現這些要求。 (5)將考生文件夾下的“tQuota.xls”文件導入到“samp1.accdb”數據庫文 件中,表名不變,分析該表的字段構成,判斷并設置其主鍵;設置表的相 關屬性,保證輸入的“最低儲備”字段值低于“最高儲備”字段值,當輸 入的數據違反有效性規則時,提示“最低儲備值必須低于最高儲備值”。(6)建立“tQuota”表與“tStock”表之間的關系。 10.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好表對 象“tQuota”和“tStock”,試按以下要求完成設計: (1)創建一個查詢,查找庫存數量高于30000(包含30000)的產品,并顯示“ 產品名稱”、“規格”、“庫存數量”和“最高儲備”等字段內容,所建 查詢命名為qT1。 (2)創建一個查詢,查找某類產品的庫存情況,并顯示“產品名稱”、“規格” 和“庫存數量”等字段內容,所建查詢名為“qT2”;當運行該查詢時,提 示框中應顯示“請輸入產品類別:”。 說明:產品類別為“產品ID”字段值的第1位。 (3)創建一個查詢,查找庫存數量超過(不含)最高儲備的產品,并顯示“產 品名稱”、“庫存數量”和“最高儲備”等字段內容。所建查詢命名為“ qT3”。 (4)創建一個查詢,計算每類產品不同單位的庫存金額總計。要求,行標題顯 示“產品名稱”,列標題顯示“單位”。所建查詢命名為“qT4”。 說明:庫存金額=單價×庫存數量。 10.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好窗體 對象“fSys”。請在此基礎上按照以下要求補充“fSys”窗體的設計:(1)將窗體的邊框樣式設置為“對話框邊框”,取消窗體中的水平和垂直滾動條、記錄選擇器、導航按鈕、分隔線、控制框、關閉按鈕、最大化按鈕和最小 化按鈕。 (2)將窗體標題欄顯示文本設置為“系統登錄”。(3)將窗體中“用戶名稱”(名稱為“lUser”)和“用戶密碼”(名稱為“ lPass)兩個標簽上的文字顏色改為淺綜色(淺綜色代碼為#800000)、字 體粗細改為“加粗”。(4)在窗體加載時,“tPass”文本框的內容以密碼形式顯示。窗體“加載”事 件代碼已給出,請補充完整。 (5)按照以下窗體功能,補充事件代碼設計。 在窗體中有“用戶名稱”和“用戶密碼”兩個文本框,名稱分別為“tUser ”和“tPass”,還有“確定”和“退出”兩個命令按鈕,名稱分別為“ cmdEnter”和“cmdQuit”。在“tUser”和“tPass”兩個文本框中輸入用 戶名稱和用戶密碼后,單擊“確定”按鈕,程序將判斷輸入的值是否正確,如果輸入的用戶名稱為“cueb”,用戶密碼為“1234”,則顯示正確提示 框;如果輸入不正確,則提示框顯示內容為“密碼錯誤!”,同時清除“ tUser”和“tPass”兩個文本框中的內容,并將光標置于“tUser”文本框 中。當單擊窗體上的“退出”按鈕后,關閉當前窗體。 注意:不允許修改窗體對象“fSys”中未涉及的控件、屬性和任何VBA代碼。 只允許在“*****Add*****”與“*****Add*****”之間的空行內補充 一條語句,不允許增刪和修改其它位置已存在的語句。 11.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾(1)考生文件夾下存在一個數據庫文件“samp1.accdb”。試修改職工表“ employee”的結構,在“職工號”字段后增加“姓名”字段,其數據類型 為文本型,長度為6,并對應職工號添加其姓名,見下表。 【圖片】 (2)判斷并設置表“employee”的主鍵,同時將上面增加的“姓名”字段隱藏 起來。 (3)設置表“employee”的“基本工資”字段的默認值為:1000。 (4)在當前數據庫中,對表“employee”做一個備份,命名為表“tEmp”。(5)設置表“employee”的有效性規則為:“津貼”字段的值必須小于等于“ 基本工資”字段值。 (6)將已有的“水費.xls”文件導入到samp1.mdb數據庫中,將導入的表命名為 “水費記錄”?!八M記錄”表結構調整如下。 【圖片】 11.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好三個關 聯表對象“tStud”、“tCourse”、“tScore”和一個空表“tTemp”。試按 以下要求完成設計: (1)創建一個查詢,統計人數在5人以上(不含5)的院系人數,字段顯示標題 為“院系號”和“人數”,所建查詢命名為“qT1”。 注意:要求按照學號來統計人數。 (2)創建一個查詢,查找非“04” 院系的選課學生信息,輸出其“姓名”、“ 課程名”和“成績”三個字段內容,所建查詢命名為“qT2”。(3)創建一個查詢,查找還沒有選課的學生的姓名,所建查詢命名為“qT3”。(4)創建一個查詢,將前5條記錄的學生信息追加到表“tTemp”的對應字段中,所建查詢命名為“qT4”。 11.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好表對象 “tStud”、查詢對象“qStud”、窗體對象“fStud”和子窗體對象“fDetail”,同時還設計出以“qStud”為數據源的報表對象“rStud”。請在此基礎上按照 以下要求補充“fStud”窗體和“rStud”報表的設計: (1)在報表的報表頁眉節區位置添加一個標簽控件,其名稱為“bTitle”,標題顯示為“團員基本信息表”;將名稱為“tSex”的文本框控件的輸 出內容設置為 “性別”字段值。在報表頁腳節區添加一個計算控件,其名稱為“tAvg”,設置相關屬性,輸出學生的平均年齡。 (2)將“fStud”窗體對象主體節中控件的Tab鍵次序移動順序設置為: “CItem”→“TxtDetail” →“CmdRefer” →“CmdList” → “CmdClear” →“fDetail” →“簡單查詢”。 (3)在窗體加載事件中,實現重置窗體標題為當前年月加標簽“tTitle”的標題內容,如“2013年06月xxxx”。其中,當前年月要求用函數獲 得,xxxx部分是標簽“tTitle”的標題內容。 (4)試根據以下窗體功能要求,對已給的事件過程進行代碼補充,并運行 調試。 在窗體中有一個組合框控件和一個文本框控件,名稱分別為“CItem”和 “TxtDetail”;有兩個標簽控件,名稱分別為“Label3”和“Ldetail”;還 有三個命令按鈕,名稱分別為“CmdList”、“CmdRefer”和“CmdClear”。在“CItem”組合框中選擇某一項目后,“Ldetail”標簽控件將顯示出所選 項目名加上“內容:”。在“TxtDetail”文本框中輸入具體項目值后,單擊 “CmdRefer”命令按鈕,如果“CItem”和“TxtDetail”兩個控件中均有值,則在子窗體中顯示找出的相應記錄,如果兩個控件中沒有值,顯示提示框,提示框標題為“注意”,提示文字為“查詢項目或查詢內容不能為空!!”,提示框中只有一個“確定”按鈕;單擊“CmdList”命令按鈕,在子窗體中顯 示“tStud”表中的全部記錄;單擊“CmdClear”命令按鈕,將清空控件 “cItem”和“TxtDetail”中的值。 注意:不允許修改窗體對象“fStud” 和子窗體對象“fDetail”中未涉 及的控件、屬性和任何VBA代碼;不允許修改報表對象“rStud”中已有的控 件和屬性;不允許修改表對象“tStud”和查詢對象“qStud”。只允許在 “*****Add*****”與“*****Add*****”之間的空行內補充一條代碼語句、完成設計,不允許增刪和修改其它位置已存在的語句。 12.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,存在一個Excel文件“Test.xls”和一個數據庫文件“ samp1.accdb”。庫文件中已建立三個表對象(名為“線路”、“游客”和“團 隊”)和一個窗體對象(名為“brow”)。試按以下要求,完成表和窗體的各 種操作: (1)將“線路”表中的“線路ID”字段設置為主鍵;設置“天數”字段的有效 性規則屬性,有效性規則為非空且大于0。 (2)將“團隊”表中的“團隊ID”字段設置為主鍵;追加“線路ID”新字段,數據類型為“文本”,字段大小為8。 (3)將“游客”表中的“年齡”字段刪除;添加兩個字段,字段名分別為“證 件編號”和“證件類別”;“證件編號”的數據類型為“文本”,字段大 小為20;“證件類別”字段的數據類型為“文本”,字段大小為8,其值的輸入要求從下拉列表選擇“身份證”、“軍官證”或“護照”之一。(4)將考生文件夾下Test.xls文件中的數據鏈接到當前數據庫中。要求:數據 中的第一行作為字段名,鏈接表對象命名為“tTest”。(5)建立“線路”、“團隊”和“游客”三表之間的關系,并實施參照完整性。(6)修改窗體“brow”,取消“記錄選擇器”和“分隔線”顯示,在窗體頁眉 處添加一個標簽控件(名為Line),標簽標題為“線路介紹”,字體名稱 為隸書、字體大小為18。 12.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.mdb”,里面已經設計好兩個表對 象“tA”和“tB”。試按以下要求完成設計: (1)創建一個查詢,查找并顯示6月份入住客人的“姓名”、“房間號”、“ 電話”和“入住日期”四個字段內容,所建查詢命名為“qT1”。 (2)創建一個查詢,能夠在客人每次結賬時根據客人的姓名提示統計這個客人 已住天數和應交金額,并顯示“姓名”、“房間號”、“已住天數”和“ 應交金額”,所建查詢命名為“qT2”。 注:輸入姓名時應提示“請輸入姓名”。 已住天數按系統時間為客人結賬日進行計算。 應交金額=已住天數*價格。 (3)創建一個查詢,查找“身份證”字段第4位至第6位值為“102”的紀錄,并 顯示“姓名”、“入住日期”和“價格”三個字段內容,所建查詢命名為 “qT3”。 (4)以表對象“tB”為數據源創建一個查詢,使用房間號統計并顯示每棟樓的各類房間個數。行標題為“樓號”,列標題為“房間類別”,所建查詢命 名為“qT4”。 注:房間號的前兩位為樓號。 12.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計了表對象 “tEmp”、查詢對象“qEmp”和窗體對象“fEmp”。同時,給出窗體對象“fEmp ”上兩個按鈕的單擊事件代碼,試按以下要求補充設計。 (1)將窗體“fEmp”上名稱為“tSS”的文本框控件改為組合框控件,控件名稱 不變,標簽標題不變。設置組合框控件的相關屬性,以實現從下拉列表中 選擇輸入性別值“男”和“女”。 (2)選擇合適字段,將查詢對象“qEmp”改為參數查詢,參數為引用窗體對象 “fEmp”上組合框“tSS”的輸入值。 (3)將窗體對象“fEmp”上名稱為“tPa”的文本框控件設置為計算控件。要求 依據“黨員否”字段值顯示相應內容。如果“黨員否”字段值為True,顯示 “黨員”兩個字;如果“黨員否”字段值為False,顯示“非黨員”三個字。(4)在窗體對象“fEmp”上有“刷新”和“退出”兩個命令按鈕,名稱分別為 “bt1”和“bt2”。單擊“刷新”按鈕,窗體記錄源改為查詢對象“qEmp ”;單擊“退出”按鈕,關閉窗體?,F已編寫了部分VBA代碼,請按照VBA 代碼中的指示將代碼補充完整。 注意:不允許修改數據庫中的表對象“tEmp”;不允許修改查詢對象“qEmp ”中未涉及的內容;不允許修改窗體對象“fEmp”中未涉及的控件和 屬性。 程序代碼只允許在“*****Add*****”與“*****Add*****”之間的空行內補充一行語句、完成設計,不允許增刪和修改其它位置已存 在的語句。 13.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,存在一個數據庫文件“samp1.accdb”。在數據庫文件中已 經建立了五個表對象“tOrder”、“tDetail”、“tEmployee”、“tCustom” 和“tBook”。試按以下操作要求,完成各種操作: (1)分析“tOrder”表對象的字段構成,判斷并設置其主鍵。 (2)設置“tDetail”表中“訂單明細ID”字段和“數量”字段的相應屬性,使 “訂單明細ID”字段在數據表視圖中的顯示標題為“訂單明細編號”,將 “數量”字段取值非空且大于0。 (3)刪除“tBook”表中的“備注”字段;并將“類別”字段的“默認值”屬性 設置為“計算機”。 (4)設置“tEmployee”表中“性別”字段相關屬性,實現下拉列表選擇“男” 和“女”之一。 (5)將“tCustom”表中“郵政編碼”和“電話號碼”兩個字段的數據類型改 為“文本”,將“郵政編碼”字段的“輸入掩碼”屬性設置為“郵政編碼 ”,將“電話號碼”字段的輸入掩碼屬性設置為“010-XXXXXXXX”,其中,“X”為數字位,且只能是0~9之間的數字。(6)建立五個表之間的關系。 13.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好表對象 “tOrder”、“tDetail”、“tEmployee”和“tBook”,試按以下要求完成設 計: (1)創建一個查詢,查找清華大學出版社出版的圖書中定價大于等于20且小于 等于30的圖書,并按定價從大到小順序顯示“書籍名稱”、“作者名”和 “出版社名稱”。所建查詢名為“qT1”。(2)創建一個查詢,查找某月出生雇員的售書信息,并顯示“姓名”、“書籍 名稱”、“訂購日期”、“數量”和“單價”。當運行該查詢時,提示框 中應顯示“請輸入月份:”。所建查詢名為“qT2”。 (3)創建一個查詢,計算每名雇員的獎金,顯示標題為“雇員號”和“獎金” 。所建查詢名為“qT3”。 說明:銷售金額 = 單價*數量。 獎金 = 銷售金額合計數×5%。 (4)創建一個查詢,查找單價低于定價的圖書,并顯示“書籍名稱”、“類別 ”、“作者名”、“出版社名稱”。所建查詢名為“qT4”。 13.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好表對象 “tOrder”、“tDetail”和“tBook”,查詢對象“qSell”,報表對象“rSell ”。請在此基礎上按照以下要求補充“rSell”報表的設計: (1)對報表進行適當設置,使報表顯示“qSell”查詢中的數據。 (2)對報表進行適當設置,使報表標題欄上顯示的文字為“銷售情況報表”; 在報表頁眉處添加一個標簽,標簽名為“bTitle”,顯示文本為“圖書銷 售情況表”,字體名稱為“黑體”、顏色為褐色(褐色代碼為#7A4E2B)、字號為20,文字不傾斜。 (3)對報表中名稱為“txtMoney”的文本框控件進行適當設置,使其顯示每本 書的金額(金額=數量*單價)。 (4)在報表適當位置添加一個文本框控件(控件名稱為“txtAvg”),計算每本圖書的平均單價。 說明:報表適當位置指報表頁腳、頁面頁腳或組頁腳 要求:使用Round函數將計算出的平均單價保留兩位小數(5)在報表頁腳處添加一個文本框控件(控件名稱為“txtIf”),判斷所售圖 書的金額合計,如果金額合計大于30000,“txtIf”控件顯示“達標”,否則顯示“未達標”。 注意:不允許修改報表對象“rSell”中未涉及的控件、屬性;不允許修 改表對象“tOrder”、“tDetail”和“tBook”,不允許修改查 詢對象“qSell”。 14.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,存在一個數據庫文件“samp1.accdb”,里邊已經設計好 了表對象“tDoctor”、“tOffice”、“tPatient”和“tSubscribe”。試按以 下操作要求,完成各種操作: (1)在“samp1.mdb”數據庫中建立一個新表,名為“tNurse”,表結構如下表 所示: 【圖片】 (2)判斷并設置表“tNurse”的主鍵。(3)設置“護士姓名”字段為必需字段、“工作日期”字段的默認值為系統當 前月的第一天(規定:系統日期必須由函數獲?。?。設置“護士ID”字段 的有效性規則,保證輸入的第一個字符為“N”。 (4)將下表所列數據輸入到“tNurse”表中,且顯示格式應與下表相同?!緢D片】 (5)向“tDoctor”表“性別”字段中輸入數據有如下要求:第一,輸入方式 為從下拉列表中選擇“男”、或“女”值;第二,初始值為“男”。設置 相關屬性以實現這些要求。(6)通過相關字段建立“tDoctor”、“tOffice”、“tPatient”和“ tSubscribe”等四表之間的關系,同時使用“實施參照完整性”。 14.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好兩個 表對象“tEmployee”和“tGroup”。試按以下要求完成設計: (1)創建一個查詢,查找并顯示沒有運動愛好的職工的“編號”、“姓名”、“性別”、“年齡”和“職務”五個字段內容,所建查詢命名為“ qT1”。 (2)創建一個查詢,查找并顯示聘期超過5年(必須使用函數獲?。┑拈_發 部職工的“編號”、“姓名”、“職務”和“聘用時間”四個字段內 容,所建查詢命名為“qT2”。 (3)創建一個查詢,計算5月份聘用的、男女生每個部門的最小年齡。要 求,第一列顯示性別,第一行顯示部門名稱,所建查詢名為“qT3”。 (4)創建一個查詢,查找年齡低于所有職工平均年齡并且職務為經理的職 工記錄,并顯示“管理人員”信息。其中管理人員由“編號”和“姓 名”兩列信息合二為一構成(比如,編號為“000011”、姓名為“吳 大偉”的數據輸出形式為“000011吳大偉”),所建查詢命名為“ qT4”。 14.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計了表對 象“tEmp”、窗體對象“fEmp”、報表對象“rEmp” 和宏對象“mEmp”。試在 此基礎上按照以下要求補充設計: (1)設置報表“rEmp”按照“年齡”字段升序排列輸出;將報表頁面頁腳區域 內名為“tPage”的文本框控件設置為“第N頁,共M頁”形式的頁碼顯示 (如第1頁,共15頁、第2頁,共15頁、?)。 (2)設置窗體對象“fEmp”背景圖像為考生文件夾下的圖像文件“photo.bmp”,并將該圖像以平鋪方式顯示。 (3)在窗體加載事件中實現代碼重置窗體標題為標簽“bTitle”的標題內容。(4)試根據以下窗體功能要求,對已給的事件過程進行代碼補充,并運行調試。 在“fEmp”窗體上單擊“輸出”命令按鈕(名為“btnP”),計算滿足表 達式1+2+3+?+n<=30000的最大n值,并將n的值顯示在窗體上名為“tData”的文本框內并輸出到外部文件保存。單擊“打開表”命令按鈕(名為“ btnQ”),代碼調用宏對象“mEmp”以打開數據表“tEmp”。 注意:不允許修改數據庫中的表對象“tEmp”和宏對象“mEmp”;不允許 修改窗體對象“fEmp”和報表對象“rEmp”中未涉及的控件和屬性; 只允許在“*****Add*****”與“****Add******”之間的空行內補 充語句、完成設計,不允許增刪和修改其它位置已存在的語句。 15.1 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 在考生文件夾下,存在一個數據庫文件“samp1.accdb”,里面已經建立了 表對象“tBook”、“tDetail”、“tEmp”和“tOrder”,宏對象“mTest”。試按以下要求,完成各種操作: (1)將“tOrder”表中“訂單ID”字段的數據類型改為“文本”,字段大 小改為10;設置該字段的相關屬性,使其在數據表視圖中顯示為“訂 單號”。 (2)向“tOrder”表“訂購日期”字段中輸入數據有如下要求:第一,輸 入格式為“XXXX/XX/XX(如,2011/01/08)”;第二,輸入的數據為 2011年1月至8月產生的;第三,當輸入的數據不符合要求時,顯示“ 輸入數據有誤,請重新輸入”信息。設置相關屬性以實現這些要求。 (3)向“tBook”表“類別”字段中輸入數據有如下要求:第一,輸入方 式為從下拉列表中選擇“JSJ”、或“KJ”值;第二,初始值為“ JSJ”。設置相關屬性以實現這些要求。 (4)在數據表視圖中進行相關設置,使其能夠顯示出“tEmp”表中所有字 段的數據。 (5)建立“tBook”、“tDetail”、“tEmp”和“tOrder”等四張表之 間的關系,并全部實施參照完整性。 (6)將宏“mTest”重命名,保存為自動執行的宏。 15.2 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp2.accdb”,里面已經設計好表對 象“tCourse”、“tScore”和“tStud”,試按以下要求完成設計: (1)創建一個查詢,查找人數為20的班級,并顯示“班級編號”和“班級 人數”。所建查詢名為“qT1”。 要求:使用“姓名”字段統計人數。 說明:“學號”字段的前8位為班級編號。 (2)創建一個查詢,查找平均成績最高的課程,并顯示“課程名”和“平 均成績”。所建查詢名為“qT2”。 要求:使用Round函數實現平均成績保留整數。 (3)創建一個查詢,計算男女生每門課程的最高成績。要求,第一列顯示 性別,第一行顯示課程名。所建查詢名為“qT3”。 (4)創建一個查詢,運行該查詢后生成一張新表,表名為“tNew”,表結 構包括“姓名”、“課程名”和“成績”等三個字段,表內容為90分 以上(包括90分)或不及格的所有學生記錄。所建查詢名為“qT4”。 要求: 1、所建新表中的記錄按照“成績”降序保存。 2、創建此查詢后,運行該查詢,并查看運行結果。 15.3 請在“答題”菜單下選擇相應命令,并按照題目要求完成下面的操作,具體 要求如下: 注意:下面出現的“考生文件夾”均為考生文件夾 考生文件夾下存在一個數據庫文件“samp3.accdb”,里面已經設計好表對 象“tBook”、“tDetail”、“tEmp”和“tOrder”,查詢對象“qSell”,窗 體對象“fEmp”。同時還設計出以“qSell”為數據源的報表對象“rSell”。請在此基礎上按照以下要求補充“fEmp”窗體和“rSell”報表的設計: (1)將“rSell”報表標題欄上的顯示文本設置為“銷售報表”;對報表中 名稱為“txtNum”的文本框控件進行適當設置,使其顯示每本書的售 出數量;在報表適當位置添加一個計算控件(控件名稱為“txtC2”),計算各出版社所售圖書的平均單價。 說明:報表適當位置指報表頁腳、頁面頁腳或組頁腳。 要求:計算出的平均單價使用函數保留兩位小數。 (2)在“fEmp”窗體頁眉節區添加一個標簽,標簽名為“bTitle”,顯示 文本為“雇員基本情況查詢”,字號為26。 (3)將“fEmp”窗體中命令按鈕(名稱為“CmdRefer”)上的文字顏色改 為褐色(褐色代碼為#7A4E2B)、字體粗細改為“加粗”、文字下方顯 示“下劃線”。 (4)將“fEmp”窗體中窗體頁眉節區控件的Tab鍵移動次序設置為:“ TxtDetail”→“CmdRefer”。 (5)試根據以下窗體功能要求,補充已給的事件代碼,并運行調試。 在“fEmp”窗體的窗體頁眉節區有一個文本框控件和一個命令按鈕,名稱 分別為“TxtDetail”和“CmdRefer”;在主體節區有多個文本框控件,顯示 “tBook”表中的相關信息。在“TxtDetail”文本框中輸入具體值后,單擊“ CmdRefer”命令按鈕。如果“TxtDetail”文本框中沒有值,則顯示提示框,提示文字為“對不起!未輸入雇員姓名,請輸入!”;如果“TxtDetail”文 本框中有值,則在“tBook”表中進行查找,如果找到了相應記錄,則顯示在 主體節對應的文本框控件中,如果沒有找到,則顯示提示框,提示框顯示標題 為“查找結果”,提示文字為“對不起!沒有這個雇員!”,提示框中只有一個 “確定”按鈕,然后清除“TxtDetail”文本框中的內容,并將光標置于“ TxtDetail”文本框中。 注意:不允許修改報表對象“rSell”中未涉及的控件、屬性;不允許修 改表對象“tBook”、、“tDetail”、“tEmp”和“tOrder”,不允許修改 查詢對象“qSell”。不允許修改窗體對象“fEmp”中未涉及的控件、屬性和 任何VBA代碼;只允許在“*****Add*****”與“*****Add*****”之間的空行 內補充一條代碼語句、不允許增刪和修改其它位置已存在的語句。 用友通財務業務一體化處理上機練習 ——總賬 一、系統建賬(1分) 帳套號:班級+學號(201)啟用日期:2007年1月 企業類型:工業 帳套名稱:姓名+財務考核帳套 本位幣:人民幣 行業性質:2007新會計制度科目 客戶分類編碼級次233 地區分類編碼級次:2 收發類別編碼級次12 供應商分類編碼級次:22 3公司名稱:長江有限公司公司簡稱:長江公司 會計科目編碼級次4222 2部門編碼級次:122存貨分類編碼級次:1223結算方式編碼級次:12有外幣核算。(匯率1:8.275) 在經濟處理時,需要對存貨、客戶、供應商進行分類。 存貨數量、存貨單價、開票單價、件數及換算率的小數位均為2。 二、設置人員及權限(1分) 101電算主管—自己的姓名:負責會計軟件運行環境的建立,以及各項初始化設置工作;負責會計軟件的日常運行管理工作,監督并保證系統的有效、安全、正常運行;審核業務兼負責總賬及報表管理。 103會計員—王晶:具有總賬除出納簽字的權限,負責所有憑證的輸入、記賬工作。104出納員—陳光:具有出納簽字權。 三、基礎檔案設置(總6分) 1)部門檔案:(0.5分) 2)職員檔案:(0.5分) 3)客戶分類:(0.5分) 4)客戶檔案:(0.5分) 5)供應商分類:(0.5分) 6)供應商檔案:(0.5分) 7)存貨分類(0.5分) 8)存貨檔案(0.5分) 9)項目大類:(0.5分) 選擇 ⊙ 使用存貨核算。 10)地區分類:(0.5分) 11)憑證類別:(0.5分) 選擇 ⊙記賬憑證 12)結算方式:(0.5分) 四、科目及期初余額(總5分) (一)總賬系統初始設置 1、業務控制參數(1分) 憑證制單時,采用序時控制;進行支票管理與資金及往來赤字控制;可使用其他系統受控科目;制單權限不控制到科目;不可修改他人填制的憑證;打印憑證頁腳姓名;憑證審核時控制到操作員;由出納填制的憑證必須經出納簽字。 帳薄打印位數每頁打印行數按軟件的標準設定,明細賬查詢控制到科目,明細賬打印按年排頁。數量小數位和單價小數位2位,部門、個人、項目按編碼方式排序,會計日歷1月1日-12月31日。 2、會計科目及期初數據(4分) 期初數據-應收賬款余額 期初數據-其他應收賬款-應收個人款余額 期初數據-應付賬款余額 五、總賬業務處理(12分,每題1分,不含 WORD上機練習題一 一、文字錄入,(1)請在WORD文檔WZC.DOC中錄入以下內容(標點符號必須采用中文全角符號): 瑞星查“宏病毒”技術簡介 1.要查殺宏病毒,首先必須了解病毒寄生的宿主文件結構,WORD宏病毒所寄生的WORD文件采用OLE2結構,這種結構非常復雜,且微軟公司(Microsoft)從未公開過。WORD文件結構的特點:任何信息(包括宏)并不是采用連續存放,而是分散在文件的不同地方,WORD系統在處理信息時會自動完成拼裝,使你看到的信息是連續完整的。 2.由于WORD文件結構的復雜性,在未分析清楚該文件結構情況下,任何對文件的殺毒操作均可能導致該文件被破壞,造成WORD不能打開被殺毒后的文件,WORD報告內存不足或丟失用戶自己編寫的正常宏等現象。3.瑞星殺毒軟件RAV查殺宏病毒指標 u殺毒不破壞WORD和EXCEL文件結構,對于DOC文件殺毒后能將文件從模板結構自動轉成文檔結構; u 殺宏病毒種類多,可查殺流行于國內的各種宏病毒 二、文字編輯 對文檔WZC.DOC進行如下操作: ⑴ 將“1.要查殺宏病毒,…”和“2.由于WORD文件結構的復雜性…”兩段的內容互換,兩段之間不能有空行; ⑵ 將正文中的“宏病毒”替換為字體為紅色、加粗,并為字體加黃色雙下劃線的“蠕蟲病毒” ⑶ 將文件名為wzc1.doc文件內容復制到當前文檔的尾部。 典故 在我國宋朝的時候,有一個名叫孫山的才子,他為人不但幽默,而且很善于說笑話,所以附近的人就給他取了一個子”的綽號。有一次,他和一個同鄉的兒子一同到京城,去參加舉人的考試。放榜的時候,孫山的名字雖然被列在榜文的倒數第一名,但仍然是榜上有名,而那位和他一起去的那位同鄉的兒子,卻沒有考上。不久,孫山先回到家里,同鄉便來問他兒子有沒有考取。孫山既不好意思直說,又不便隱瞞,于是,就隨口念出兩句不成詩的詩句來: “解名盡處是孫山,賢郎更在孫山外?!?解名,就是我國科舉制度所規定的舉人第一名。而孫山在詩里所謂的“解名”,乃是泛指一般考取的舉人。他這首詩全部的意思是說: “舉人榜上的最后一名是我孫山,而令郎的名字卻還在我孫山的后面?!?從此,人們便根據這個故事,把投考學?;騾⒓痈鞣N考試,沒有被錄取,叫做“名落孫山”。故事欣賞 作業具體要求 1、給文章加個標題“名落孫山”居中、設為楷體、四號、家村、紅色、字符縮放150%,加寬2磅,在山子后加上標題① 2、正文中的““滑稽才”加著重號 3、文章尾部“故事欣賞”設為陽文,將“故”“欣”位置降低5磅 4、為文章的尾端的“名落孫山”加拼音,最后將編輯后的全部文檔存盤,退出WORD應用程序。文檔命名為“學號+姓名” 上傳 開展保持共產黨員先進性教育 開展保持共產黨員先進性教育活動,就是要使全體共產黨員認真學習,全面掌握、堅持實踐“三個代表”重要思想,不斷提高自身素質,始終保持先進性,成為新時期的合格黨員。開展保持共產黨員先進性教育活動,有利于廣大黨員干部更加自覺地用“三個代表”重要思想武裝好自己的頭腦。“三個代表”的重要思想是我們黨的立黨之本,執政之基,力量之源。“三個代表”重要思想是馬克思主義與中國社會主義革命和社會主義建設具體實踐第三次結合理論創新,是“時代精神”精華。表現了我們黨在指導思想上的與時俱進。黨在指導思想上實現了與時俱進,不等于每個黨員思想上也實現了與時俱進,開展保持共產黨員先進性教育活動,就是要使每個黨員都能實現自身思想建設的與時俱進。學習好“三個代表”的重要思想,目的是為了實踐好“三個代表”的重要思想。開展保持黨員先進性教育活動,主要內容就是實踐“三個代表”的重要思想,根本目的就是為了要把全體黨員鍛煉成“三個代表”的堅定實踐者。 實踐“三個代表”是檢驗每個黨員是否與時俱進,自覺保持共產黨員先進性的試金石。開展保持共產黨員先進性教育,是實踐“三個代表”的重要途徑,根本目的就是要使每個黨員鍛煉成“三個代表”的堅定實踐者,在學習中聯系實際,認清“三個代表”重要思想所揭示的新時期黨員先進性的內涵,努力使自己的素質與先進性相適應,行動與先進性相合拍,真正把先進性的要求體現在行動上,落實到工作中。 請依次解答以下題目 (1)將標題“開展保持共產黨員先進性教育”居中,楷體,小二號,加粗,填充海綠底紋,樣式為10%的淺黃色圖案。 (2)將第一自然段落變成三號,黑體,藍色,并加雙下劃線。 (3)將第二自然段落分成4欄,中間加分隔線,其它參數為默認格式。 (4)將第三自然段落變成小四楷體,并加上邊框。 (5)把第二自然段紅色的“開展保持共產黨員先進性教育活動”加刪除線。 (6)把第一自然段左右各縮進2厘米。段前段后各空1.5行。 (7)把所有段落首行縮進2個字符。 (8)插入頁腳,內容為頁碼,小四號,右對齊 (9)把第一自然段的行距設為1.5倍行距 (10)在文章中插入藝術字“保持共產黨員的先進性”采用第3行第2列的樣式。要求藝術字高度4厘米,寬度10厘米。旋轉的角度為20度。對齊方式為居中。版式為襯于文字下方。 (11)把紙張設為B5,上下左右頁邊距分別為2厘米,3厘米。 (12)在文章的最后插入一個4行,5列的表格。要求把第一行合并。把第一行的行線設為1.5磅的藍色波浪線。把其余各行的高度設為2厘米。把第4列和第5列的寬度設為2厘米。第二篇:access上機練習題
第三篇:用友通上機練習題
第四篇:WORD上機練習題一
第五篇:Word上機練習題四