移动电话彩铃怎么设置:VB训练题?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/15 05:40:10
使用定时器控件,每隔3秒钟自动生成一个50~200之间的随机数,并且把该随机数保存在一个Collection集合对象中,在程序关闭的时候,统一把所有这些数的平均值保存在ACCESS数据库中。
菜鸟初学,请多多指教

首先要引用ADO对象,打开菜单“工程-引用”,选择“Microsoft ActiveX Data Objects 2.0 Library”将其沟选,这样就可以进行声明ADO对象了
Dim cnn As New ADODB.Connection 'ADO连接对象
Dim Collection As ADODB.Recordset 'ADO记录集对象
Dim Cnt As Integer '计算产生随机数的个数
Dim No() As Integer '动态数组存放所有产生的随机数字

Private Sub Command1_Click()
Form_Unload (True) '调用窗体的卸载事件
End Sub

Private Sub Form_Load()
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\Collection.mdb"
'打开数据库连接,驱动程序Microsoft.Jet.OLEDB.4.0,数据源为当前目录下的Collection数据库
Set Collection = New ADODB.Recordset
'申请一个新的Collection记录集对象
Collection.Open "select * from tab", cnn, adOpenKeyset, adLockOptimistic
'打开记录集对象
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim i As Integer
If Cnt > 0 Then
For i = 1 To Cnt
Collection.AddNew '增加记录
Collection.Fields(0) = No(i)
Collection.Update '更新记录集对象,保存所作的增加操作
Next
MsgBox "保存成功! ", vbOKOnly + vbInformation, "保存"
End
Else
'当还没有到三秒钟3就退出程序时,由于系统并没有产生随机数字,则给出提示
MsgBox "没有产生随机数!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If

End Sub

Private Sub Timer1_Timer()
Dim t As Integer
Randomize '初始化随机函数发生器
t = Int(Rnd * 151 + 50)
Cnt = Cnt + 1
ReDim Preserve No(Cnt) '保存以前的数组元素并重新定义数组大小
No(Cnt) = t
End Sub
在程序设计阶段将timer1控件的Interval属性设置为3000
,Enabled属性设置为true,运行程序三秒钟再关闭,然后你再看看你的数据库中是不是已经产生了随机数呢,呵呵……,肯定产生了。
注意:App.Path是你程序当前路径,数据库Collection.mdb也保存在当前目录下,即和程序保存的路径是一样的。