我在Word中有一个VBA过程,用于检查Access数据库中是否存在QueryDef。它一直工作得很好,直到几天前,它开始崩溃Word。 问题似乎出在这一行:For Each qdf In db.QueryDefs。这是Word挂起然后崩溃的那一行。我不认为这是我的代码,因为我在一个新的Word文档中创建了一个非常基本的测试过程,它只是一个没有任何内容的循环(见下文),并创建了一个新的Access数据库,但它仍然崩溃。 当我获得锁定的数据库文件时,成功地建立了到数据库的连接。并且此代码将成功执行并打印到即时窗口:Debug.Print db.QueryDefs.Count 我还用Excel中
我正在开发一个Access数据库,它使用Access数据库中VBA代码调用的邮件合并生成一些邮件。问题是,如果我打开一个新的Word文档并启动邮件合并(VBA),Word将打开相同的Access数据库(该数据库已经打开)来获取数据。有什么办法可以防止这种情况发生吗?以便使用已经打开的数据库实例?
经过一些测试,我得到了一个奇怪的行为:如果我打开持有SHIFT键的Access数据库,则邮件合并不会打开同一个数据库的其他访问实例。如果我打开Access数据库而不保存密钥,就会得到所描述的行为。
我的邮件合并了VBA代码:
On Error GoTo ErrorHandler
Dim wo
试图拼凑一个由以前的员工编写的旧数据库,但当在excel中运行Macro以链接回access数据库时,我得到了运行时错误2501,代码如下所示。有人知道吗?
Public Sub Auto_Open()
If ActiveWorkbook.ReadOnly Then Exit Sub
Set accApp = CreateObject("Access.Application")
accApp.Visible = False
accApp.OpenCurrentDatabase ("i:\database reporting\main.md
这是用于从ms-access-数据库导出查询的C#代码:
var appClass = new ApplicationClass();
appClass.Visible = false;
appClass.UserControl = false;
appClass.OpenCurrentDatabase(@"C:\RadLokal\trunk\Test\Access\Test.accdb", false, "");
var db = appClass.CurrentDb();
var queryDefs = db.QueryDefs;
for (int i =
我写了一段VBA代码,它循环访问一系列access数据库查询,并将它们复制到一个excel工作簿中。代码运行良好,但我想不出如何在复制到excel工作簿时将标题包含到数据中。
Sub AccessQuerie()
Dim A As Object
Application.DisplayAlerts = False
Set A = CreateObject("Access.Application")
Dim wkb As Excel.Workbook
Dim wks As Excel.Worksheet
Dim sheetNum
我对使用Access非常陌生,并且在编写VBA代码时遇到了问题,这些代码可以做到以下几点:
Private Sub YesNoShowHide ()
If DateTested_checkbox = 'yes'
Then show 'DateTested' column in 'search query' query
Else DateTested_checkbox = 'no'
Then hide 'DateTested' colu
我使用PT查询从SQL Server 2008R2获取数据。带有ODBC连接字符串的查询存储在MS Access客户端中,并从这个函数中获取变量SQL-string,这个函数是我很久以前在web上找到的:
'If QueryName is not provided or is an empty string ( = "" ) no query object will be created but the SQL statement or stored procedure will be executed (useful for DELETE, INSERT, UPDAT
我接管了一个由别人创建的Access数据库,我几乎没有任何Access经验。当我尝试运行导入xml文件的代码时,我得到了一个Run-time error '3265': Item not found in this collection.错误。当我调试时,以下代码的第4行以黄色突出显示。你能提供一些提示,说明通常是什么原因造成的吗?这个过程每天运行一个新的持有量文件,所以我们删除了前一天的Analytics表并创建了一个新表。提前谢谢。
'import holdings file
DoCmd.DeleteObject acTable, "ANALYTICS
我是VBA的新手,如果这个问题不符合标准,我很抱歉。
我正在尝试运行Access查询并将结果复制到Excel工作表中。
到目前为止,我已经成功地打开了Access DB并运行了查询,但是我找不到任何关于如何将结果复制到excel中的信息,至少我无法找到一个可行的解决方案。
有人能指点我朝正确的方向走吗?
谢谢。
到目前为止,我提出了以下代码。
Sub AccessTest1()
Dim A As Object
Application.DisplayAlerts = False
Set A = CreateObject("Access.Application
我刚刚遇到了两个问题。首先,我似乎不能在Access中从Excel运行Make Table查询。我收到一条错误消息,显示“表风险评级已存在”。必须有一种从Excel运行Make table查询的方法。而且,更重要的是,我的代码看起来非常不稳定。如果我一遍又一遍地敲击F8来运行它,一切都会正常工作。如果我通过按钮单击事件来运行它,我会得到以下错误:“远程服务器机器不存在或不可用”。Excel似乎正在失去与Access的通信。这只是个猜测。这个东西在我的桌面上,所以我不认为这台远程机器是不可用的。
这是我的代码。
Sub RunQueriesInAccess()
Dim AC As Access
我正在尝试从access DB查询获取信息到带有Update按钮的excel电子表格。我已经找到了一些应该可以工作的代码,但当我运行它时,它会说“运行错误'3061‘。给出的参数太少,至少有一个预期的参数”。
以下是守则:
Sub Rektangelmedrundadehörn1_Klicka()
Sheets("Blad1").Range("A2:B500").ClearContents
Set DB1 = DBEngine.OpenDatabase("Path to my DB")
Set QD1 = DB1.Q
Access保存了一个使用名为“myQuery”的查询生成器设计的查询。数据库通过ODBC连接连接到系统。宏都已启用。
Excel已通过以下方式连接到数据库
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
With con
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Open "MyDatabase.accdb"
End With
通常,您会继续编写您的SQL,这很好,然后只执行以下操作
Dim sql
在访问Excel时,我有一个从查询导出表的子。在Access中,我有一个运行查询并允许用户根据需要更新查询的表单。例如,如果我使用set参数运行子程序(不使用表单),那么“奥地利”的子程序工作得很好。但是,当我使用该表单,并在“奥地利”中写时,我会得到区域信息:
3601参数太少。预期1。
问题似乎与拥有((游戏Categories.Lottery)=Forms) (如果被奥地利取代,潜艇工作良好)
Sub Mysub()
Dim objexcel As Excel.Application
Dim wbexcel As Excel.Workbook
Dim wbExists As Bo
我在Excel中有一个Access DataBase和一个表单。我输入到DB的所有数据都是通过VBA表单输入的。
这个数据库包含了我们今年在公司已经收到的所有福利卡。但是同一个员工可以要求两次或更多次的卡片,所以我们会为他在DB上有不止一个记录。
我需要的是当记录数大于一个时,SQL语句的结果应该出现在Excel报表中。
我使用SELECT (*) COUNT语句来知道何时有多条与搜索标准兼容的记录。但我无法将结果显示在Excel文件中。
这是我的代码:
Public Function Relatorio()
Dim sql As String
Dim cn As ADODB
当我试图从Access导入一个查询到Excel时,我遇到了一些问题。
几天前,我编写了一个代码(在Google的帮助下),将一个表从Access导入到Excel:
Sub importQuery(DBFullName As String, data_sht As Worksheet)
Dim cn As Object, rs As Object
Dim i As Integer
Dim TargetRange As Range
Dim rows As Long, cols As Long
Dim dataEmpty As Boolea
我有一个Excel文件,可以在带有本地表的MS Access数据库上执行SQL查询,工作正常。现在我必须让这个数据库在网络上工作,我们只有SharePoint。我发现了SharePoint列表,所以我将表导出到这些列表中,现在我有了一个包含链接表的Access数据库。
问题是我不能像以前那样在这个数据库上使用来自Excel的查询。有可能吗?因为我可以在Access中执行这些查询,并且它可以工作,所以我不明白为什么它不能在Excel中执行。下面是我的函数:
Sub test()
Dim cn As Object
Dim rs As Object
Dim strSql As