Tag: ms access

脚本输出并将MS Accessmacros导出到SQL

我有几十个macros的forms: 我想要做的是在SQL中编写整个macros。 我知道这可以通过打开查询并selectSQL View来手动完成。 例如,第一个查询Build BOM – Part 0A ,如果打开并selectSQL view将显示: DELETE FROM [BOM Cost]; 有没有办法自动完成整个macros而不需要进入每个查询和macros?

通过VBA将大数据集导入到Excel中

我有一个巨大的数据集,我需要从Excel导入到Access(〜800k行)。 但是,我可以忽略具有特定列值的行,这些值与实际数据集的90%相似。 所以实际上我只需要input10%的线。 在过去,我一直在以如下方式(伪代码)逐行导入Excel文件: For i = 1 To EOF sql = "Insert Into [Table] (Column1, Column2) VALUES ('" & _ xlSheet.Cells(i, 1).Value & " ', '" & _ xlSheet.Cells(i, 2).Value & "');" Next i DoCmd.RunSQL sql 用〜800k行,这需要waaay长,每一行查询将被创build和运行。 考虑到我也可以忽略90%的线的事实,从Excel导入数据集到Access的最快方法是什么? 我正在考虑创build一个激活filter的临时excel文件。 然后我只是导入过滤的Excel。 但是有没有比这更好/更快的方法? 另外,什么是通过vba访问导入excel的最快方法? 提前致谢。

如何直接从Access窗体加载数据到Excel用户窗体列表框?

我想从Access加载一些数据到Excel的用户窗体列表框。 我现在正在做的是创buildADODB.Connection连接访问并创buildADODB.Recordset来存储数据,首先。 其次,我使用Range("xx").CopyFromRecordset将数据复制到Excel工作表。 第三,excel的名称范围为“ ResultSet ”。 第四,使用Me.ListName.RowSource="ResultSet"将数据从Excel工作表复制到ListBox。 正如你所看到的,我用四个步骤来完成这项工作。 有没有办法跳过第2步和第3步,直接从Access复制数据到ListBox? 谢谢

如何将Excel文件连接到Access数据库

我在Access数据库中创build了一个查询,并将查询结果导出到Excel文件中。 现在,我想将该Excel文件连接到Access数据库(或该查询),以便每当在数据库中更新某些字段时,这些更改将在导出的Excel文件(报告)中自动更新。 什么是最好的办法呢? 谢谢

Excel VBA访问数据库:十进制数字问题

我正在一个小型的Access数据库,我从Excel文件添加行值为1.1,2.1,3.1。 当我更新时,这在Access数据库中被更新为1.0999999999, 2.0999999999,3.1000000000000001 。 如果我想要Excel中的值1.1 ,由于十进制数的变化,它不会从Access数据库中提取。 我使用“文本”作为Access数据库中的数据types。 是因为文本数据types还是我应该select什么来使更新只有1.1, 2.1等

Microsoft Access找不到表对象

我目前正在创build一个简短的VBA脚本,从Access数据库中获取表格,并通过“TransferSpreadSheet”方法将其导出到Excel。 但是,每当我这样做我收到“运行时错误3011”,其中指出“Microsoft Access数据库引擎找不到对象”MonthsOutput“。 以下是相关的格式和代码部分: Public Sub Run() OutputFileName = CurrentProject.Path & "\Test5.xls" TableName = "MonthsOutput" Call SetExcel(OutputFileName, 1) Call ExportToExcel(OutputFileName, TableName) Call MoveData End Sub Public Function SetExcel(OutputFileName As String, SheetNumber As Integer) Set XL = CreateObject("Excel.Application") Set XLBook = GetObject(OutputFileName) Set XLSheet = XLBook.Worksheets(SheetNumber) Set XLSheet2 = XLBook.Worksheets(3) End Function Public Function ExportToExcel(OutputFileName As […]

在Access中从Excel中运行macros,但Access在运行后不会closures

我从Excel VBA打开Microsoft Access并运行一个macros,然后在Excel中运行更多的代码。 一切都很好,但是现在我遇到了两个问题。 运行macros后,First Access不会closures,因此Excel超时(它会popup一个消息框,提示Microsoft Excel正在等待另一个应用程序完成OLE操作)。 这实际上是另一个问题,因为当它超时,我必须再次与Excel交互,使Excel中的macros继续运行。 我试图在Excel中首次启动macros之前不必碰任何东西,直到完成。 我认为这也可能是超时,因为我在Access中添加了更多的步骤到我的macros,所以它需要更长的时间… 首先,这里是调用Access的Excel代码: Sub Opendatabase() Dim accessApp Set accessApp = CreateObject("Access.Application") accessApp.Visible = True accessApp.OpenCurrentDataBase ("I:\MyPath\MyFile.accdb") accessApp.Run "ImportDataRunQueriesExportData" 'Run the next part of Excel macro Application.Run "PullinTheExportedAccessData" End Sub 然后在Access中,它会这样做(对不起它太长了)。 它的目的是拉取数据,运行查询(我通过打开和closures它们,我不确定是否有更快的方式)然后导出数据。 我也希望它最后也能结束,现在这个部分不起作用。 Sub ImportDataRunQueriesExportData() DoCmd.RunSavedImportExport "Import-ERT Aggregate Macro" 'Open master book January to refresh DoCmd.SetWarnings False DoCmd.OpenQuery […]

将多个Excel电子表格链接到一个没有macros的访问表

我有多个具有相同的字段和表结构的Excel电子表格。 我想要将它们全部链接到Access中的一个表,而不使用macros,以便在Excel文件中进行任何更新时,它们将在Access表中自动更新。 可以这样做吗? 我可以将一个Excel表链接到一个Access表,但不能连接多个Excel表。

从不同的子文件夹访问VBA导入特定的Excel文件

我有一个问题,我找不到正确的代码来做到这一点。 所以我有一个主文件夹(C:\产品)与多个子文件夹对应不同的产品(C:\产品\巧克力,C:\产品\牛奶等等)。 每个子文件夹都有很多的excel文件,但我只想导入一个名为sells.xlxs的文件。 每个子文件夹都有一个sells.xlxs,我想将所有的sells.xlxs导入一个访问数据库。 编辑:对不起,我没有上传我使用的代码: Sub Insert2() Const cstrSheetName As String = "Weekly" Dim strDir As String Dim strFile As String Dim strTableName As String Dim MyPath As String Dim i As Long i = 0 MyPath = "C:\Products" strTableName = "Sells" If Left(MyPath, 1) <> "\" Then strDir = MyPath & "\" Else strDir […]

Recordset不会返回所有的数据VBA

我有一些问题试图从logging集中提取一些数据,vba代码是这样简单的: cnt.Open stDB Query = "SELECT TriggerDescription," Query = Query & " FROM Research_Control" Query = Query & " WHERE (((Research_Control.Status) = 1))" Query = Query & " ORDER BY Research_Control.Enterprise;" rs.Open Query, cnt, adUseClient While Not rs.EOF Sheets("Research_Review").Cells(lineResearch + line, colResearch) = rs.Fields(0) line = line + 1 rs.MoveNext Wend rs.Close cnt.Close “触发描述”大到500个字符,当我把这个值复制到Excel中的一个单元时,它只出现,直到300个字符 所以我的问题是:我如何提取logging集中的所有数据? […]