Access数据库、Excel表格与VB编程完美结合实现Excel表格透视功能-vb数据库( 三 )


先把昨天的特定代码复制过来 。就是读取Excel表格资料特定引用的代码 。在代码窗口的开始部分:
Dim xl软件 As Excel.软件licationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetDim xlSheet1 As Excel.WorksheetDim xlSheet2 As Excel.WorksheetSet xl软件 = CreateObject("Excel.软件lication")Set xlBook = xl软件.Workbooks.Open("F:\成绩表.xlsx")xl软件.Visible = TrueSet xlSheet1 = xlBook.Worksheets("Sheet1")xlSheet1.Activate上面的"F:\成绩表.xlsx"和"Sheet1"是我们要读取资料的目标文件和目标表 。一定要和我们的资料一致 。
在代码窗口的结尾部分是这些特定的代码:
xlBook.Closexl软件.QuitSet xl软件 = NothingMsgBox "主子 。黑猫警长向您报告 。程序已运行完毕"
MsgBox后面的内容是可以随便改写的 。

Access数据库、Excel表格与VB编程完美结合实现Excel表格透视功能-vb数据库

文章插图
准备的代码都已经完工 。就等着在上面中间的空白部分去实现我们要实现的事情 。我们的目标是要把“sheet1”表中一班的学生语文成绩全自动存取到“sheet2”表里面去 。
我们先来把“sheet1”表中一班的资料读到变量里面去:
m = 1For i = 2 To 121【总共有121条学生资料】If Trim(xlSheet.Cells(i, "a")) = "一班" Then【条件判定】gs = gs + 1【记录一班学生数量】a1(m) = xlSheet1.Cells(i, "a")【读班级】b1(m) = xlSheet1.Cells(i, "b")【读姓名】c1(m) = xlSheet1.Cells(i, "c")【读语文成绩】m = m + 1End IfNext i我们已经读完资料啦 。下面我们来把从“sheet1”表中读取的一班资料编辑到“sheet2”表中去:
m = 1For i = 2 To gs【gs表示一班的学生人数】xlSheet2.Cells(i, "a")= a1(m) 【编辑班级】xlSheet2.Cells(i, "b")= b1(m) 【编辑姓名】xlSheet2.Cells(i, "c")= c1(m) 【编辑语文成绩】m = m + 1Next i这样 。我们的程序就差不多啦 。不过还得改写几处 。就是前面要加上变量的定义 。不然程序就会报错 。定义加在前面就可以:
Dim a1(1 To 50), b1(1 To 50), c1(1 To 50)//【定义数组 。装资料用的】Dim gs, i, m//【定义变量】末尾 。编完的程序是这样的:
Access数据库、Excel表格与VB编程完美结合实现Excel表格透视功能-vb数据库

文章插图
来点一下上面的小三角运行吧 。运行之后是这样的:
Access数据库、Excel表格与VB编程完美结合实现Excel表格透视功能-vb数据库

文章插图
点一下按钮 。观望有什么反应:
Access数据库、Excel表格与VB编程完美结合实现Excel表格透视功能-vb数据库

文章插图
直接弹出这种文件啦 。程序立马完成了我们的事情 。问是否保存呢 。我们点一下取消就行 。文件就会打开着 。之后我们再保存 。
点完取消会弹出这种消息框:
Access数据库、Excel表格与VB编程完美结合实现Excel表格透视功能-vb数据库

文章插图
就是我们在程序里面做的提示消息 。跟你说我们事情已经完成 。
VB程序操纵Access资料库先来创建一个空的VB程序 。当然也完全可以用昨天做好现成的 。只不过我们在旁边再加一个“按钮控件”而已 。我们根据昨天的设置 。对今天新加的这种按钮展现的内容“Caption”改成“逆天操纵Access” 。和背景色“BackColor”改成“粉色” 。以及字体改成“楷体”和字体大小改成“小四”号 。完成了相对应的设置之后 。就是下面这种样子:
Access数据库、Excel表格与VB编程完美结合实现Excel表格透视功能-vb数据库

文章插图
可以观看到的这种窗体多了一个按钮 。双击它进入到编编辑代码窗口:
Access数据库、Excel表格与VB编程完美结合实现Excel表格透视功能-vb数据库

文章插图
可以观看到的 。上面的代码就是我们昨天编编辑的存取Excel文件资料用的代码 。下面这种模块是空的:
Private Sub Command2_Click()End Sub我们需要编编辑程序代码 。前半部分是特定模式的代码:
Dim conn As New ADODB.Connection//【定义一个资料库连接】Dim strConn As String//【定义一个字符串变量存放资料库所在路径】前半部分一切搞定 。再来就这样看后半部分:
Set conn = Nothing//【事情完成后释放资料库连接】MsgBox "您的程序运行完毕"//【弹出信息框示意事情已经完成】
Access数据库、Excel表格与VB编程完美结合实现Excel表格透视功能-vb数据库

文章插图
中间开始编辑我们要实现详细事情的代码 。
现在就对下面这种学生成绩表 。求三门成绩的总分放在新的字段中:
Access数据库、Excel表格与VB编程完美结合实现Excel表格透视功能-vb数据库

文章插图
编辑代码:
Dim sql1, sql2 As String//【定义两个字符串 。用来装查询语句】strConn = "Provider=microsoft.ace.oledb.12.0;Data Source=F:\1文章\个体资料库.accdb"//【读取资料库所在路径】sql1 = "alter table xscj add column 总分数 float"//【增加一个“总分数”字段的语句】sql2 = "update xscj set 总分数=yy+yw+sx"//【算三门总分的语句】conn.Open strConn//【打开资料库】conn.Execute (sql1)//【执行语句1】conn.Execute (sql2)//【执行语句2】conn.Close//【关闭资料库】好了 。编辑完了 。放在程序里面就是这样的:

推荐阅读