Tag: dao

获取访问vba中的excel文件的行的结尾

我使用以下方式将excel文件导入到使用vba(dao)的访问中: Set db = CurrentDb query = "SELECT DISTINCT * INTO MyTable" _ & " FROM [Excel 12.0 Xml;HDR=Yes;Database=" & filePath & "].[Sheet1$];" db.Execute (query) [Sheet1$]是这里的关键字。 我的excel表头从第3行开始。我想要做一些类似于[Sheet1$A3:Lastline] 。 有没有简单的方法来获取最后一行 ? 或者我真的需要创build一个VBA Excel对象,打开文件并计数? 或者,我可以更改标题开始? 例如,通过使用自定义导入scheme呢? 提前致谢。

在多个数据库中使用VBA-Excel进行SQL查询

使用Excel 2010,SQL和DAO 我正在试图执行一个查询当前电子表格以外的表。 这将是微不足道的,内Access,与链接的表/数据库,但在Excel中使用VBA,我受阻。 假定这些: ExcelFileOne; Tab; various headed field/columns ExcelFileTwo; Tab; various headed field/columns 我想在第三个excel文件中执行一个查询,就像这样[使用点符号来解释,而不是编码….] – 一个简单的例子: SELECT FileOne.[Tab$].Fields, FileTwo.[Tab$].Fields, etc. FROM FileOne, FileTwo, Thisworkbook WHERE (FileOne.[Tab$].field2 <> FileTwo.[Tab$].Field2) AND (ThisWorkbook.[Tab$].Field1 ….) 基本上,我想重复什么访问将本地执行该链接的文件。 指向正确的方向? [[我可以使用一个指针,指出为什么在连接中使用“Excel 8.0 …”或在Excel2010中失败,使用macros文件,以及如何在closures用户的networking/系统中加载12或14变体。 。]]

没有Excel的VB6到Xls

我必须将VB6应用程序中不同窗体中的几个Flexgrids的数据传输到没有安装Excel的计算机上的.xls文件。 Openoffice,LibreOffice等安装在这些电脑中。 我开发了一个将FlexGrid作为参数并将其数据传输到xls的通用过程。 此过程使用DAO。 由于各种FlexGrids中的各种列包含各种数据types,因此在过程中我将字段定义为types“dbText”。 t.Fields.Append t.CreateField(pFlxGrd.TextMatrix(0, j), dbText) 从任何网格转移到xls工作正常。 但是,一个问题是,对于包含数据的每个单元格,插入单引号以指示其文本types的数据。 有没有办法删除或避免这些引号? 由于数字数据将被用于求和等,所以这些引号必须被删除。

使用VBA和DAO将备忘录从Excel 2010转移到Access 2010

我试图将文本从Excel 2010传输到Access 2010.由于正常文本的256个字符的限制,我想使用备忘录。 现在,经过几个小时的search,我仍然无法解决我的问题。 更具体地说:这段代码读取数据(在这种情况下是文本)并将其写入Access数据库。 由于文本的限制,我需要在Access数据库中使用备注字段,但在调整了所有内容后,我找不到这个语句(sSQL)的数据types。 我想要做的就是改变下面的代码:(略微减less到相关位) Dim ws As DAO.Workspace Dim db As DAO.Database Dim sDb As String Dim sSQL As String Dim qdf As QueryDef sDb = ActiveWorkbook.Path & "\DataBase.accdb" Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(sDb) sSQL = "Parameters" _ & " SomeText Text; " _ <<== Here << == & […]

VBA Excelmacros保持locking我的访问数据库

我构build了一个macros,用于将Excel工作表中的数据附加到共享的Access数据库(Access 2010)。 macros运行时,它将拉取单元格值并将其附加为Access表中的单个行。 我已经testing过多次,并且在追加数据方面做得非常好。 macros完成运行时出现问题。 如果我点击数据库,它立即locking,不会让我打开数据库。 唯一的办法是进入VBA并打开重置button。 出于某种原因,这可以解锁数据库。 我进入Access数据库并将选项>客户端设置设为无锁。 任何想法如何阻止它locking? 为什么close方法不closures连接并释放数据库? Dim Db As Database Dim Rs As Recordset Dim ws As DAO.Workspace Dim Path As String Path = "X:\EKTT-Log.accdb" Set ws = DBEngine.Workspaces(0) Set Db = ws.OpenDatabase(Path, _ False, False, "MS Access;") ' Learn more http://msdn.microsoft.com/en-us/library/office/ff835343.aspx Set Rs = Db.OpenRecordset("Results Log", dbOpenTable, dbAppendOnly, dbPessimistic) […]

在Excel VBA中创build一个DAO Access文件

我无法使用下面的命令创build一个文件,任何人都可以在这方面帮助我。 它说的错误是无效的参数。 我得到了办公室2010年。 我的参考是:MS Office 14.0访问数据库对象库 Sub DBcreate() Dim DB As DAO.Database Dim RS As DAO.Recordset Set DB = DAO.Workspaces(0).CreateDatabase("D:\tblImport11.accdb", DB_LANG_GENERAL) DB.Close 'Set RS = Nothing Set DB = Nothing End Sub 我也试过: Set DB = DBEngine.CreateDatabase("D:\tblImport11.accdb", DB_LANG_GENERAL) 这也给出同样的错误

vba存储logging集为整数variables

第一次海报,我终于有一个问题,我在这里找不到答案。 我有一个MS Access查询返回1结果(这是一个数字),我想存储为一个整数variables(X),所以我可以稍后使用它的循环。 问题是,因为我用它作为logging集,variables是一个整数,我收到“types不匹配”错误。 现在,我只是将结果存储到单元格,并将variables设置为等于单元格: Ws.Range("A1") = Db.OpenRecordset("SELECT COUNT(Asset_Name) FROM Assets WHERE Active = True").GetRows(1) x = Ws.Range("A1") Ws.Range("A1").Delete 然后,我只是有一个循环运行x次: For i = 0 To x 基本上,我只是想要一些看起来像这样的代码: x = Db.OpenRecordset("SELECT COUNT(Asset_Name) FROM Assets WHERE Active = True").GetRows(1) 这里的任何帮助将是巨大的。 谢谢!

用Java编写Excel文件

我用Apache POI创build了Excel文件。 在我的数据库中,我有一个400人的名单。 我想写他们的名字和姓到Excel文件。 这是我的代码示例: try { FileOutputStream fileOut = new FileOutputStream("C:/testExcelForJava/test.xls"); HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet worksheet = workbook.createSheet("POI Worksheet"); // index from 0,0… cell A1 is cell(0,0) HSSFRow row1 = worksheet.createRow((short) 0); HSSFCell cellA1 = row1.createCell((short) 0); cellA1.setCellValue("Ad"); HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setFillForegroundColor(HSSFColor.GOLD.index); cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); cellA1.setCellStyle(cellStyle); HSSFCell cellB1 = row1.createCell((short) 1); cellB1.setCellValue("Soyad"); cellStyle […]

连接DAO Access时发生错误429

我有跟随的VBA代码,我用来连接到MDB数据库,但我得到一个429错误,当我尝试连接DAO.OpenDatabase(DbFile) 我以前没有得到这个错误,但现在正在发生。 在我的另一台电脑上这个连接工作正常。 我检查了MDB的path,这是正确的。 我使用的参考是: – Visual Basic for Applications – Microsoft Excel 15.0对象库 – OLE自动化 – Microsoft Office 15.0对象库 – Microsoft DAO 3.6对象库 我正在使用Excel 2013(在其他电脑是Excel 2010),但正如我所说,它在2013年之前工作。 有谁知道如何解决这个问题,请? Private Sub IniciaDB() Dim rs As Recordset Dim fld As Variant Dim DbFile as String DbFile = "D:\Documentos\PMbox\PPMdatabase2.MDB" On Error Resume Next Set OpenConn = DAO.OpenDatabase(DbFile) If […]

虽然不赞成,DAO仍然用于从Excel自动化的Access数据库?

我正在试图把我的头围绕着它。 我查了其他的问题,似乎没有什么太相似的。 Office 2013开发中心包含丰富的DAO示例,并指出使用Access文件(不需要Access窗口)的最简单方法之一,但是DAO是已弃用的技术。 ( https://msdn.microsoft.com/en-us/library/office/ff834801.aspx ) 我正在尝试编写一个Excel加载项(最终结束点),它将以.accdb格式对Access赋值赋值。 我不能只使用ADODB来执行SQL查询来提取数据,除非SQL也可以执行以下操作: 检查指定的报告是否有指定的标题 检查是否存在指定的表,查询,表单和报告 检查表中的特定字段是否存在 检查是否已将特定字段设置为主键 我还需要检查表中是否存在某些值,但是我可以使用SQL来解决这些值。 那么我应该使用DAO还是坚持使用ADODB? 请记住,我正在使用Excel,而不是在Access VBA中编程。