在Excel2007中运行VBA代码时出现自动化错误。我正在尝试连接到远程SQL Server数据库,并将数据从Excel加载到SQL Server。
我得到的错误是,
“运行时错误'-2147217843(80040e4d)':自动化错误”。
我查看了MSDN站点,它建议这可能是由于与sqloledb提供程序相关的bug造成的,缓解此问题的一种方法是使用ODBC。我更改了连接字符串以反映ODBC提供程序和相关参数,但仍然收到相同的错误。
下面是使用ODBC作为提供程序的代码:
Dim cnt As ADODB.Connection
Dim rst As ADODB.Recor
我无法使用VBA连接到数据库: Sub testSub()
Dim cn As Object
Dim cnStr As String
cnStr = "DRIVER=SQL Server;SERVER=myServerName;Database=myDbName;Trusted_Connection=Yes"
Set cn = CreateObject("ADODB.Connection")
With cn
.ConnectionString = cnStr
.ConnectionTime
我尝试在excel2013中运行一段VBA代码,以便从我们的intranet站点访问一些数据,但我得到了一个运行时错误2147467259 (80004005) -自动化错误未指明错误。
Sub AccessWar()
Dim oIE As InternetExplorer
Dim oHTML As HTMLDocument
Set oIE = New InternetExplorer
oIE.Navigate ("http://iscls3apps/WAR40/aspx/WAR40AllReports.aspx")
oHTML = o
我是PL/SQL开发的新手,基本上我在excel表中有200个用户,我们使用的是SQL developer 3.0。我需要从4个表中删除所有200个用户。
因此,首先我有excel工作表(其中提到了所有的login_ids ),其次我想创建运行所有查询的PL/SQL代码。
示例:
Declare
{
Begin
delete from users (table) where id=(excel sheet login_id)
delete from hierarchy(table) where id=(excel sheet login_id)
我有一个COM自动化服务器,由VB6 exe托管。
COM API来自Excel 。
Dim o as MyCOMAPI.MyCOMType
Set o = new MyCOMAPI.MyCOMType
o.DoSomething
当我在VBA中创建对象时,会启动exe和COM自动化,并且VBA可以使用API。
但是exe被Excel快速地“随机”关闭,我猜当Excel决定不再需要COM时。
这种行为造成了随机错误。
简单的解决方案是在运行VBA代码之前启动exe;在这种情况下,所有的执行程序都正常工作,因为在用户关闭之前,exe不会停止运行。
您有一些关于Excel如何管理对托管API的调用
我在这个错误上花了几个小时,但在我的大脑或互联网上找不到任何相关的解决方案。
我已经在Excel 2010中编写了几个VBA宏,它们连接到我计算机上的SQL Server 2008数据库并获取一些信息。我用了几个星期,它们工作得很好。
2天前,我在一台新电脑上安装了SQL Server 2008和Excel 2010,并尝试导入我的数据库和VBA宏。
这就是问题所在:当我尝试使用宏时,excel停止响应,然后当我强制关闭时,系统崩溃并导致灾难性的失败。因此,我创建了一个新的空数据库(名为PR_db),创建了一个新的excel文件,并尝试使用以下代码与数据库建立一个简单的连接:
Public C
我有10个Excel文件,它们通过OLEDB连接到Server,我需要每天手动地刷新它们。当我刷新它们时,我需要插入密码。我试图创建一个宏来实现这个过程的自动化,但是我没有成功。我执行此功能是为了自动化我的一本工作簿:
Sub updateABC()
Workbooks("Teste").Connections("SQL Server_Azure1").OLEDBConnection.Refresh
End Sub
Excel请求Server登录的密码。有什么方法可以使用vba自动输入这个密码吗?
谢谢。
我已经创建了一个用于连接和操作SQL数据库的excel前端接口。我最近收到了一台笔记本电脑,并希望能够在该笔记本电脑上操作excel的数据。我使用SQL Server Management Studios建立了到数据库的连接。 ? 我已经尝试更新我的excel文件;但是,VBA代码无法连接到SQL数据库。我已经更改了一些变量,并设置了集成安全性,但到目前为止都没有起作用。错误消息读数可在此处查看: ? 以下是与DB连接相关的代码: Dim cnSQL As ADODB.Connection
Set cnSQL = New ADODB.Connection
cnSQL.Open "
我必须使用Excel VBA从Excel2007更新一个相当大的Access 2007表(18个字段)。问题是,行中的许多字段可能没有值,并且创建一个算法来更改SQL语句将是巨大的,即为每一行确定哪些字段必须包含在UPDATE语句中,等等。所以我的问题是,是否可以处理空的Excel单元格以将其包含在SQL update语句中?另外,access数据库中的一些目标字段是日期字段和数字,那么我如何处理这些字段呢?
我尝试检查单元格是否为空,并将其赋值为null或空值,如;
variablename = Null or Empty or "" or 0 if an integer
例
当多个用户尝试使用DAO更新共享MS-Access数据库中的同一个表时,Excel崩溃,VBA出现错误3218“无法更新”记录锁定错误。
我有一个特殊的配置,像这样:一个MS-Access数据库位于共享网络文件夹中,多个用户使用建立在Excel文件上的VBA DAO进行连接以更新该数据库。每个Excel文件中的VBA代码都是相同的。当有两个用户同时单击更新按钮时,问题就会发生。用户Excel文件挂起,或显示错误3218“无法更新”。
Sub ExportToAccess()
Dim oSelect As Range, i As Long, j As Integer, sPath As
我在MySQL很新,所以请容忍我.
我有一个excel表,它查询MySQL database...here是查询的一部分(从VBA宏运行):
...
sql_query = "SELECT SQL_CACHE g.Id, g.Client, g.text_parsing FROM `global`.`tbl_cots` AS g WHERE g.Client LIKE '" & strClient & "%' GROUP BY g.Id;"
With rsPubs
.ActiveConnection =
我想要一种将数据库中每个表的前5行从SQL导出到excel电子表格的方法。所需的输出将是一个excel电子表格,其中每个选项卡将是一个与数据库不同的表,包含前5条记录(也是识别哪些选项卡包含哪些表的方法)。
在过去,我使用以下方法对较小的数据库执行此操作(但我正在尝试删除手动过程,因为我需要在几个大型数据库上这样做):
USE Database_Name
GO
SELECT *
FROM sys.Tables
GO
我使用此查询获取数据库中表名的列表,然后运行以下代码以获取同一数据库中这些表的前5行:
DECLARE @sql VARCHAR(MAX)='';
SELECT
我有一个Excel/VBA电子表格,通过ADODB连接到Oracle数据库。连接工作正常,普通查询运行良好。但我试图变得有点聪明,避免使用with as子句运行多个select语句。这个链接基本上解释了我想要做的事情:
当我的SQL在没有Excel的情况下直接运行时,它可以正常工作。然而,Excel/VBA在With As子句上有问题,并抛出一个“运行时错误'3704';应用程序定义的或对象定义的”错误。这是我的SQL和代码的简化版本:
SQL
with ORDERED as (select
start_value, country
from
MYTABLE
where co
我试图使用VBA查询电子表格,但遇到了65536行的硬限制(尽管我运行的是Excel2013)。
当尝试选择行数大于65536的所有行时,我会收到以下错误消息:
运行时错误'-2147217865 (80040e37)':
微软Access数据库引擎找不到对象‘Sheet1 1$A1:A 65537’.
我的代码:
Option Explicit
Sub ExcelQuery()
Dim conXLS As ADODB.Connection
Dim rsXLS As ADODB.Recordset
Dim strPath As String
Dim strSQL A
我正在尝试使用VBA/Excel在数据库服务器(Oracle 10g)上运行查询,并在excel表中显示结果。我已经创建了ODBC连接(只读)并测试了该连接。如果我将数据作为数据源导入到excel中(我也能够过滤查询),我可以正常工作,但是我的VBA代码给出了错误3001。
Sub Test()
Dim cnn As ADODB.Connection
Dim canConnect As Boolean
Dim rs As Recordset
Dim strSQL As String
Set cnn = New ADODB.Connection
cnn.Open "DSN=blah;
我在access中开发了一个新的数据库,使很多手工输入Excel的工作自动化。现在,我已经达到了Excel可以用图形表示和分发数据比访问数据更容易的地步。
我想把一个按钮放在一个窗体上,当按下它时,它将从Access中获取数据,并填写一个现有的“模板”Excell表,其中包含从一组单元格中提取的所有公式和图形。Access中的数据(可以在VBA中生成sql查询/记录集)只是一些合计、平均值和YTD计算,需要放入现有excel工作表中的特定单元格集合中,并另存为另一个单元格(以避免覆盖模板)。它只有13 x 5个单元格的新数据。
这个是可能的吗?