小王为学校教务处编写了一个排考场座位的VB程序。考场采用“6排5列”共30人的模式。程序执行后,考生的考号与姓名显示在列表框List1中,单击“考场座位”按钮Command1,考场号与座位显示在Text1中,程序运行界面如图a所示,考生数据存放在数据库文件“kaochang.accdb”中,数据表如图b所示。
实现上述功能的VB程序如下,请回答下列问题:
(1)
当“Form_Load()”事件处理过程运行结束时,变量x的值为。
(2)
请在横线处填入合适的代码。Private Sub Command1_Click()Dim y As IntegerDim start As Integer ‘考场第1位数据元素的下标Dim pa As Integer ‘数据库导入VB时学生数据下标Dim pb As Integer ‘考场座位数据下标Dim i As Integer, j As Integer, k As Integer, m As Integerstart=1pa=startrecCount=x-1If recCount Mod 30 <> 0 Then ① For i=1 To y ‘将当前考生人数添加到30的整数倍 recCount=recCount+1 sName(recCount)=“” Next iEnd IfFor j=1 To recCount / 30 pa=start pb=start For i=1 To 30 kcsName(pb)=sName(pa) pb=pb+1 If i Mod 5=0 Then pa=start+i \ 5 Else ② End If Next i start=start+30Next jText1.Text=""start=1For k=1 To recCount / 30 m=start Text1.Text=Text1.Text+“第”+Str(k)+“考场”+vbCrLf ‘vbCrLf为换行标志符,实现Text1中内容换行显示 For i=1 To 6 For j=1 To 5 Text1.Text=Text1.Text+“”+kcsName(m) m=m+1 Next j Text1.Text=Text1.Text+vbCrLf Next i Text1.Text=Text1.Text+vbCrLf+vbCrLf ③Next kEnd SubPrivate Sub form_load()Dim myconn As New ADODB.ConnectionDim myrecord As New ADODB.Recordsetmyconn.ConnectionString=“provider=microsoft.ace.oledb.12.0;data source=e:\kaochang.accdb”myconn.Openstrsql="select*from三中 "myrecord.Open strsql,myconn x=1 List1.AddItem“考号 姓名” List1.AddItem“--------------”Do While Not myrecord.EOF ‘读取数据库数据,存入数组kh(x)、sName(x)中,代码略 List1.AddItem kh(x)+“ ”+sName(x) x=x+1 myrecord.MoveNextLoopmyrecord.CloseEnd Sub
答案: 【1】43
【1】y=30-recCount Mod 30【2】pa=pa+6【3】start=start+30