谁能帮我解释一下这段vb代码

PublicCnStrAsStringPublicSQLStrAsStringPublicSFlagAsIntegerPrivateSubCommandButton2_C... Public CnStr As String
Public SQLStr As String
Public SFlag As Integer
Private Sub CommandButton2_Click()
SFlag = 0
Form3.Show vbModal
End Sub

Private Sub CommandButton3_Click()
SFlag = 1
Form3.Show vbModal
End Sub

Private Sub CommandButton4_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open CnStr
rs.Open "学生信息表", cn
Set DataReport1.DataSource = rs
DataReport1.Show
Set rs = Nothing
Set cn = Nothing
End Sub

Private Sub CommandButton5_Click()
On Error Resume Next
Dim cn As New ADODB.Connection, rs As New ADODB.Recordset
Dim xls As New excel.Application
Dim wk1 As excel.Workbook, ws1 As excel.Worksheet
Dim xlsName As String, i As Integer, j As Integer
xlsName = App.Path: j = 2
If Right(xlsName, 1) <> "\" Then xlsName = xlsName & "\"
xlsName = xlsName & "text.xls"
cn.Open CnStr: rs.Open "学生信息表", cn
Set wk1 = xls.Workbooks.Add: Set ws1 = wk1.Sheets(1)
ws1.Range("A1:G1").Merge
ws1.Range("A1:G1").Font.Size = 20
ws1.Range("A1:G1").Value = "学生信息表"
Do While rs.EOF = False
For i = 0 To rs.Fields.Count - 1
ws1.Cells(j, i + 1) = rs.Fields(i)
Next i
rs.MoveNext: j = j + 1
Loop
wk1.SaveAs xlsName: wk1.Close: xls.Quit
Set ws1 = Nothing: Set wk1 = Nothing: Set xls = Nothing
Set rs = Nothing: Set cn = Nothing
End Sub

Private Sub Form_Load()
Dim Dname As String
Dname = App.Path
If Right(Dname, 1) <> "\" Then Dname = Dname & "\"
Dname = Dname & "students.mdb"
CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Dname
End Sub

Private Sub Form_Resize()
Me.PaintPicture Picture1.Picture, 0, 0, Me.ScaleWidth, Me.ScaleHeight
End Sub

Private Sub CommandButton1_Click()
Form2.Show vbModal
End Sub
要每行都有解释的
展开
 我来答
75326825
2010-07-22 · TA获得超过668个赞
知道小有建树答主
回答量:685
采纳率:33%
帮助的人:391万
展开全部
Public CnStr As String '公有的CnStr 为 字符串
Public SQLStr As String '公有的SQLStr 为 字符串
Public SFlag As Integer '公有的SFlag 为 整型值
Private Sub CommandButton2_Click() '私有的子程序 CommandButton2_<点击>()
SFlag = 0 'SFlag=0
Form3.Show vbModal ' Form3的ShowvbModal
End Sub '子程序结束

Private Sub CommandButton3_Click() '私有的子程序 CommandButton3_<点击>()
SFlag = 1 'SFlag=1
Form3.Show vbModal ' Form3的ShowvbModal
End Sub '子程序结束

Private Sub CommandButton4_Click() '私有的子程序 CommandButton4_<点击>()
Dim cn As New ADODB.Connection '定义变量 cn 为 新的 ADODB的连接
Dim rs As New ADODB.Recordset '定义变量 rs 为 新的 ADODB的Recordset
cn.Open CnStr ' cn的打开文件 CnStr
rs.Open "学生信息表", cn ' rs的打开文件 "学生信息表",cn
Set DataReport1.DataSource = rs '设定 DataReport1的DataSource=rs
DataReport1.Show ' DataReport1的Show
Set rs = Nothing '设定rs=空值
Set cn = Nothing '设定cn=空值
End Sub '子程序结束

Private Sub CommandButton5_Click() '私有的子程序 CommandButton5_<点击>()
On Error Resume Next '当错误 转到 下一个
Dim cn As New ADODB.Connection, rs As New ADODB.Recordset '定义变量 cn 为 新的 ADODB的连接,rs 为 新的 ADODB的Recordset
Dim xls As New excel.Application '定义变量 xls 为 新的 excel的应用程序
Dim wk1 As excel.Workbook, ws1 As excel.Worksheet '定义变量 wk1 为 excel的工作簿,ws1 为 excel的工作表
Dim xlsName As String, i As Integer, j As Integer '定义变量 xlsName 为 字符串,i 为 整型值,j 为 整型值
xlsName = App.Path: j = 2 ' xlsName= App的路径:j=2
If Right(xlsName, 1) <> "\" Then xlsName = xlsName & "\" '如果 截取字符串右侧(xlsName,1) 不等于 "\" 则执行 xlsName=xlsName & "\"
xlsName = xlsName & "text.xls" 'xlsName=xlsName & "text.xls"
cn.Open CnStr: rs.Open "学生信息表", cn ' cn的打开文件 CnStr: rs的打开文件 "学生信息表",cn
Set wk1 = xls.Workbooks.Add: Set ws1 = wk1.Sheets(1) '设定wk1= xls的工作簿集合的添加 :设定ws1= wk1的<工作表>(1)
ws1.Range("A1:G1").Merge ' ws1的<单元格>区域("A1:G1" )的Merge
ws1.Range("A1:G1").Font.Size = 20 ' ws1的<单元格>区域("A1:G1" )的字体的尺寸=20
ws1.Range("A1:G1").Value = "学生信息表" ' ws1的<单元格>区域("A1:G1" )的值="学生信息表"
Do While rs.EOF = False '执行循环操作 当条件 rs的EOF=False
For i = 0 To rs.Fields.Count - 1 '设定变量范围为i=0到 rs的Fields的计数值-1
ws1.Cells(j, i + 1) = rs.Fields(i) ' ws1的<单元格>坐标(j,i+1)= rs的Fields(i)
Next i '下一个i
rs.MoveNext: j = j + 1 ' rs的MoveNext:j=j+1
Loop '循环执行
wk1.SaveAs xlsName: wk1.Close: xls.Quit ' wk1的SaveAsxlsName: wk1的关闭 : xls的退出
Set ws1 = Nothing: Set wk1 = Nothing: Set xls = Nothing '设定ws1=空值:设定wk1=空值:设定 xls=空值
Set rs = Nothing: Set cn = Nothing '设定rs=空值:设定cn=空值
End Sub '子程序结束

Private Sub Form_Load() '私有的子程序 Form_Load()
Dim Dname As String '定义变量 Dname 为 字符串
Dname = App.Path ' Dname= App的路径
If Right(Dname, 1) <> "\" Then Dname = Dname & "\" '如果 截取字符串右侧(Dname,1) 不等于 "\" 则执行 Dname=Dname & "\"
Dname = Dname & "students.mdb" 'Dname=Dname & "students.mdb"
CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Dname 'CnStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" & Dname
End Sub '子程序结束

Private Sub Form_Resize() '私有的子程序 Form_<重调大小>()
Me.PaintPicture Picture1.Picture, 0, 0, Me.ScaleWidth, Me.ScaleHeight ' 自身的PaintPicture Picture1的Picture,0,0, 自身的ScaleWidth, 自身的ScaleHeight
End Sub '子程序结束

Private Sub CommandButton1_Click() '私有的子程序 CommandButton1_<点击>()
Form2.Show vbModal ' Form2的ShowvbModal
End Sub '子程序结束
liuyangqi11
2010-07-22 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:101万
展开全部
呵呵.. 你这个还有其它的模块文件// 没有办法解释....

具体你不懂的 发mail给我 问我吧..

mail:58877700@qq.com

分数不要都行..无偿的...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者WjyMp9Nq8y
2019-04-13 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.2万
采纳率:28%
帮助的人:931万
展开全部
你这个程序编写的有些太难了
INT
类型的数据不用定义也可以。
数据默认都是INT
在VB里
Private
Sub
Form_Click()
'Dim
a
'Dim
i
As
integar
a
=
Array(1,
2,
3,
4,
5,
6,
7,
8,
9)
For
i
=
1
To
4
Print
a(5
-
i)
Next
End
Sub
我给你写的这个程序你直接复制就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者pmOLkqXD9s
2019-04-10 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:27%
帮助的人:737万
展开全部
调试失败
integar
是e
吧呵呵
a(5-i)数组
仅仅这几句不会输出任何数值的!程序不完整?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式