Tag: access vba

空白访问实例在返回logging集后仍然存在

我正在使用Excel打开一个访问实例并返回一个logging集。 不知道为什么,但在代码执行Access的空白实例后打开。 如果不打开任务pipe理器,我甚至无法closures它。 实际的方法比这个稍微复杂一些,但为了简单起见,这里是我在Excel中的代码: Private Function t() Dim ac As Access.Application Set ac = New Access.Application Dim rs As DAO.recordSet ac.OpenCurrentDatabase (dataLocation) Set rs = ac.Run("Test2") If Not rs Is Nothing Then Call writeRecordSet(rs, sht, 1, 1) End If rs.Close Set rs = Nothing ac.CloseCurrentDatabase ac.Quit Set ac = Nothing End Function 访问代码: Public Function […]

每次将导出访问查询导出到同一张表

我有一个“Excel二进制工作簿”与命名表和一个MS ACCESS与查询命名相同的工作簿表。 例如,我有一个像“CustomersData”的工作表,并有一个名称相同的查询。 我的问题是,当我运行这个代码,它将查询数据导出到“CustomersData1”而不是“CustomersData” DoCmd.TransferSpreadsheet acExport, 9, xQuery, strFilePath, True, xSheet 我正要写function在导出数据之前首先删除纸张,但是我在同一工作簿中有另一张纸张引用了这些纸张。 我的代码: Public Function Export_To_Excel() On Error GoTo Export_To_Excel_Err Dim rs As DAO.Recordset Dim xQuery As String Dim strPath As String Dim i As Long Set rs = CurrentDb.OpenRecordset("SELECT * FROM Export_Specs") strPath = "D:\Path\To\File.xlsb" i = 0 If Not (rs.EOF And rs.BOF) Then […]

Excel不会导入包含VBA调用的Access查询

Access和Excel 2013 试图在Excel中使用Access基础作为数据源时,似乎查询调用VBA函数,但Excel没有看到它。 此查询在Excel中显示: SELECT "StaticValue" AS static_value; 这一个不: SELECT my_function() AS value_from_vba; 包含my_function的模块的代码是: Option Compare Database Function my_function() As String my_function = "ValueFromVBA" End Function 如何在Access查询中调用VBA函数并将此查询链接到Excel?

访问子运行一次然后错误'91':对象variables未设置

提前感谢您的帮助, 我有一个Access数据库,其中包含以下代码。 它被设置为打开一个定义的Excel文件,find最后一行,并添加1到下一行的行中的值,保存等…这是第一次,如果你再次运行它,我得到“错误'91':对象variables或块variables未设置“。 但是,如果我按下VBA窗口中的停止button(重置)或错误消息的结束button,然后再次运行它的工作。 我尝试了很多东西,而且我很茫然。 有什么build议么? Private Sub quoteNew1_Click() Dim app As New Excel.Application app.Visible = True Dim book As Excel.Workbook Set book = app.Workbooks.Add("C:\Desktop\Test_Quotes.xlsx") nextEmptyRow 'find last row and add new value to next row colum a book.Close savechanges:=True app.Quit Set app = Nothing End Sub Sub nextEmptyRow() Dim emptyRow As Long emptyRow = […]

VBA Excel ADODB预先载入现金数据集以更快速地查询一个大的Access数据集500000行

下午好,我有一个问题:Excel的速度从Access外部数据库中检索数据(47秒 – >我想达到3秒)Excel 2010 Access 2000 在打开的事件代码我打开我运行这个macros: 'I define connection and dataset as public Public conn As ADODB.Connection Public mrs As ADODB.Recordset Public cmd As ADODB.Command Public DBPath As String Public strConn As String Public strSQL As String Public Sub preloadDataset() Set conn = New ADODB.Connection Set mrs = New ADODB.Recordset DBPath = ThisWorkbook.Path & […]

Excel – 在列A中search单词。在行中find匹配项时,报告列B中的单词,然后在列A中search任何报告的单词

我想知道如何在列A中search一个string,报告列B中find的相应的string,然后再次search列A中的那些报告的string等。重复直到不再有匹配find。 我正在尝试创build一个用户友好的工作表或macrosinput框,它将search2300行的Excel工作表并生成报告。 我希望用户能够select将被search的“string”(我将使用下拉菜单执行此操作)。 表格/程序将然后: 在列A中search与所选string相匹配的所有匹配项; 报告在列B中find的相应的string(同一行作为匹配); 在列B中find所有报告的string,再次search列A; 重复步骤2)和3)直到找不到更多匹配。 目前在列A和列B上使用简单的filter。用户首先在列A中select他们希望过滤的string。然后他们必须手动确定列B中是否存在列A中的任何结果,如果是,则添加他们到列A的过滤标准。在某些情况下,这可能需要此过程的多次迭代,并可能变得相当耗时。 我的目标是消除用户需要手动完成这些迭代的需要。 这里是我正在看的一个简化的版本(实际的名字是更复杂的)。 Equipment Contents Box 1 Box 2 Box 1 Box 3 Box 1 Box 4 Box 1 Tool 1 Box 1 Tool 2 Box 1 Tool 3 Box 2 Box 5 Box 2 Tool 4 Box 2 Tool 5 Box 3 Box 6 Box 3 […]

创build列表框

我正尝试使用VBA从Access创buildExcel报表。 所以每当用户点击一个Access窗体中的一个button,就应该生成一个Excel文件。 我需要在文件中有ListBox。 我宣布列表框添加项目,但有问题,分配给特定的单元格: Dim lst As ListBox With lst .AddItem "1" .AddItem "2" End With 现在我想在单元格(7,1)中显示列表框。 我该怎么做?

通过ACCESS VBA控制Excel和TXT文件

我试图打开一个EXCEL文件,编辑它,然后通过ACCESS VBA保存为一个.txt文件。 这是我目前的代码: Set xls = New Excel.Application Set xlbook = xls.Workbooks.Open(xlpath, ReadOnly:=True) Set xlsheet = xlbook.Sheets("Extract") xlsheet.Rows(1).EntireRow.Delete xlsheet.Range("A1:" & xlsheet.Range("A1").End(xlDown).Address).Sort xlsheet.Range("A1"), xlAscending xlbook.SaveAs OutputDir & dARR(i) & ".txt", xlText Close xlbook xls.Workbooks(1).Close 我遇到的问题是我无法closures.txt或Excel文件。 代码的底部两行出错。

Access中的“用户”选项为Excel源数据select唯一的文件path

我正在从2011年由@MattHall创build的一个很好的解决scheme中工作,我也分享了一个关于从Excel导入dynamic范围到Access的问题。 具体到这一点 – 虽然一般为未来的VBA的 – 我的问题是,是否有一个额外的方式来指向Excel源文件,如果它被移动,而不必每次都进入VBA编辑器? 对于我的特定需求,我正在尝试通过共享BOX为其他人处理这些Access和Excel文件,这些文件夹具有不同的文件path供任何人使用。 用户1可能是:C:\ Users \ USER1 \ Box Sync \ filename.xlsx 用户2可能是:C:\ Users \ USER2 \ Box Sync \ filename.xlsx …等任何其他用户。 我很好奇,当USER1创build和使用的VBA中使用的文件path不能被USER2访问时,我们怎么能解决这个问题呢? 是否有一些代码允许每个用户每次通过自己的文件path定位文件? 这将是一个痛苦,但我也不知道一个更好的select,因为我们不是一个共享服务器的工作,这不幸的是限制在目前的框共享。 编辑:如果任何人也可以build议如何将其build议集成到链接的Stackoverflow @MattHall解决scheme中的“dynamic范围”代码,这将特别有助于我的要求。

访问Excel公式

CountFormula = "=COUNTIFS('Resource Forecast by Month'!A3:A13,Analysis!A" & Val(strRow) & ",'Resource Forecast by Month'!B3:B13," & strCol & "2,'Resource Forecast by Month'!C3:C13,D1)" 我正在使用MS Access将此公式写入电子表格中的一系列单元格。 我正在改变列的值和相应单元格的行(使用strRow和StrCol )。 错误消息是 “公式中使用的值是错误的数据types” 这里有什么问题?