组卷题库 > 高中信息技术试卷库
试题详情
公司年会,领导要小李编写一个小程序,用于抽奖,小李将参加年会的人员姓名、手机号保存在一个access数据库中库名:年会嘉宾.accdb 数据表名为:联系人
程序设计的主要思路是:窗体装入时读出所有嘉宾的姓名和手机号,保存在两个数据中,从text1中取得要抽奖的人数,用随机函数产生1~num间的数作为中奖号,从数据中读出对应的姓名和手机号,手机号中间4位用“新年快乐”代替。已抽中过的姓名和手机号从数据中删除,以防止重复中奖。

Dim sname(1 To 1000) As String   ‘用于保存嘉宾姓名
Dim phone(1 To 1000) As String   ‘用于保存嘉宾手机号
Dim num As Integer  ‘未抽奖人数
Private Sub Command1_Click()
Dim n As Integer   ‘拟抽奖人数
Randomize
n = Val(Text1.Text)
List1.Clear
If    ①    Then
 For i = 1 To n
    k = Int(Rnd * num) + 1
    List1.AddItem Str(i) + "  " + sname(k) + "   " +   ②     
    For j = k To num
        sname(j) = sname(j + 1)
        phone(j) = phone(j + 1)
    Next j
    num =     ③       
 Next i
Else
    List1.AddItem "剩余的数据不足!"
End If
End Sub
Rem 下列程序段用于从数据库中读取嘉宾的姓名和手机号,分别保存在全局变量sname()和phone()两个数组中,设嘉宾个数不超过1000个。
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString = "provider=microsoft.ace.oledB.12.0;data source=" & App.Path & "\年会嘉宾.accdb "
conn.Open
Set rs.ActiveConnection = conn
rs.Open "select * from 联系人"
num = 0
Do While Not rs.EOF And num < 1000
    num = num + 1
    phone(num) = rs.Fields("联系电话")
    sname(num) = rs.Fields("姓名")
    rs.MoveNext
 Loop
 rs.Close
 conn.Close
 Set rs = Nothing
 Set conn = Nothing
End Sub
知识点
参考答案
采纳过本试题的试卷
教育网站链接