庞绍棠语录:谁能给我解释下这段程序的每步的意思啊

来源:百度文库 编辑:中科新闻网 时间:2024/05/09 05:12:40
Private Sub Command3_Click()
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim Rs As New ADODB.Recordset
Dim cn1 As New ADODB.Connection
Dim cmd1 As New ADODB.Command
Dim Rs1 As New ADODB.Recordset
Dim i As Integer
cn.Provider = "Microsoft.Jet.OLEDB.4.0;"
cn.Open App.Path & "\数据库\实际资料.mdb" '' database
Set cmd.ActiveConnection = cn
Rs.CursorLocation = adUseClient
Rs.Open "建库后资料", cn, adOpenStatic, adLockOptimistic
cn1.Provider = "Microsoft.Jet.OLEDB.4.0;"
cn1.Open App.Path & "\数据库\实际资料.mdb" '' database
Set cmd1.ActiveConnection = cn1
Rs1.CursorLocation = adUseClient
Rs1.Open "建库前资料", cn1, adOpenStatic, adLockOptimistic
Do While Not Rs.EOF
Rs1.AddNew
i = i + 1
Rs1.Fields("Qm") = qq(i)
Rs1.Fields("年份") = Rs.Fields("年份")
Rs1.Fields("W24h") = Rs.Fields("W24h")
Rs1.Fields("W3日") = Rs.Fields("W3日")
Rs1.Fields("W5日") = Rs.Fields("W5日")
Rs1.Fields("W7日") = Rs.Fields("W7日")
Rs.MoveNext
Rs1.MoveNext
Loop
End Sub

Private Sub Form_Load()
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim Rs As New ADODB.Recordset
Dim k As Integer, Qm() As Single
cn.Provider = "Microsoft.Jet.OLEDB.4.0;"
cn.Open App.Path & "\数据库\实际资料.mdb" '' database
Set cmd.ActiveConnection = cn
Rs.CursorLocation = adUseClient
Rs.Open "建库后资料", cn, adOpenStatic, adLockOptimistic
k = 0
Do While Not Rs.EOF
k = k + 1
ReDim Preserve Qm(k)
Qm(k) = Rs.Fields("Qm")
Rs.MoveNext
Loop
Rs.Close
cn.Close

With MSFlexGrid1
.rows = 8
.cols = 2
.TextMatrix(0, 0) = "Qm后"
.TextMatrix(0, 1) = "Qm前"
For i = 1 To .rows - 1
.TextMatrix(i, 0) = Qm(i)
.TextMatrix(i, 1) = Format((0.99 * Qm(i) - 408.08), "###0")
qq(i) = .TextMatrix(i, 1)
Next i

For i = 0 To .cols - 1
.Row = 0
.Col = i
.CellBackColor = RGB(77, 220, 249)
Next i
End With

Private Sub Command3_Click()
Dim cn As New ADODB.Connection
//定义数据库连接
//cmd,cmd1 是SQL语句
//cn,cn1是连接字符
//rs,rs1是存储数据对象

Dim cmd As New ADODB.Command
Dim Rs As New ADODB.Recordset
Dim cn1 As New ADODB.Connection
Dim cmd1 As New ADODB.Command
Dim Rs1 As New ADODB.Recordset
Dim i As Integer

//打开cn连接
cn.Provider = "Microsoft.Jet.OLEDB.4.0;"
cn.Open App.Path & "\数据库\实际资料.mdb" '' database
Set cmd.ActiveConnection = cn
Rs.CursorLocation = adUseClient
Rs.Open "建库后资料", cn, adOpenStatic, adLockOptimistic

//打开cn1连接
cn1.Provider = "Microsoft.Jet.OLEDB.4.0;"
cn1.Open App.Path & "\数据库\实际资料.mdb" '' database
Set cmd1.ActiveConnection = cn1
Rs1.CursorLocation = adUseClient
Rs1.Open "建库前资料", cn1, adOpenStatic, adLockOptimistic

//把rs 表中的值复制给 rs1
Do While Not Rs.EOF
Rs1.AddNew
i = i + 1
Rs1.Fields("Qm") = qq(i)
Rs1.Fields("年份") = Rs.Fields("年份")
Rs1.Fields("W24h") = Rs.Fields("W24h")
Rs1.Fields("W3日") = Rs.Fields("W3日")
Rs1.Fields("W5日") = Rs.Fields("W5日")
Rs1.Fields("W7日") = Rs.Fields("W7日")
Rs.MoveNext
Rs1.MoveNext
Loop
End Sub

//对话框加载函数
Private Sub Form_Load()

//定义数据库变量
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim Rs As New ADODB.Recordset
Dim k As Integer, Qm() As Single

//连接数据库
cn.Provider = "Microsoft.Jet.OLEDB.4.0;"
cn.Open App.Path & "\数据库\实际资料.mdb" '' database
Set cmd.ActiveConnection = cn
Rs.CursorLocation = adUseClient
Rs.Open "建库后资料", cn, adOpenStatic, adLockOptimistic

//把数据库的qm字段的值复制给数据qm
k = 0
Do While Not Rs.EOF
k = k + 1
ReDim Preserve Qm(k)
Qm(k) = Rs.Fields("Qm")
Rs.MoveNext
Loop
Rs.Close
cn.Close

//把值显示到表格
With MSFlexGrid1

//定义行数,列数
.rows = 8
.cols = 2
//改变文本值
.TextMatrix(0, 0) = "Qm后"
.TextMatrix(0, 1) = "Qm前"

//表格赋值

//行操作
For i = 1 To .rows - 1
.TextMatrix(i, 0) = Qm(i)
.TextMatrix(i, 1) = Format((0.99 * Qm(i) - 408.08), "###0")
qq(i) = .TextMatrix(i, 1)
Next i

//列操作
For i = 0 To .cols - 1
.Row = 0
.Col = i
.CellBackColor = RGB(77, 220, 249)
Next i
End With

知道是个连接的得了,而且从英文中也可以知道的,没有必要每部都知道

天哪,这么长,还要一步一步解释!!!

代码有点不明白,为什么定义了2个连接却是连的一个数据库,那样有什么区别么?修改一个就都改了,那还能分的出建库前和建库后啊?

这么长 动手很麻烦