Tag: ms access

编写Excel VBA从Access接收数据

我正在写一个从Access数据库工作的Excel应用程序。 当用户打开Excel工具时,数据表需要从我创build的Access数据库中填充其中一个工作表。 我一直在Excel中编写VBA代码,并且收到运行时错误:“429”ActiveX组件无法创build对象。 其他的问题都是从Access编写的,但我相信我需要从Excel工作簿文件中编写的代码。 我写的代码在Workbook_Open()函数中,以便在用户打开文件时正确收集数据。 非常感谢您的帮助。 顺便说一下,我正在使用Access 2007和Excel 2010。 Private Sub Workbook_Open() 'Will fill the first listbox with data from the Access database Dim DBFullName As String Dim TableName As String Dim FieldName As String Dim TargetRande As String DBFullName = "D:\Tool_Database\Tool_Database.mdb" Dim db As DAO.Database, rs As Recordset Dim intColIndex As Integer Set TargetRange […]

如何使用VBA从MS-Excel(2010)查询MS-Access表

我想在Excel中编写一些VBA代码来查询Access中的表。 我已经尝试了多个代码示例,如添加的链接,他们似乎都在“打开连接”部分失败。 我曾尝试使用不同的引用,但我不知道我应该使用什么,不同版本(即Microsoft ActiveX数据对象2.0,2.1,…,6.0)之间的区别是什么或提供者信息应该。 对于提供商的信息,我通常看到一些沿线的东西 “Provider = Microsoft.Jet.OLEDB.4.0; Data Source =” 但是我不确定这是否是我需要使用的,或者上面显示的提供程序string中的什么/什么条件应该改变。 有人可以教育我如何正确地做这种事情? 注意:如果可能的话,我希望有一个解决scheme可以在无需下载任何其他应用程序的情况下工作,并且可以同时用于Access和Excel 2007和2010版本,因为这需要在具有可能不同版本的办公室的不同计算机上运行。 链接到类似的问题: Excel VBA查询访问失败 http://www.mrexcel.com/forum/showthread.php?t=527490 码: Sub asdf() strFile = "C:\Users\bwall\Desktop\Excel Query Access Testing" Dim cn As Object Dim rs As Object Dim strSql As String Dim strConnection As String Dim AppPath As String Set cn = CreateObject("ADODB.Connection") AppPath = Application.ActiveWorkbook.Path […]

如何围绕MS Access,VBA

什么是在VBA访问中最好的方法? 我目前的方法利用Excel方法 Excel.WorksheetFunction.Round(… 但是我正在寻找一种不依赖于Excel的方法。

ADO和DAO之间的区别

这不是一个关于哪个更好的问题,而是关于他们为什么在function上有所不同的问题。 我遇到的问题已经得到处理,但我很好奇为什么这种行为正在发生。 背景 – 使用Excel vba从Access数据库中提取数据。 当用户点击一个button时,一个logging集从Access中被取出,并将各种数据填充到电子表格中。 然后,从另一个查询中提取另一个logging集以填充电子表格的另一部分。 ADO做了什么 – ADO非常适合我的第一个logging集。 但是,我的第二个logging集在Access中查询,运行,并不返回任何行。 如果我在Access中运行这个查询,它会打开(大约3到4秒之后)。 这个查询有多个连接,计算项目,限制和可能的联盟查询(我尝试了很多不同的方式,有/没有联盟等)。 我试着closures并重新打开ado连接。 我试着改变超时值,我甚至使用ADO命令testing了对这个数据的表查询,然后从表中取出(这个工作的方式,但不是最好的情况,因为数据不断变化,而且我不希望每次有人使用此工具时都要运行make table查询)。 所以,我把第二个数据拉到DAO了,看哪,它的工作。 第一个数据是ADO(我通常更喜欢使用),但是现在考虑将其改为DAO,因为我宁愿在代码中使用一种数据访问方法。 那么,有人可以向我解释为什么ADO不会在一个情况下拉取数据,但DAO会? 再一次,这纯粹是为了信息的目的。

通过VBA将MS Access表导出到同一目录中的Excel电子表格

我有我的访问数据库中的两个表,我想能够出口到Excel 。 我可以通过打开表格然后执行文件 – >导出…然后select格式并input文件名来完成。 但是,这样用户实际上必须input名称,以便有可能误导文件或将其保存为错误的格式或错误的位置。 此外,这两个表必须导出到两个单独的工作簿。 我想要做的是在窗体上自动导出一个表到一个工作表和另一个工作表 ,在同一个Excel工作簿中的button 。 如果把它们放在同一个工作簿中是不可能的,那很好。 我只是希望他们自动导出到我的访问数据库保存在同一目录。 如果你知道怎么做,一个额外的津贴可能是定制名称以包含date。 这样该目录也会有历史出口。 有什么build议?

使用Excel作为Access数据库的前端(使用VBA)

我正在为朋友构build一个小应用程序,他们希望能够使用Excel作为前端。 (UI基本上是Excel中的用户表单)。 他们有一堆Excel中的数据,他们希望能够查询,但我不想用Excel作为数据库,因为我不认为它适合于这个目的,并且正在考虑使用Access。 [顺便说一句,我知道Access有它的缺点,但在朋友的PC上已经有可用的零预算和Access] 总之,我正在考虑将一堆数据转储到Access中,然后使用Excel作为前端查询数据库并在用户窗体样式环境中显示结果。 问题: 使用ADO / DAO从Excel中链接到Access是多么容易? 在function方面是相当有限的,还是我可以创造性? 我是否支付性能损失(使用Access中的表单作为UI)? 假设数据库将始终使用Excel VBA中的ADO / DAO命令进行更新,这是否意味着我可以让多个Excel用户使用该单个Access数据库,而不会遇到任何并发问题等。 还有什么我应该知道的? 我有强大的Excel VBA技能,并认为我可以很快克服Access VBA,但从来没有真正完成Excel / Access链接。 我可以将数据放到Excel中,并用作准数据库,但这似乎比它更值得痛苦(而不是一个强有力的长期解决scheme) 任何意见赞赏。 亚历克斯

错误:“找不到可安装的ISAM”

我已经在Excel工作簿中编写了一些VBA代码,以便从桌面上同一目录中的Access数据库中检索数据。 它可以在我的机器和其他运行Windows XP的机器上正常工作,但是当我们在Vista机器上testing时,我们遇到了以下错误: 找不到可安装的ISAM 我在网上做了一堆search,但似乎无法find具体的答案。 连接string似乎很好,正如我所提到的,它可以在多台机器上运行。 有没有人有任何想法可能造成这种情况? 我的连接string如下所示: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\ptdb\Program Tracking Database.mdb; 谢谢