网站首页  词典首页

请输入您要查询的论文:

 

标题 浅析Visual Basic程序设计在工作中的应用
范文

    李洪丹

    摘要:阐述了在VB程序设计中应用ADO数据连接控件开发“专业统计小程序”的关键技术与实现方法。

    关键词:Visual Basic6.0程序设计;Excel数据统计;工作效率

    中图分类号:TP311.11文献标识码:A

    文章编号:1005-913X(2014)07-0212-02

    一、正文

    在日常的工作中,经常要根据Office办公软件Excel电子表格统计本学院学生生源地和专业人数,有的时候Excel本身提供的一些数据统计分析基础功能并不能满足我们的需求,基于此应用,笔者利用Microsoft Visual Basic 6.0 企业版作为开发平台,设计出一款应用小程序用于根据专业名称统计专业学生数和根据身份证号字段判断学生出生地来满足工作的需要。如图所示,EXCEL的文件名为55555.XLS,是从学信网中下载的学生基础数据。

    统计各专业的人数,以往的做法是利用EXCEL菜单栏中“数据”选项中的“自动筛选”,分专业名称来筛选,找到一个手工记录一个,费时费力。

    二、算法描述

    连接EXCEL数据库文件后,定义两个数据集对象RS和RST,筛选专业名称将结果存储到数据集对象RS中。利用两层嵌套循环语句,用MSFLEXGRUD控件绑定数据集,显示结果。将结果导出含有三个字段的EXCEL中。

    三、具体实现

    在Microsoft Visual Basic 6.0 企业版开发平台中,新建一个工程,添加一个窗体,将“工具箱”中MSFLEXGRUD控件和按钮控件拖入窗体中。因为数据库文件是EXCEL,所以要勾选工程的引用“Microsoft Excel 11.0 Objects 2.0 Library”在窗体装载的事件中,添加连接数据库EXCEL字符串。

    Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=55555.xls;Extended Properties='Excel 8.0;HDR=Yes'"

    四、主要实现代码

    Dim Con As New ADODB.Connection//定义Con为数据库连接对象

    Dim RS As New ADODB.Recordset//定义RS为记录集对象

    DIM RST AS NEW ADODB.Recordst//定义RST为记录集对象

    Dim i As Integer//定义整形变量i

    Dim j As Integer //定义整形变量j

    Dim hlj As String//定义字符串变量hlj

    Private Sub Form_Load()

    //连接数据库

    Grid.FormatString = "序号| 专业 | 专业人数 "

    Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=55555.xls;Extended Properties='Excel 8.0;HDR=Yes'"

    Con.Open

    RS.Open "select distinct ZYMC from [sheet1$]", Con, adOpenKeyset, adLockOptimistic

    j = RS.RecordCount

    RS.MoveFirst

    For i = 0 To j - 1

    Dim rowi As Integer

    Do While Not RS.EO

    rowi = rowi + 1

    hlj = "select count(*) from [sheet1$] where ZYMC = '" & RS.Fields("ZYMC") & "'"

    Set RST = Con.Execute(hlj)

    Grid.ColAlignment(0) = 4 '字段数据居中显示

    Grid.ColAlignment(1) = 4

    Grid.ColAlignment(2) = 4

    Grid.TextMatrix(rowi, 0) = rowi

    Grid.TextMatrix(rowi, 1) = RS.Fields("ZYMC")

    If RST(0) <> 0 Then Grid.TextMatrix(rowi, 2) = RST(0) Else Grid.TextMatrix(rowi, 2) = 0

    RS.MoveNext

    Grid.Rows = Grid.Rows + 1

     Loop

    Next i

    Label1.Caption = "学生总数:" & RS.RecordCount

    Set RST = Nothing //将记录集RST对象置空

    Set RS = Nothing //将记录集RS对象置空

    Con.Close

    End Sub

    单击导出EXCEL按钮,导出新的EXCEL。

    Private Sub Command1_Click()

    Dim ii As Long

    Dim jj As Long

    '创建一个Application对象

    Dim liexcel As Excel.Application

    Set liexcel = New Excel.Application

    '绑定

    Set liexcel = CreateObject("Excel.Application")

    '向Excel中写入数据

    Dim libookAs Excel.Workbook

    Dim lisheetAs Excel.Worksheet

    Set libook = liexcel.Workbooks.Add

    liexcel.SheetsInNewWorkbook = 1

    '设置为可见

    liexcel.Visible = True

    '将控件MSHFlexGrid显示的内容写入Excel中

    With liexcel.ActiveSheet

    For ii = 1 To Grid.Rows

    For jj = 1 To Grid.Cols

    .Cells(ii, jj).Value = "" & Format$(Grid.TextMatrix(ii - 1, jj - 1))

    Next jj

    End With

    '清空并关闭

    Set lisheet = Nothing

    Set libook = Nothing

    Set liexcel = Nothing

    End Sub

    实现效果如图

    五、结束语

    通过开发这个小程序提高了工作人员的工作效率,避免了繁重的手工统计费时费力,减轻了工作人员的工作量,并且提高了数据的准确性,也提高了工作效率,但不足之处是程序算法的复杂度比较高。

    参考文献:

    [1] 姜彦伟.Excel中的VBA程序设计[J] .2012.

    [2] 崔五子.界面设计与Visual Basic(第2版)[M].北京:清华大学出社,2011.

    [责任编辑:兰欣卉]

    摘要:阐述了在VB程序设计中应用ADO数据连接控件开发“专业统计小程序”的关键技术与实现方法。

    关键词:Visual Basic6.0程序设计;Excel数据统计;工作效率

    中图分类号:TP311.11文献标识码:A

    文章编号:1005-913X(2014)07-0212-02

    一、正文

    在日常的工作中,经常要根据Office办公软件Excel电子表格统计本学院学生生源地和专业人数,有的时候Excel本身提供的一些数据统计分析基础功能并不能满足我们的需求,基于此应用,笔者利用Microsoft Visual Basic 6.0 企业版作为开发平台,设计出一款应用小程序用于根据专业名称统计专业学生数和根据身份证号字段判断学生出生地来满足工作的需要。如图所示,EXCEL的文件名为55555.XLS,是从学信网中下载的学生基础数据。

    统计各专业的人数,以往的做法是利用EXCEL菜单栏中“数据”选项中的“自动筛选”,分专业名称来筛选,找到一个手工记录一个,费时费力。

    二、算法描述

    连接EXCEL数据库文件后,定义两个数据集对象RS和RST,筛选专业名称将结果存储到数据集对象RS中。利用两层嵌套循环语句,用MSFLEXGRUD控件绑定数据集,显示结果。将结果导出含有三个字段的EXCEL中。

    三、具体实现

    在Microsoft Visual Basic 6.0 企业版开发平台中,新建一个工程,添加一个窗体,将“工具箱”中MSFLEXGRUD控件和按钮控件拖入窗体中。因为数据库文件是EXCEL,所以要勾选工程的引用“Microsoft Excel 11.0 Objects 2.0 Library”在窗体装载的事件中,添加连接数据库EXCEL字符串。

    Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=55555.xls;Extended Properties='Excel 8.0;HDR=Yes'"

    四、主要实现代码

    Dim Con As New ADODB.Connection//定义Con为数据库连接对象

    Dim RS As New ADODB.Recordset//定义RS为记录集对象

    DIM RST AS NEW ADODB.Recordst//定义RST为记录集对象

    Dim i As Integer//定义整形变量i

    Dim j As Integer //定义整形变量j

    Dim hlj As String//定义字符串变量hlj

    Private Sub Form_Load()

    //连接数据库

    Grid.FormatString = "序号| 专业 | 专业人数 "

    Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=55555.xls;Extended Properties='Excel 8.0;HDR=Yes'"

    Con.Open

    RS.Open "select distinct ZYMC from [sheet1$]", Con, adOpenKeyset, adLockOptimistic

    j = RS.RecordCount

    RS.MoveFirst

    For i = 0 To j - 1

    Dim rowi As Integer

    Do While Not RS.EO

    rowi = rowi + 1

    hlj = "select count(*) from [sheet1$] where ZYMC = '" & RS.Fields("ZYMC") & "'"

    Set RST = Con.Execute(hlj)

    Grid.ColAlignment(0) = 4 '字段数据居中显示

    Grid.ColAlignment(1) = 4

    Grid.ColAlignment(2) = 4

    Grid.TextMatrix(rowi, 0) = rowi

    Grid.TextMatrix(rowi, 1) = RS.Fields("ZYMC")

    If RST(0) <> 0 Then Grid.TextMatrix(rowi, 2) = RST(0) Else Grid.TextMatrix(rowi, 2) = 0

    RS.MoveNext

    Grid.Rows = Grid.Rows + 1

     Loop

    Next i

    Label1.Caption = "学生总数:" & RS.RecordCount

    Set RST = Nothing //将记录集RST对象置空

    Set RS = Nothing //将记录集RS对象置空

    Con.Close

    End Sub

    单击导出EXCEL按钮,导出新的EXCEL。

    Private Sub Command1_Click()

    Dim ii As Long

    Dim jj As Long

    '创建一个Application对象

    Dim liexcel As Excel.Application

    Set liexcel = New Excel.Application

    '绑定

    Set liexcel = CreateObject("Excel.Application")

    '向Excel中写入数据

    Dim libookAs Excel.Workbook

    Dim lisheetAs Excel.Worksheet

    Set libook = liexcel.Workbooks.Add

    liexcel.SheetsInNewWorkbook = 1

    '设置为可见

    liexcel.Visible = True

    '将控件MSHFlexGrid显示的内容写入Excel中

    With liexcel.ActiveSheet

    For ii = 1 To Grid.Rows

    For jj = 1 To Grid.Cols

    .Cells(ii, jj).Value = "" & Format$(Grid.TextMatrix(ii - 1, jj - 1))

    Next jj

    End With

    '清空并关闭

    Set lisheet = Nothing

    Set libook = Nothing

    Set liexcel = Nothing

    End Sub

    实现效果如图

    五、结束语

    通过开发这个小程序提高了工作人员的工作效率,避免了繁重的手工统计费时费力,减轻了工作人员的工作量,并且提高了数据的准确性,也提高了工作效率,但不足之处是程序算法的复杂度比较高。

    参考文献:

    [1] 姜彦伟.Excel中的VBA程序设计[J] .2012.

    [2] 崔五子.界面设计与Visual Basic(第2版)[M].北京:清华大学出社,2011.

    [责任编辑:兰欣卉]

    摘要:阐述了在VB程序设计中应用ADO数据连接控件开发“专业统计小程序”的关键技术与实现方法。

    关键词:Visual Basic6.0程序设计;Excel数据统计;工作效率

    中图分类号:TP311.11文献标识码:A

    文章编号:1005-913X(2014)07-0212-02

    一、正文

    在日常的工作中,经常要根据Office办公软件Excel电子表格统计本学院学生生源地和专业人数,有的时候Excel本身提供的一些数据统计分析基础功能并不能满足我们的需求,基于此应用,笔者利用Microsoft Visual Basic 6.0 企业版作为开发平台,设计出一款应用小程序用于根据专业名称统计专业学生数和根据身份证号字段判断学生出生地来满足工作的需要。如图所示,EXCEL的文件名为55555.XLS,是从学信网中下载的学生基础数据。

    统计各专业的人数,以往的做法是利用EXCEL菜单栏中“数据”选项中的“自动筛选”,分专业名称来筛选,找到一个手工记录一个,费时费力。

    二、算法描述

    连接EXCEL数据库文件后,定义两个数据集对象RS和RST,筛选专业名称将结果存储到数据集对象RS中。利用两层嵌套循环语句,用MSFLEXGRUD控件绑定数据集,显示结果。将结果导出含有三个字段的EXCEL中。

    三、具体实现

    在Microsoft Visual Basic 6.0 企业版开发平台中,新建一个工程,添加一个窗体,将“工具箱”中MSFLEXGRUD控件和按钮控件拖入窗体中。因为数据库文件是EXCEL,所以要勾选工程的引用“Microsoft Excel 11.0 Objects 2.0 Library”在窗体装载的事件中,添加连接数据库EXCEL字符串。

    Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=55555.xls;Extended Properties='Excel 8.0;HDR=Yes'"

    四、主要实现代码

    Dim Con As New ADODB.Connection//定义Con为数据库连接对象

    Dim RS As New ADODB.Recordset//定义RS为记录集对象

    DIM RST AS NEW ADODB.Recordst//定义RST为记录集对象

    Dim i As Integer//定义整形变量i

    Dim j As Integer //定义整形变量j

    Dim hlj As String//定义字符串变量hlj

    Private Sub Form_Load()

    //连接数据库

    Grid.FormatString = "序号| 专业 | 专业人数 "

    Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=55555.xls;Extended Properties='Excel 8.0;HDR=Yes'"

    Con.Open

    RS.Open "select distinct ZYMC from [sheet1$]", Con, adOpenKeyset, adLockOptimistic

    j = RS.RecordCount

    RS.MoveFirst

    For i = 0 To j - 1

    Dim rowi As Integer

    Do While Not RS.EO

    rowi = rowi + 1

    hlj = "select count(*) from [sheet1$] where ZYMC = '" & RS.Fields("ZYMC") & "'"

    Set RST = Con.Execute(hlj)

    Grid.ColAlignment(0) = 4 '字段数据居中显示

    Grid.ColAlignment(1) = 4

    Grid.ColAlignment(2) = 4

    Grid.TextMatrix(rowi, 0) = rowi

    Grid.TextMatrix(rowi, 1) = RS.Fields("ZYMC")

    If RST(0) <> 0 Then Grid.TextMatrix(rowi, 2) = RST(0) Else Grid.TextMatrix(rowi, 2) = 0

    RS.MoveNext

    Grid.Rows = Grid.Rows + 1

     Loop

    Next i

    Label1.Caption = "学生总数:" & RS.RecordCount

    Set RST = Nothing //将记录集RST对象置空

    Set RS = Nothing //将记录集RS对象置空

    Con.Close

    End Sub

    单击导出EXCEL按钮,导出新的EXCEL。

    Private Sub Command1_Click()

    Dim ii As Long

    Dim jj As Long

    '创建一个Application对象

    Dim liexcel As Excel.Application

    Set liexcel = New Excel.Application

    '绑定

    Set liexcel = CreateObject("Excel.Application")

    '向Excel中写入数据

    Dim libookAs Excel.Workbook

    Dim lisheetAs Excel.Worksheet

    Set libook = liexcel.Workbooks.Add

    liexcel.SheetsInNewWorkbook = 1

    '设置为可见

    liexcel.Visible = True

    '将控件MSHFlexGrid显示的内容写入Excel中

    With liexcel.ActiveSheet

    For ii = 1 To Grid.Rows

    For jj = 1 To Grid.Cols

    .Cells(ii, jj).Value = "" & Format$(Grid.TextMatrix(ii - 1, jj - 1))

    Next jj

    End With

    '清空并关闭

    Set lisheet = Nothing

    Set libook = Nothing

    Set liexcel = Nothing

    End Sub

    实现效果如图

    五、结束语

    通过开发这个小程序提高了工作人员的工作效率,避免了繁重的手工统计费时费力,减轻了工作人员的工作量,并且提高了数据的准确性,也提高了工作效率,但不足之处是程序算法的复杂度比较高。

    参考文献:

    [1] 姜彦伟.Excel中的VBA程序设计[J] .2012.

    [2] 崔五子.界面设计与Visual Basic(第2版)[M].北京:清华大学出社,2011.

    [责任编辑:兰欣卉]

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/23 8:58:07