Tag: ms access 2010

Excel和SQL查询通过不同的潜艇或function

我有一个Excel表,我使用访问数据库。 我想打开数据库,并使用不同的子例程与不同的查询。 但是我不知道公开地分配一个variables来使用数据库,所以我必须在每个子程序中创build连接并打开并closures它。 我有一个恐惧,这必须能够做得更聪明,所以我没有写在它的相同的代码。 我用下面的代码打开数据库,并且必须对每个查询反复执行: Public Sub copy_to_sql() Dim Cn As New ADODB.Connection Dim Rs As New ADODB.Recordset Dim Cmd As New ADODB.Command Dim strMDB As String strMDB = ThisWorkbook.Path & "\klantserverinfo.accdb" ' Set Cn = CreateObject("ADODB.Connection") Cn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" & strMDB Cn.Open '— Do some queries like SqlQuery = "SELECT […]

使用VBA和ADO将Excel数据透视表的来源从工作表范围更改为SQL查询

一张纸有几个枢轴表。 目前,使用ADO从Access表中检索数据透视表的源数据,并将其填充到工作表中。 然后,工作表中的范围将用作数据透视表的来源。 我试图将数据透视表的来源直接从MS-Access更改为SQL查询(即从表中select*)。 下面的代码运行良好(Connectionstring由函数返回,并显示在代码下面)。 Sub PivotTableDataADO() 'Late Binding Dim strConnectString As String Dim cn As Object Dim rs As Object Dim qry As String Dim ws As Worksheet Dim pt As PivotTable Dim pvc As PivotCache Set ws = ThisWorkbook.Sheets("DashBoard") 'Connect Database Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") qry = "SELECT * […]

在Excel / VBA中使用查询表

我得到了一个“下标超出范围”错误9与我的代码。 我有一个连接到Excel的Microsoft Access数据库和一个已经使用查询表“QUERY_1”创build的表。 我想通过使用VBA更新“QUERY_2”表。 该行发生错误: Set QueryARV = QuerySheet.QueryTables(1) 这是完整的程序: Sub ChooseQueryTable() Dim QueryARV As QueryTable Dim QuerySheet As Worksheet Set QuerySheet = ThisWorkbook.Sheets("Sheet1") Set QueryARV = QuerySheet.QueryTables(1) With QueryARV .CommandType = xlCmdTable .CommandText = "QUERY_1" .Refresh End With End Sub

MSAccess 2010 VBA Excel进程不终止

我正在使用Window 7 SP1和MS Office 2010.我正在Access 2010中运行查询,并将结果写入到Excel 2010的报表中,并注意到Excel的实例没有从进程列表中终止。 为了确保它不是我的代码,我已经把它简化了。 以下代码按预期方式打开并终止Excel: Public Sub Test() Dim strRptDirPath As String: strRptDirPath = "C:\Projects\WeeklyAlarms\Report\" Dim xlApp As Object ' Dim xlWkBk As Object ' Dim xlWkSht As Object Dim strRptTl As String: strRptTl = "Report Template.xls" Dim strRptSht As String: strRptSht = "Rpt" Set xlApp = CreateObject("Excel.Application") xlApp.Visible = False […]

用外键插入查询

我有一个数据库中的三个表,他们与外键互相链接。 我想要做一个INSERT查询,以便我可以input数据。 我可以单独插入数据到每个表,但是当使用外键约束时我越来越errors.Here是表格关系和VBAforms,通过我想input数据VBAforms , 关系和数据types 我现在正在使用这两个查询,但第二个是抛出错误。 sql = "insert into T1(ID,FName,Email)values('" & TextBox1.Text & "', '" & TextBox2.Text & "','" & TextBox3.Text & "')" sql = "insert into T2(ID,PhoneNumber,City) Values (Select(ID FROM T1 WHERE FName=" & TextBox2.Text & "),'" & TextBox4.Text & "','" & TextBox5.Text & "')" 请注意ID是我的表中的主要字段,我将执行search,更新和删除该字段

将Excel数据透视表转移到Access

我目前正在使用一个大型的数据集,这是一个35X42380的数据透视表。 我们需要把这些数据转换成一个访问数据库,但是用一行一行的macros来做这个事情是一场噩梦,在我放弃了40分钟之后,我放弃了。 我想知道是否有一个快速的方法来解决这个表转移到Access。 数据类似于: Zip | 80 | 81 | 82 | 00501 | 1.0040 | 0.8963 | 0.7707 | 00544 | 1.0040 | 0.8963 | 0.7707 | 01001 | 0.6721 | 0.6614 | 0.6342 | 01002 | 0.6721 | 0.6614 | 0.6342 | 我遇到的最大问题是,邮编列是A3:42380,35个ID是AM2:BU2,而数据透视表是AM3:BU42380 我想要的是: 产品| Zip | 因子 80 | 00501 | 1.0040 […]

需要将链接表的date添加到Access报告

我创build了一个Access数据库,它从链接的Excel表格中获取信息来创build查询,报告等。通过BIRT从另一个程序中提取数据,保存BIRT创build的XML表格,然后将它们转换成Excel。 我们不能仅仅将文件导入为XML,因为Access 2010会将信息分割成几个(不可用的)表格。我的用户会每隔一周或更频繁地频繁地进行操作,以便使报表中的信息“新鲜” 。 我怎样才能把链接表的创builddate放到报表中? 它甚至可以完成吗? 我曾经在网上和其他网站上看过,但似乎没有人能够解决这个问题。 我已经考虑制作一个表格,用户需要在创build表格的date填写表格,并在报告中使用这些信息,但是我担心用户的不满,因为用户不得不提取数据通过BIRT首先。 我们这样做的唯一原因是因为BIRT报告“丑陋”,难以让高层pipe理人员阅读,这是一个引人注目的商业用例。 想法,拜托?

Excel VBA数据库连接错误:无法打开数据库'(未知)'

我正尝试使用ADO DSN连接到Access数据库。 StrPath = Sheets("Sheet1").Range("DB_location") strCon = "DSN=MS Access Database;DBQ=" & StrPath & ";" Set con = New ADODB.Connection con.Open strCon 我可以连接到数据库没有任何问题,在我的机器上。 但是,当我试图在另一台PC上运行这个精确的macros时,我在最后一行遇到了这个问题: 我认为这是由于数据库引擎,但从微软网站安装“Microsoft Access数据库引擎2010年可再发行”没有解决这个问题。 在VBA编辑器中的所有必要参考都存在。 数据库或macros没有问题,因为我检查了不同的PC,但是这台特定的计算机遇到了这个问题。

通过访问vba在excel中填充公式

我试图从Excel中访问数据库VBA.I提到这个 Excel表格填写公式 这是我的代码 Dim xlApp As Excel.Application Dim wb As Workbook Dim strFormulas(1 To 4) As Variant txtcatpath = Form_Bom.Excelpath.Value Set xlApp = CreateObject("Excel.Application") With xlApp Set wb = .Workbooks.Open(txtcatpath) .Visible = True End With With wb.Sheets("common based") strFormulas(1) = "=IF(F4<>F5,E4,E4&""&H5)" strFormulas(2) = "=VLOOKUP(J4,F:H,3,FALSE)" strFormulas(3) = "=IF(COUNTIF(F4:F900,F4)=1,F4,"")" strFormulas(4) = "=SUMIF(F:F,J4,G:G)" .Range("H4:K4").Formula = strFormulas .Range("H4:K" & […]

Access 2010 Excel导出1004错误

我在Access 2010中有一些VBA运行查询并将结果导出到Excel中的列。 这里的目标是当用户按下所需的button时,打开一个excel工作簿,如果它不存在,则创build它。 当创build一个新的工作簿时,VBA预成型坯如预期的那样。 我遇到的问题是工作簿已经存在。 所以在创build一个我的Excel应用程序对象之后,我尝试打开工作簿。 当它不存在时会发生1004错误,并且我有以下error handling程序: Select Case Err Case 1004 'Workbook doesn't exist, make it xl.Workbooks.Add Set wb = xl.ActiveWorkbook wb.SaveAs strWorkBook Resume Next 当用户打开现有的工作簿时,系统会提示用覆盖是,否,取消选项。 除yes以外的任何响应都会生成1004错误(看起来有两个不同的错误,具有相同的代码#)。 我只是想找一个方法来解决这个问题,无论是我写一些VBA来自动接受还是我有其他的东西让用户说不/取消。 最简单的是首选,我只是不想在他们身上popup一个错误。