a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 75|回复: 0

[考试试题] 2010年全国计算机等级考试二级VFP习题及答案:第八章2

[复制链接]
发表于 2012-7-31 22:22:49 | 显示全部楼层 |阅读模式
  多表操作程序设计题   操作步骤如下:
  ]( z5 H1 H' r% r/ P, M  (1) 新建表单
+ u' G0 I, B" ^* ?" u  (2) 按题目要求在表单中加入控件:
( h) c6 s) }2 T9 f) r  命令按纽Command1、Command2;: H4 q" X9 N' c- n( L1 \; l4 H: _
  标签 Label1、Label2、Label3;5 z% E$ u7 }- x. Y: m
  组合框 Combo1;
6 S( F: C( j% j* l3 L6 H  文本框 Text1、Text2、Text3;; u  R- \1 V0 ?/ O- A% b3 I0 L: f
  容器 Container1, 并在容器 Container1 中加入文本框 Text1、Text2、Text3、Text4、Text5、Text6、Text7、 Text8、Text9、Text10。) f' o6 m3 W! ~. L( {% J% G+ |) T  ~
  (3) 数据环境设置:
; t# k& y% b  f  将表文件“学生”、“课程”、“成绩”添加到数据环境中。
: b, \) c' r- o6 |9 h% r  (4) 主要属性设置:( |( u3 ^+ H3 V
  表单 Form1 的Caption 属性设置为 “学生成绩查询表单”
% o$ w" l+ I8 r7 A( n9 ?5 t5 T  命令按纽Command1的Caption 属性设置为 “确定”
6 r* O% L! b" f$ L# E9 w, m  命令按纽Command2的Caption 属性设置为 “退出”6 D5 ~  N  X& R2 c" a' k
  标签Label1的Caption 属性设置为 “选择姓名”
2 m( }9 m; X5 I0 s) r1 ?2 e  标签Label2的Caption 属性设置为 “学号”
$ b# W+ I2 Z- a  标签Label3的Caption 属性设置为 “姓名”7 |2 |. H' w' F$ R9 ^2 j# ]4 d- @3 d
  组合框 Combo1的RowSourceType属性设置为 “6-字段”
: X: A% Y$ _% f) V, X  组合框 Combo1的RowSource属性设置为 “学生.姓名”. O7 H- `1 E2 |% f6 y
  (5) 主要事件代码
) j; @" Q: J, f# b2 q6 M2 @  1. FORM1 INIT 事件代码:
! s( _4 R4 C/ j$ o: p3 Q/ m2 R; p4 E  THISFORM.SETALL("Readonly",.T.,"Textbox")2 g; B/ _' m& r9 C8 T* B
  FOR N=1 TO THISFORM.CONTAINER1.CONTROLCOUNT
* j" B1 \* @9 v- m% O, a  M8 [7 A1 U  THISFORM.CONTAINER1.CONTROLS(N).VISIBLE=.F.8 b" [7 Q$ ]1 r$ P; ^/ o
  ENDFOR2 j% H. v1 l/ J$ ~+ e, |1 @9 s
  2. COMMAND1 CLICK 事件代码:
, x& [& u  S6 K6 R4 m; H1 Y  SELECT 学生: R# D# M" ^$ p% G* m
  XH=学号
# v& u9 Q1 G3 D" N% Y4 |3 O# G$ N$ l  XM=姓名
! Z( {+ }! R4 ]& y4 |( R  THISFORM.TEXT1.VALUE=XH2 h- H# E4 @  m6 P5 @+ m" E3 J' C
  THISFORM.TEXT2.VALUE=XM# a8 Y6 C" t# G0 V
  FOR N=1 TO THISFORM.CONTAINER1.CONTROLCOUNT
& S7 H- h$ D: A+ \, ]  THISFORM.CONTAINER1.CONTROLS(N).VALUE=""
- U, K( O" ]+ O, u7 \$ C  THISFORM.CONTAINER1.CONTROLS(N).VISIBLE=.F.
# x- F/ t3 p" }% F2 i- e  ENDFOR2 W  _9 }* Z- ]
  S=0
# p# m. D! ?/ }0 f+ w5 Q  L=1
7 J# o: O2 J. T! S  SELECT 成绩5 C: K6 u6 M: h+ n! g3 T& S8 _4 `
  LOCATE FOR ALLTRIM(学号)=ALLTRIM(XH)
' f* g9 s' \+ {/ m  DO WHILE ! EOF(), V- r6 e5 ~! [# x# F
  SELECT 课程( o2 s2 ?& s: V; t; T) F8 C
  LOCATE FOR ALLTRIM(课程号)=ALLTRIM(成绩.课程号)
# K7 d8 y( m9 o/ Q  KCM=课程名, K6 {9 Q+ ^  H$ A! ^
  SELECT 成绩
4 \" ^, c. {- y  THISFORM.CONTAINER1.CONTROLS(L).VALUE=KCM+":"+STR(成绩,5,1)
7 Q$ |1 @* P1 X/ D  THISFORM.CONTAINER1.CONTROLS(L).VISIBLE=.T.
3 ~! N  }, \; R" ?* _4 _9 }  S=S+成绩
! N" P/ z  Y5 v4 a- q/ {/ _  L=L+14 r: }5 C% ?6 Z# }3 X
  CONTINUE
) N4 u' m0 ^) O& d2 s+ N  ENDDO+ Y% @/ V6 f7 `. U+ H! [$ J" r( U
  IF L>1" f! s2 k5 T( w4 u2 `4 O% `" T0 H9 b- k
  THISFORM.TEXT3.VALUE="该生的总平均成绩为:"+STR(S/(L-1),5,1)
0 r! n. L4 b* N: {, T4 Z  ELSE) K, b' f8 \8 i/ C% {3 |( a9 m  T
  THISFORM.TEXT3.VALUE="该生没有选修课程!"9 V- _$ Y6 r- Y$ V, Y/ }
  ENDIF
/ w/ }# l/ C' Z6 l* b  SELECT 学生1 C6 L2 m$ E  Q5 M
  THISFORM.REFRESH
3 g+ u9 g- k* P" O  3. COMMAND2 CLICK 事件代码:
7 o& o1 s& U2 ]/ F' j: ~  THISFORM.RELEASE
6 s+ X/ {. l1 ?- o, q" ~  操作步骤如下:
' Z* o7 R; g6 D" r, d, }, Z  (1) 新建表单( Y" a- ]+ S0 P4 o- M& `3 }' l+ Z
  (2) 数据环境设置:4 R" r" X1 Z( T$ C' ?/ m
  将表文件“学生”、“课程”、“成绩”添加到数据环境中。3 i8 v% R5 r! ?; }3 X
  (3) 按题目要求在表单中加入控件:/ ^' M: V/ S) C& ~5 d3 P8 s
  命令按纽组Commandgroup1;! v1 M/ g1 V3 o5 L( \: n
  从数据环境中将“学生”表的“姓名”字段、“课程”表的“课程名”字段、“成绩”表的“学号”字段、“成绩”表的“课程号”字段、“成绩”表的“成绩”字段分别拖入表单对应位置。$ \) K( K5 ]3 r
  (4) 主要属性设置:8 A  J, y( E( m* ]# q6 w. J
  表单 Form1 的Caption 属性设置为 “学生成绩表编辑表单”9 T/ X9 r$ b& S# F' s
  命令按纽组Commandgroup1的ButtonCount 属性设置为 “7”/ n6 u) O8 r' ]% _6 T. n
  (5) 主要事件代码:
& w7 P6 z. O. {1 h/ D- n- {! ?  1. FORM1 INIT 事件代码:4 Y7 \' P+ O  W; o! S8 b- g# Q! I! u( u* D
  SET SAFETY OFF) c- j+ I7 H: ~
  THISFORM.COMMANDGROUP1.COMMAND4.ENABLED=.F., b3 V: L" G) u% Y1 Z+ P/ v8 e
  THISFORM.COMMANDGROUP1.COMMAND5.ENABLED=.F.
6 b& y  p% J7 T+ ^# I' [" ]9 V6 s  C="添加删除退出表头前翻表尾后翻"! W6 o, D( B, v5 J
  FOR N=1 TO THISFORM.COMMANDGROUP1.BUTTONCOUNT
( h! P: V- O/ y1 D9 H7 ^  THISFORM.COMMANDGROUP1.BUTTONS(N).CAPTION=SUBSTR(C,4*(N-1)+1,4)
& r* {2 s3 n4 g3 I) E# P3 I  ENDFOR
5 T6 w& O* c+ d" R! `* [6 Q) |# [  SELECT 学生
3 m" g% Q; ?  E3 C0 C! P  INDEX ON 学号 TO XHI; S  M" ~% c: d# K5 @6 D
  SELECT 课程; ^2 d7 `8 m% O/ p
  INDEX ON 课程号 TO KCI2 q) \2 X# ]0 T8 m
  SELECT 成绩' k$ S7 A0 C* |* i) Y4 N
  SET RELATION TO 学号 INTO 学生, 课程号 INTO 课程" U: E( X0 y! S8 q# W
  THISFORM.REFRESH; {; T. E2 B# b$ h7 F7 ]4 g' V) y6 K' M
  2. COMMANDGROUP1 CLICK 事件代码:) j! |: }6 E6 r7 K+ E0 ~' G
  SELECT 成绩
! n7 n  ?5 S9 m" l4 e  DO CASE
: Y) ?: b, L8 V/ x2 K2 D- k: s5 K  CASE THIS.VALUE=1( z) S  U7 V) D: {' b; M
  APPEND BLANK% \+ x4 K1 Q8 ]6 |' ~
  CASE THIS.VALUE=2
+ y# o9 @$ ^1 E; E6 {  DELETE8 G- ~& P1 s! A3 f& o6 z
  CASE THIS.VALUE=3
; }& a1 n5 |9 U  W# h5 _& ~* r  ?  THISFORM.RELEASE6 U- U9 _9 O5 L2 A1 \
  CASE THIS.VALUE=4
3 a2 W: ^% \6 X1 J% y) H; I! X  GO TOP
$ G) [  W2 r6 X5 R0 n* x" F& }  THIS.COMMAND4.ENABLED=.F.
9 v; Z/ m: B# s; \+ I5 y  THIS.COMMAND5.ENABLED=.F.
8 N2 D- a3 X, I% I  THIS.COMMAND6.ENABLED=.T.& x$ D; K- s4 B* h, s
  THIS.COMMAND7.ENABLED=.T.
7 o4 w: _9 a7 ?0 j' n" k% g  CASE THIS.VALUE=5
8 k5 u1 ^4 z) A  h$ p- I  SKIP -1. s4 \' m# F9 ?. F# n* A: N: U9 D
  IF BOF()
, h$ l. G# G; P- \7 J4 \  THIS.COMMAND4.ENABLED=.F.. X$ w4 b' a2 b8 P- Z
  THIS.COMMAND5.ENABLED=.F.% M7 x) i. Z; G1 a) R. i- k: g2 V% u
  ENDIF1 L0 E5 A; v- ~5 E0 t+ u
  THIS.COMMAND6.ENABLED=.T.9 U! Y5 n/ d6 l; Q
  THIS.COMMAND7.ENABLED=.T.) z) f  V6 n; S& v  T
  CASE THIS.VALUE=6
# A( \& Y3 v/ G5 ~+ I5 L% P/ v0 m  GO BOTTOM7 a' n! L6 a, ~1 V
  THIS.COMMAND4.ENABLED=.T.
6 @$ q! H' Z: l+ _  THIS.COMMAND5.ENABLED=.T.
; l8 t. ?& p1 A% `0 S  THIS.COMMAND6.ENABLED=.F.. b4 e& @6 J1 X$ {) t1 b
  THIS.COMMAND7.ENABLED=.F.
/ z* a3 [1 F' I: e4 Q9 q1 x  CASE THIS.VALUE=7
# |$ E+ H6 L" m# l/ `- h- f  SKIP0 M" S0 x" R7 G+ \) N; q
  IF EOF()
& G; d. ~' [1 G8 |3 u$ l! `0 G! l  THIS.COMMAND6.ENABLED=.F.$ |) L; m  P9 m* D( R1 q8 m  G
  THIS.COMMAND7.ENABLED=.F.
7 K; l& N5 K) x% d( J, n  ENDIF
8 V* d7 _4 S. ]! t: A. |  THIS.COMMAND4.ENABLED=.T.* ?+ D+ s/ z4 |$ e+ m
  THIS.COMMAND5.ENABLED=.T.
' p4 u( w3 |( w, K* `1 \, H  ENDCASE. p! W9 p% @2 Y4 s
  THISFORM.REFRESH
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 12:30 , Processed in 0.354249 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表