乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em>中如何直接<em>调用access</em>

<em>excel</em>中如何直接<em>调用access</em>

作者:乔山办公网日期:

返回目录:excel表格制作


我试了一下,你这段程序里面这几个地方提示错误:1. FileSelect = varSelectedFile里面的fileselect没有定义。2. Dim inttype As Integer, 可以将inttype定义为variant 或Office.FileDialog。 3. 在 inttype = Application.FileDialog(msoFileDialogFilePicker)前面加上set, 变成 set inttype = Application.FileDialog(msoFileDialogFilePicker). 出现“没定义”时,把那个库勾上就可以了。这样做就会出来对话框了。

实现你的要求有编程和非编程两种办法

先说编程的方法:

可以在数据库端编写程序,每当ACCESS数据库表发生变化时同时将变更写入EXCEL文档中;也可在电子表格端用EXCEL工作表显示来自ACCESS数据库某张表的内容,并用VBA编写代码每隔一段时间自动刷新其数据源。编程的方法说起来简单但是实施起来涉及的技术细节很多、工作量不小,尤其是数据库端编程更是如此,挺费事的,就不提供具体程序了。

再说非编程方法,以你的程度来看这种方法也许7a686964616fe4b893e5b19e364更加适合:

打开EXCEL文档选择其中一个工作表,点击 数据——导入外部数据——新建数据库查询 打开 选择数据源对话框 在数据库选项卡选择“MS Access Database*”点击确定按钮 打开选择数据库对话框 选择要连接的ACCESS数据库文件所在的驱动器、文件夹和数据库文件名 点击确定按钮 打开 查询向导 - 选择列 对话框 双击 左边“可用的表和列” 中的某张表 点击 “>”按钮将需要输出的字段送到右边“查询结果中的列”之中,连续点击“下一步”直到“完成”按钮 出现 选择 “将数据返回Microsoft Office Excel”点击“完成”按钮 打开 导入数据对话框 选择 “现有工作表”点击“确定”按钮后 系统会将ACCESS表中的数据导入到EXCEL工作表中。

数据导入工作表后,如要反映ACCESS数据表的最新变动情况,请右击其中一个有数据的单元在弹出菜单中选择点击“刷新数据”即可。

你还可以随时调整“数据区域属性”以便实现“自动刷新数据”等功能,办法如下:

右击其中一个有数据的单元在弹出菜单中选择点击“数据区域属性”打开 外部数据区域属性 对话框 设置适合自己要求的属性后 点击“确定”按钮即可

涉及的图片较多,这里只给出“数据区域属性”对话框截图供参考 

2.使用非编程方法虽然可以自动刷新跟进数据库的变动情况,但是其刷新频率最短只能设定为1分钟,如果需要将刷新频率缩短至秒级则需要编写VBA程序。下面是相关VBA代码:

首先导入数据库表的方法请参照上列手动非编程方法之说明

导入数据后请右击其中一个有数据的单元格,在弹出菜单中选择点击“数据区域属性”打开 外部数据区域属性 对话框(见附图) 修改外部数据区域的各个属性如下,然后点击确定

名称:QuertTbl

允许后台刷新复选框:不勾选

刷新频率复选框:不勾选

打开工作簿时,自动刷新复选框:勾选

第二步 编写VBA程序

1)使用快捷键Alt+F11 打开VBE(Visual Basic Editor)编辑器

2)单击菜单 插入——模块,打开模块代码窗口

3)在右边代码窗口输入以下代码:

'这段代码执行刷新数据源动作

Sub AutoRefresh()

    Sheets("sheet1").QueryTables("QueryTbl").Refresh

    Call AUTO_OPEN

End Sub

'这段代码设定刷新频率为10秒。注意刷新频率越高系统开销越大在数据量较大时更要注意这个问题,请尽量设定较长的刷新时间间隔。

Sub AUTO_OPEN()

    Application.OnTime Now + TimeValue("00:00:10"), "AutoRefresh"   

End Sub

4)在左边对象窗口,双击Microsoft Excel对象下的 Sheet1(Sheet1),在右边代码窗口输入以下代码:

'这段代码,令每次从其他工作表转到工作表1时刷新数据源

Private Sub Worksheet_Activate()

    Sheets("sheet1").QueryTables("QueryTbl").Refresh   

End Sub

第三步退出VBE编辑器,关闭工作簿,记得保存修改。

重新打开工作簿后,系统会提示安全警告,请点击“启用宏按钮”,跟着系统会提示查询刷新,请点击“启用自动刷新”按钮。之后工作簿就会每5秒自动刷新数据源,当你从其他工作表跳回工作表1时,即使未到刷新时间系统也会立即刷新数据。

附:用代码创建新的工作表并写入值的函数使用方法。

Dim xlapp As Excel.Application

    Dim xlbook As Excel.Workbook

    Dim xlsheet As Excel.Worksheet

    Set xlapp = CreateObject("excel.application")

    Set xlbook = xlapp.Workbooks.Add

    xlbook.Saveas "c:\aaa.xls"'你要保存的文件路径

    xlapp.Visible = True '设置EXCEL对象可见(或不可见)

    Set xlsheet = xlbook.Worksheets(1) '设置活动工作表

    xlsheet.Cells(1, 1) = "aa" '给单元格(row,col)赋值

    xlsheet.Cells(1, 2) = "bb"

    xlbook.Close (True) '关闭工作簿

    xlapp.Quit '结束EXCEL对象

    Set xlapp = Nothing '释放xlApp对象


vba调用Access的查询,并显示查询结果的方法如下:

用DAO,可以在VBA添加DAO组件。
然后,定义参数,写好相应的代码就可以了。
具体代码如下:

'Database Connection
Dim cn As Workspace
Dim db As Database
Dim Rs As Recordset
Dim YOURPWD$, strSQL$, sContent$

'设置数e68a847a64361据库
Set cn = DBEngine.Workspaces(0)
Set db = cn.OpenDatabase(sDbPath, False, False, ";pwd=" & YOURPWD)

'打开数据库
strSQL = "Select * From YourTable"
Set Rs = db.OpenRecordset(strSQL, , dbReadOnly)

'取出一个不为NULL的字符串字段值
sContent = trim$(Rs!Item1)

--------------------------------------------------------------
'使用前提在VB中加入VB组件

Dim xlsApp As Object, xlsBook As Object, xlsSheet As Object

Dim Row&, Col&

On Error GoTo ExcelInport_Err

'创建应用Excel程序

Set xlsApp = CreateObject("Excel.Application")

'Excel WorkBook 的添加

Set xlsBook = xlsApp.Workbooks.Add

’取得活动的Excel Sheet

Set xlsSheet = xlsBook.ActiveSheet

'Excel Sheet的标题

xlsSheet.Name = "Your Sheet Name"

'Excel Sheet 内容的填充

With xlsSheet

Row = 1
'行

Col = 1
'列

.Cells(Row, Col).Value = "Your Fill Content"

End With

‘Excel

xlsApp.Visible = True

Set xlsSheet = Nothing

Set xlsBook = Nothing

Set xlsApp = Nothing

Exit Sub

ExcelInport_Err:

'关闭时没有消息框

xlsApp.DisplayAlerts = False

xlsApp.Quit

Set xlsApp = Nothing

首先需要申明Access对象,在直接调用就可以了。不过Access专用函数无法调用。

相关阅读

  • <em>vba</em> <em>word</em> 调用 excel-

  • 乔山办公网excel表格制作
  • 当然可以,比如你百用word VBE,先在引用里面勾度选excel 15.0,然后版使用下列语权句声明就行了dim xlapp as excel.applicationdim xlbook as excel.workbookdim xlsheet as excel.worksheetword vba
关键词不能为空
极力推荐
  • <em>Excel</em> <em>2003</em> 如何设置<

  • 具体步骤如下所示:1、打开电脑,进入电脑主页面来,点击进入Excel,导入要更改的图表。2、点击图标,就会出现以下画自面,点击字体小一些的“坐标轴选项”,在出现的页面中选择

ppt怎么做_excel表格制作_office365_word文档_365办公网