某校教务处安排选考科目考场办法是这样的:依据上次的考试名次由小到大把考生安排到各考场(考场号从 1 开始编号),每个考场 35 人,7 行 5 列,S 形排列。为方便教务人员快速将每次考试每科考场座位表打印出来,技术组老师利用VB 编写了一个程序,相关信息、程序界面及代码如下,为实现上述功能,请回答以下问题:
(1)根据程序代码可以知道,安排考场的原始数据来自_______________数据库的_______________数据表。
(2)完善①②③处程序代码。

Dim xm (1 To 1000) As String, dayinkm (1 To 1000) As String
Dim zuhe(1 To 1000) As String,mc(0 To 1000) As Integer, n As Integer
Private Sub Command1_Click()
Dim conn As New ADODB. Connection 'conn 是数据库链接对象
Dim rs As New ADODB. Recordset 'rs 是数据记录集对象
conn. Open "Provider=Microsoft. Jet. OLEDB. 4. 0;Data Source=" & App. Path & "\xk. accdb" & ";"
Jet OLEDB:Database Password=""
strSQL = "SELECT∗FROM 2019xk"
' 考号、姓名信息存放在 xm 数组;7 选 3 选课组合存放 zuhe 数组;名次存放 mc 数组,代码略
Label3. Caption = "共有" + Str(n) + "人"
' 学生总人数存放变量 n 中
End Sub
' 下面代码是:先按名次升序排序,再筛选要打印的学科到数组 xinkm
Private Sub Command2_Click()
Dim xk(1 To 7) As Integer,t As String
For i =
①_________
t1 = mc(i): t2 = xm(i): t3 = zuhe(i): j = i- 1
Do While t1 < mc(j)
mc(j + 1) = mc(j): xm(j + 1) = xm(j): zuhe (j + 1) = zuhe(j)
j = j - 1
Loop
mc(j + 1) = t1: xm(j + 1) = t2: zuhe(j + 1) = t3
Next i
'将排序后的数据输出到列表框 list1 中,代码略km = "物理化学生物政治历史地理技术":dykm =
Text1. Text
For i = 1 To 7
If
②__________Then kmh = i: Exit For
Next i
k = 1
For i = 1 To n
For j = 1 To 3
If dykm = Mid(zuhe(i), 2 ∗ (j - 1) + 1,2) Then
xk(kmh) = xk(kmh) + 1
dayinkm(k) = xm(i)
k = k + 1
End If
Next j
Next i
Label2. Caption = "选考" + dykm + "学科共有" +Str(xk(kmh)) + "人"
End Sub
'将数组 dayinkm 中的数据按考场 S 形输出
Private Sub Command3_Click()
Dim kc As Integer
Dim p As Integer, q As Integer
Dim i As Integer, num As Integer, ks As Inte⁃
ger
List2. Clear
List2. AddItem "讲台"
List2. AddItem "----------"
p = 7: q = 5: kc = Val(Text2. Text)
ks = q ∗ p ∗ (kc - 1)
For i = 1 To p
ks = ks + 1
s = " " + xinkm(ks)
For j = 1 To q - 1
If j Mod 2 = 1 Then
③_________
Else
num = ks + p ∗ j
End If
If num > n Then
s = s + " "
Else
s = s + " " + xinkm(num)
End If
Next j
List2. AddItem s
List2. AddItem "----------"
Next i
End Sub