excel使用ado访问excel数据库(ado读取excel)

Excel表格网 2022-11-26 23:35 编辑:admin 275阅读

1. ado读取excel

用access自动获取excel里的数据的方法就是通过代码的方式导入。如果是对手动导入比较清楚的话,这个实现起来不难。请参考下面的介绍来实现:首先,新建一个工程,在工程中引用如下对象ADO对象(用于连接ACCESS数据库,可用其它方式) 添加一个窗体(from1),在窗体上添加如下控件: 两个文本框,用来显示EXCEL文件路径和ACCESS路径; 四个扭钮,两个用来游览,另两个是导入和退出; 两个通用对话框控件,用来打开ACCESS和EXCEL文件,一个进度条控件,用来显示导入进程。 该实例的导入是将ACCESS数据库中表的字段名单独存放在另外一个表中,导入时按表中所存字段名的顺序进行导入,不是按EXCEL表的顺序导入,请大家注意.这样在实际中是很实用的.因为好多时候EXCEL表中字段顺序和ACCESS中字段顺序有可能不是一致的.代码如下:Dim vOption ExplicitPrivate Sub cmdLoad_Click()Dim excel_app As ObjectDim excel_sheet As ObjectIf txtExcelFile.Text = "" ThenMsgBox "请选择EXCEL表"ElseDim new_value As StringLabel2.Caption = "正在导入,请稍候..." Screen.MousePointer = vbHourglass DoEvents '' Create the Excel application. Set excel_app = CreateObject("Excel.Application") '' Uncomment this line to make Excel visible. excel_app.Visible = True '' Open the Excel spreadsheet. excel_app.Workbooks.open FileName:=txtExcelFile.Text '' Check for later versions. If Val(excel_app.Application.Version) >= 8 Then Set excel_sheet = excel_app.ActiveSheet Else Set excel_sheet = excel_app End If Dim u ''求EXCEL表中记录的条数,以便控制进度条u = 1Do If Trim$(excel_sheet.Cells(u, 1)) = "" Then Exit Do u = u + 1 Loop bar.Max = u - 1 strSQL = "select * from TestValues" yourRecord.open strSQL, myConn, adOpenDynamic, adLockOptimistic ''打开记录集 Dim sql As String sql = "select * from fields order by xue" myRecord.open sql, myConn, adOpenDynamic, adLockBatchOptimistic ''打开字段记录集 myRecord.MoveFirst '' Get data from the Excel spreadsheet and insert '' it into the TestValues table.Dim v ''导入记录,用了两层循环 v = 1 Do If Trim$(excel_sheet.Cells(v, 1)) = "" Then Exit Do ''外层,如果EXCEL表中读取到空行,结束yourRecord.AddNew Dim i For i = 1 To myRecord.RecordCount '' Get the next value. new_value = Trim$(excel_sheet.Cells(v, i)) '' See if it''s blank. ''If Len(new_value) = 0 Then Exit Do '' Insert the value into the database.Dim bb As String bb = myRecord("name") yourRecord(bb) = new_value myRecord.MoveNext Next i bar.Value = v v = v + 1 myRecord.MoveFirst Loop yourRecord.Update '' Comment the rest of the lines to keep '' Excel running so you can see it. '' Close the workbook without saving. excel_app.ActiveWorkbook.Close False '' Close Excel. excel_app.Quit Set excel_sheet = Nothing Set excel_app = Nothing myRecord.CloseyourRecord.CloseSet myRecord = NothingSet yourRecord = NothingLabel2.Caption = "导入完毕" Screen.MousePointer = vbDefault MsgBox "共导入" & Format$(v - 1) & "条记录" End If End SubPrivate Sub Command1_Click()Unload MeEnd SubPrivate Sub Command2_Click(Index As Integer)''寻找ACCESS数据库CommonDialog1.Filter = "ACCESS 文件(*.mdb)|*.mdb"CommonDialog1.CancelError = TrueCommonDialog1.ShowOpentxtAccessFile.Text = CommonDialog1.FileNameEnd SubPrivate Sub Command3_Click()''寻找excel数据库CommonDialog2.Filter = "excel 文件(*.xls)|*.xls"CommonDialog2.CancelError = TrueCommonDialog2.ShowOpentxtExcelFile.Text = CommonDialog2.FileNameEnd SubPrivate Sub Form_Load()Call Module1.lianjietxtAccessFile.Text = datapath End Sub模块(module1)中的代码如下:Public myConn As New ADODB.Connection ''定义连接字符串Public myRecord As New ADODB.Recordset ''定义记录集(字段)Public yourRecord As New ADODB.Recordset ''定义记录集(数据)Public cntoad As Boolean ''是否正常连接Public ml ''姓名字段所在列Public strSQL ''查询字符串Public MyDatabase As Database ''定义数据库名Public MyTable As TableDef, MyField As Field ''定义表名和字段名Public xuehao ''读取字段序号Public goshiRecord As New ADODB.Recordset ''定义记录集(公式)Public hxfyn As BooleanPublic hxfbds '' 公式或条件Public duan ''要统计的字段Public islinshi As Boolean ''是否为临时公式Public leiRecord As New ADODB.Recordset ''定义记录集(工资类别)Public datapath As String ''数据库路径及名Public table As String ''工资表名Public lei As String '' 工资类别Public Sub lianjie() ''打开数据库On Error Resume NextmyConn.CloseDim mySQL As String ''设定连接字符串 mySQL = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;" mySQL = mySQL + "Data Source=" & datapath myConn.ConnectionString = mySQL ''设定连接 myConn.open ''打开连接 myRecord.ActiveConnection = myConn ''设定RecordSeet的连接对象为Connection myRecord.CursorLocation = adUseClientgoshiRecord.ActiveConnection = myConn ''设定RecordSeet的连接对象为ConnectiongoshiRecord.CursorLocation = adUseClient yourRecord.ActiveConnection = myConn ''设定RecordSeet的连接对象为Connection yourRecord.CursorLocation = adUseClientEnd Sub

2. ado怎么用

  在 Microsoft Access数据库 (.mdb) 中要求使用记录集时, 将返回 DAO 记录集,在 Microsoft access 项目 (.adp) 中要求使用记录集时,将返回 ADO 记录集。   对于 Recordset 属性已经设置的使用 Visual Basic 的窗体,它进行的读/写行为取决于记录集 (ADO 或 DAO) 类型和包含在带有属性标识的记录集内的数据 (Jet 或 SQL) 类型。   在MDB中,默认情况下,Me.Recordset 是 DAO.Recordset 类型  如  dim rs as Dao.Recordset   set rs=Currentdb.openrecordset(tblUserOfficeCn)   set me.Recordset=rs   如果你希望使用ADODB.Recordset ,可使用下面方法。   在 Form_Open 里面加入一下代码   DGlobal rstSuppliers As ADODB.Recordset   Sub MakeRW()   DoCmd.OpenForm Suppliers   Set rstSuppliers = New ADODB.Recordset   rstSuppliers.CursorLocation = adUseClient   rstSuppliers.Open Select * From Suppliers, CurrentProject.Connection, adOpenKeyset, adLockOptimistic   Set Forms(Suppliers).Recordset = rstSuppliers   Forms(Suppliers).UniqueTable = Suppliers   End Sub   注意 ADO Recordset.CursorLocation 属性必须设置为 adUseClient。   在属性表上 UniqueTable(唯一表)属性可在客户/服务器模式中使用,但不能用于 access 数据库 (.mdb)。此属性只能在 Visual Basic 代码中设置。   您可使用 Recordset 属性作如下操作:   

1)将多个窗体连接为公用数据集。这种情况允许多窗体的同步处理。   例如:  Set Me.Recordset = Forms!Form1.Recordset   

2)使用窗体不直接支持的 Recordset 对象上的方法。   例如:当您想要通过 ADO 的 Find 方法或 DAO 的 Find 方法来使用自定义对话框查找记录时,您可以使用 Recordset 属性。   

3)回绕一系列影响多窗体的编辑的事务处理(可以重作)。   当打开一个新的 Recordset 对象时,它的第一个记录就是当前记录。   另注意:如果您更改窗体的 RecordSource 属性,您必须使用 Set 语句。更改窗体的 Recordset 属性可能也将更改 RecordSource、RecordsetType 和 RecordLocks 属性。

3. ado ado

ADO的全名是ActiveX Data Object(ActiveX数据对象),是一组优化的访问数据库的专用对象集,它为ASP提供了完整的站点数据库解决方案,它作用在服务器端,提供含有数据库信息的主页内容,通过执行SQL命令,让用户在浏览器画面中输入,更新和删除站点数据库的信息。ADO主要包括Connection,Recordset和Command三个对象, 它们的主要功能如下:·Connection对象:负责打开或连接数据库文件;·Recordset对象:存取数据库的内容;·Command对象:对数据库下达行动查询指令,以及执行SQL Server的存储过程。

4. ADO是一个

这个commandtype的4个类型, 其实出现在了3个地方, 一个是recordset记录集的open方法时, 最后有个options,  一个是command对象在excute前的设置, 最后一个是通过ADO控件的属性页,在记录源里面有四个选项,也是需要在打开记录源之前选的。

5. ADO文件

既然是用ADO连接,就是把EXCEL的SHEET看成数据表,EXCEL的列就是数据表的字段。单元格的计算值就是记录字段的内容。所以已经无法取出单元格的原始内容,只能取出计算值。你可以把数据集结果先存放到一个2维数组中

A[1,1]的值就等于$A$1的计算结果。

如果要想取单元格的内容,直接用OLE获取

6. ado读取excel截断

专业计算机技能:操作系统基础知识,各种操作系统的使用(包括网络操作系统),网络组建,基础小型局域网,简单的网络管理。编程(基础C,C#,C++,java),数据库的组建(包括ado.net的网页制作),网页制作,计算机网络技术等等。

1、操作系统基础知识

操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。

操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

2、编程

编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。

3、计算机网络技术

计算机网络技术(主要专业:通信,网络安全与管理等),界定很宽泛,网络领域和计算机一样,发展方向细化的很详细了,完全可以独立划出计算机专业行列,主要涉及领域有通信协议,网路信息安全等等。

4、网页制作

网页制作要能充分吸引访问者的注意力,让访问者产生视觉上的愉悦感。因此在网页创作的时候就必须将网站的整体设计与网页设计的相关原理紧密结合起来。

网站设计是将策划案中的内容、网站的主题模式,以及结合自己的认识通过艺术的手法表现出来;网页制作通常就是将网页设计师所设计出来的设计稿,按照W3C规范用html语言将其制作成网页格式。

5、数据库的组建

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。

所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合

7. ADO读取access数据库

语法: DLookup(expr, domain, [criteria])参数解释: expr:要获取值的字段名称 domain :要获取值的表或查询名称 criteria:用于限制 DLookup 函数执行的数据范围。如果不给 criteria 提供值,Dlookup 函数将返回域中的一个随机值。

正常用法 用于数值型条件值: DLookup("字段名称" , "表或查询名称" , "条件字段名 = n") 用于字符串型条件值:(注意字符串的单引号不能丢失) DLookup("字段名称" , "表或查询名称" , "条件字段名 = '字符串值'") 用于日期型条件值:(注意日期的#号不能丢失) DLookup("字段名称" , "表或查询名称" , "条件字段名 = #日期值#")从窗体控件中引用条件值用法 用于数值型条件值: DLookup("字段名称" , "表或查询名称" , "条件字段名 =" & forms!窗体名!控件名) 用于字符串型条件值:(注意字符串的单引号不能丢失) DLookup("字段名称" , "表或查询名称" , "条件字段名 = '" & forms!窗体名!控件名 & "'") 用于日期型条件值:(注意日期的#号不能丢失) DLookup("字段名称" , "表或查询名称" , "条件字段名 = #" & forms!窗体名!控件名 & "#")混合使用方法(支持多条件) 在这种方法中也可以在条件中写入固定的值。 DLookup("字段名称" , "表或查询名称" , "条件字段名1 = " & Forms!窗体名!控件名1 _ & " AND 条件字段名2 = '" & Forms!窗体名!控件名2 & "'" _ & " AND 条件字段名3 =#" & Forms!窗体名!控件名3 & "#"

)注: Dlookup之类的合计函数(域函数)是ACCESS为用户提供的内置函数,通过这些函数可以方便的从一个表或查询中取得符合一定条件的值赋予变量或控件值,就不需要再用DAO或者ADO打开一个记录集,然后再去从中获取一个值,这样所写的代码要少的多。

但是如果需要更灵活的设计,比如所查询的域没有在一个固定的表或查询里,而是一个动态的SQL语法,或是临时生成的复杂的SQL语句,亦或是需要代入循环的条件值等,此时还是需要从DAO或者ADO中定义记录集来获取值。

因为Dlookup之类的合计函数必竟是一个预定义好格式的函数,所支持的语法有限,但对于大多数的要求是都能够满足的。

8. ado读取excel中文乱码

R5是AMD处理器内图形核心的等级代号。

AMDCPU型号是AMD处理器所有型号的统称,处理器型号通过字母和数字代表,比如“0302”中的03是指2003年,02指第二周生产。

现在AMD

CPU品牌、型号众多,同名同姓的也不在少数,如速龙双核5000,就有新旧之分,如何快速区分这两种CPU呢.最佳的办法就是通过CPU顶盖上的第二行编码,即OPN码。

老款Athlon64 X2 5000+的OPN码都以“ADO5000”打头,新款Athlon X2 5000则以“AD5000”打头。

9. Ado怎么念

进入主页面,找到vjⅤado进入,点击读取烧写,点击程序,∴用usb卡直接读取

10. ADO怎么读

Sub 按钮1_Click()

Dim i As Integer, j As Integer, sht As Worksheet 'i,j为整数变量;sht 为excel工作表对象变量,指向某一工作表

'Dim cn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用

'Dim rs As New ADODB.Recordset '定义记录集对象,保存数据表

‘工具 ---〉引用 ---〉Microsoft ActiveX data objects ....

'下面两句就不需要增加引用ADO

Set cn = CreateObject("Adodb.Connection")

Set rs = CreateObject("Adodb.Recordset")

Dim strCn As String, strSQL As String '字符串变量

Dim strCond As String

strCn = "Provider=sqloledb;Server=R9HDET7;Database=dbname;Uid=username;Pwd=password" '定义数据库链接字符串

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片