试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省高中信息技术 VB访问Access数据库同步练习

某单位招考公务员,2010年和2011年分别有4 020名和2 000名考生报名,下列VB程序用于统计两次考试都参加的考生信息。程序界面设计如图所示,2010年和2011年的考生信息分别显示在List1和List2中,点击“统计”按钮,在List3中显示两次考试都参加的考生信息和总人数。

(1)、实现上述功能的VB程序如下,请在横线处填入合适代码。

Dim a (1 To 4020 ) As String

Dim b (1 To 2000 ) As String

Private Sub Form_Load( )

Dim conn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim constr As string

constr=“Provider=Microsoft.ace.OLEDB.12.0;”

constr=constr &“Data Source=” & App.Path+“\data\KaoSheng.accdb”

conn.ConnectionString=constr

conn.open()

Dim sql As String

‘将参加2010年下半年考试的考生的身份证号码按升序存放在a数组中

sql=“select * from kaoshengInfo where year=‘2010’order by sfzh asc”

rs.Open sql,conn

i=0

Do While Not rs.EOF

 i=i+1

 a(i)=rs(“sfzh”)

 List1.additem(a(i))

 rs.MoveNext

Loop

‘将参加2011年下半年考试的考生的身份证号码按升序存放在b数组中

sql=“select * from kaoshengInfo where year=‘2011’order by sfzh asc”

rs.Open sql,conn

i=0

Do While Not rs.EOF

 i=i+1

 b(i)=rs(“sfzh”)

 List2.additem(b(i))

 rs.MoveNext

Loop

rs.Close

End Sub

Private Sub Command1_Click ()

Dim bot As Integer, top As Integer, m As Integer

Dim i As Integer, ans As Integer

ans=0

  For i=1 To 2000

    bot=1

    

   Do While  bot <=top

     m=Fix ( ( bot+top ) / 2 )

     If a ( m )=b ( i ) Then

      List3.AddItem  a ( m )

       

      Exit Do

     ElseIf  Then

      top=m-1

     Else

      bot=m+1

     End If

   Loop

 Next i

 List3.AddItem“总计”+str(ans)+“人次”

End Sub

(2)、分析上述代码,在数据库中用于存放考试信息的数据表名称是
举一反三
求老师想按学生的成绩进行评级,分数和等级对应关系如下表:

分数

0~59

60~69

70~79

80~89

90~99

等级

E级

D级

C级

B级

A级

现要求根据上表统计出各等级学生人数占总人数的比例。小李编写了一个VB程序帮助老师实现该功能:程序运行时,将每位学生的得分(两位整数)存储到数组a中,并在列表框List1

中显示。单击“统计”按钮后,在列表框List2中显示从A级至E级,各等级的人数占总人数的百分比例(四舍五入保留整数)。程序运行界面如图所示:

请阅读代码,并回答以下问题:

Dim n As Integer

Dim a(1 To 50) As Integer

Private Sub Form_Load( )

    Dim adocn As New ADODB. Connection

    Dim adors As New ADODB. Recordset

    Dim str1 As String

    adocn.ConnectionString = "Provider = Microsof.ACE.OLEDB.12.0;Data source=" +App. Path +”\school. accdb”

    adocn. Open

    str1 =“select * from students”

    ardors.Open str1, adocn

    '将每个学生的得分读入数组a中,并在列表框list1中显示,统计学生总人数n

    '代码略

End Sub

Private Sub Comd1_C1ick( )

    Dim cou As Integer,k as Integer

    Dim b(0 To 4) As Integer

    Const dj = “A级B级C级D级E级”

    For i=1 Ton

    k=a(i)\10-5

    If k<0 Then     ①    

    b(k)= b(k) + 1

    Next i

    For i=0 To 4

      cou =       '⑶改错

      List2. AddItem       ②      + Str(cou) +“%”

    Next i

End Sub

返回首页

试题篮