博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vb调用excel及access
阅读量:6643 次
发布时间:2019-06-25

本文共 3175 字,大约阅读时间需要 10 分钟。

菜单 [工程]-[引用] Microsoft ActiveX Data Objects 2.x
VB中操作Excel的一般做法 1、定义Excel操作变量 Dim objExcelFile As Excel.Application Dim objWorkBook As Excel.Workbook Dim objImportSheet As Excel.Worksheet 2、打开Excel进程,并打开目标Excel文件 Set objExcelFile = New Excel.Application objExcelFile.DisplayAlerts = False Set objWorkBook = objExcelFile.Workbooks.Open(strFileName) Set objImportSheet = objWorkBook.Sheets(1) 3、获取Excel有效区域的行和列数 intLastColNum = objImportSheet.UsedRange.Columns.Count intLastRowNum = objImportSheet.UsedRange.Rows.Count 4、逐行读取Excel中数据 由于前两行为Header部分,所以需要从第三行读取 如果第1到第10个单元格的值均为空或空格,则视为空行 For intCountI = 3 To intLastRowNum ''Check if Empty Data Row blnNullRow = True For intI = 1 To 10 If Trim$(objImportSheet.Cells(intCountI, intI).Value) <> "" Then blnNullRow = False End If Next intI 若不是空行,则进行读取动作,否则继续向后遍历Excel中的行 If blnNullRow = False Then 获取单元格中的数据,做有效性Check,并将合法数据创建为实体存入对象数组中 objImportSheet.Cells(intCountI, 1).Value …… End If Next intCountI 5、退出Excel进程,并关闭Excel相关操作对象 objExcelFile.Quit Set objWorkBook = Nothing Set objImportSheet = Nothing Set objExcelFile = Nothing / VB中操作Access的例子 'Microsoft ADO Ext. 2.8 for DDL and Security 'Microsoft ActiveX Data Objects 2.8 Library 'COM+ Services Type Library 'Microsoft DAO 3.6 Object Library Sub CreateDatabase(mdbPath, mdbPassword) Dim cat As New ADOX.Catalog If mdbPassword = "" Then cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source" & mdbPath & ";" Else cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Password=" & mdbPassword & ";Data Source=" & mdbPath & ";" 'cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbPath & ";" End If MsgBox "数据库" & mdbPath & "建立成功", vbOKOnly 'Set wspDefault = DBEngine.Workspaces(0) 'Set dbs = wspDefault.CreateDatabase("Newdb.mdb", _ 'dbLangGeneral & ";pwd=NewPassword", dbEncrypt) End Sub Sub CreateTable(mdbPath, mdbTableName, mdbSqlColumns, mdbPrimaryKey) '建立列的sql语句 'mdbPath="c:\test.mdb" 'mdbTableName="User" 'mdbSqlColumns="ID,adInteger;UserName,adVarWChar,20;Password,adVarWChar,20" 'mdbPrimaryKey="ID" Dim tbl As New Table Dim cat As New ADOX.Catalog Dim con As ADODB.Connection cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source=" & mdbPath & ";" Dim ArrayColumn As String tbl.Name = mdbTableName '添加数据表字段(字段格式:字段名 字段类别,字段长度;最末字段没有分号)     ArrayTotalColumn = Split(mdbSqlColumns, ";", -1, 1)     For i = 0 To UBound(ArrayTotalColumn)     ArraySingleColumn = Split(ArrayTotalColumn(i), ",", -1, 1)     If UBound(ArraySingleColumn) = 1 Then     'tbl.Columns.Append ArraySingleColumn(0), ArraySingleColumn(1)     tbl.Columns.Append ArraySingleColumn(0), adInteger     Else     'tbl.Columns.Append ArraySingleColumn(0), ArraySingleColumn(1), ArraySingleColumn(2)     tbl.Columns.Append ArraySingleColumn(0), adVarWChar, CInt(ArraySingleColumn(2))     End If     Next '设置数据表主键 'tbl.Columns(mdbPrimaryKey).Properties("AutoIncrement") = True cat.Tables.Append tbl '设置列的必填属性为“否” 'tbl.Columns("Weight").Attributes = adColNullable '设置列的允许空字符串为“是” 'tbl.Columns("FirstName").Properties("Jet OLEDB:Allow Zero Length") = True     Set tbl = Nothing     Set cat = Nothing MsgBox "数据表" & mdbPath & "-" & mdbTableName & "建立成功", vbOKOnly End Sub

转载地址:http://dsevo.baihongyu.com/

你可能感兴趣的文章
OpenStack Cinder 与各种后端存储技术的集成叙述与实践
查看>>
Android Service学习之IntentService 深入分析
查看>>
linux 下mysql的安装,并设置必要的密码
查看>>
linux下多路复用模型之Select模型
查看>>
【Win10应用开发】自定义磁贴通知的排版
查看>>
Android基于mAppWidget实现手绘地图(一)--简介
查看>>
TS流文件
查看>>
Objective-C:内存管理的小结
查看>>
Kaggle入门——使用scikit-learn解决DigitRecognition问题
查看>>
埃博拉病毒死亡展示了大批医护人员?
查看>>
写你自己struts1框架
查看>>
Wormholes(SPFA+Bellman)
查看>>
数据库 SQL Server 到 MySQL 迁移方法总结
查看>>
Windows10更改网络类型-公用-专用
查看>>
Activiti6.0 安装出错 log4j:ERROR setFile(null,true) call failed.
查看>>
技术高手如何炼成
查看>>
翻译:深入 AngularUI Router
查看>>
(笔记)Linux下C语言实现静态IP地址,掩码,网关的设置
查看>>
[CareerCup] 11.8 The Rank of Number 数的排行
查看>>
android 67 生成和解析xml
查看>>