在ACCESS中用VBA代码直接读取Excel表中的数据 您所在的位置:网站首页 access数据库内容的代码 在ACCESS中用VBA代码直接读取Excel表中的数据

在ACCESS中用VBA代码直接读取Excel表中的数据

2024-07-08 07:38| 来源: 网络整理| 查看: 265

在Microsoft Access中,可以使用ADODB对象来连接Excel表并读取其中的数据。下面是一个基本的示例,说明如何实现这一点:

首先,你需要创建一个ADODB.Connection对象,然后使用该对象的 Open 方法打开一个到Excel文件的连接。一旦连接被打开,你就可以使用Recordset对象来读取数据。 实例Excel表和Access数据库保存在同一个文件夹内,Excel表的名字为“作业人员职业病.xlsx” 以下是详细步骤:

添加ADO库。 在Visual Basic编辑器中选择【工具】->【引用】选项,打开【引用-VABProject】对话框,在列表框中选中【Microsoft ActiveX Data Objects 6.x Library】复选框。然后,创建ADODB.Connection对象: Dim conn As New ADODB.Connection dim i,j as integer 使用Open方法连接到Excel文件: j=0 strPath = CurrentProject.Path pool: conn.Open "Provider= Microsoft.ACE.OLEDB.12.0;" & _ "Extended Properties='Excel 12.0 Xml; HDR=Yes';" & _ "Data Source= " & strPath & "\作业人员职业病.xlsx" j=j+1

语句中HDR=yes,表示Excel表中第一行是列名而不是真正的数据。 4. 创建一个ADODB.Recordset对象来访问数据。

Dim rs As New ADODB.Recordset Dim strSQL As String strSQL = "select * from [上岗和离岗$] where 年龄>=35" rs.Open strSQL, conn, adOpenKeyset, adLockOptimistic

注意:Excel工作表名后一定要后缀$符号。上述语句将获取工作表中所有年龄大于等于35岁的人员的数据。 5. 通过循环遍历Recordset对象,读取目标数据插入到数据库的指定表中。

rs.MoveFirst If conn.State = adStateOpen Then For i = 1 To rs.RecordCount strInsertSQL = "insert into 体检登记表_大龄 (姓名, 性别, 身份证号, 年龄, 部门, 岗位, 体检日期) " & _ "values ('" & rs(1) & "', '" & rs(2) & "', '" & rs(3) & "', '" & rs(4) & "', '" & rs(6) & "', '" & rs(7) & "', #2022-07-28#)" DoCmd.SetWarnings False DoCmd.RunSQL strInsertSQL DoCmd.SetWarnings True If i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有