Tag: access vba

如何使用Access和VBA恢复在ListView上使用的查询数据

我正在做一个查询访问,我想恢复这个查询的数据放在使用.EOF和.MoveNext的列表视图,但我的查询的RecordCount (一个variables)等于-1。 我怎样才能做到这一点? Public Function ConsultaTabela_3(Optional ByVal planilha As String, Optional ByVal Consulta As String, Optional ByVal linha As String, Optional ByVal coluna As String, Optional ByVal prm1 As String, Optional ByVal prm2 As String, Optional ByVal prm3 As String, Optional ByVal prm4 As String, Optional ByVal prm5 As String, Optional ByVal prm6 As String) […]

通过图表名称将多个工作表从Excel文件导入到多个表中

你好,谢谢你的帮助。 我正在把一个看似简单的Access数据pipe理解决scheme放在我们这里的办公室里使用,而且我很麻烦,因为我的vba背景最好是最less的。 我在这里有两个相关但是断开连接的Access 2007应用程序,我需要一个系统让用户轻松导入和导出这些信息。 我已经有一个脚本工作现在将所有的表格从应用程序导出到一个单独的excel文件,每个表格作为一个不同的工作表,问题是,当我去导入它似乎只能find第一张导入。 我希望find的是一种迭代每个工作表的方法,获取工作表名称,然后根据工作表名称将这些数据合并到表中。 澄清: 应用程序A的多个副本被发送到各个部门 应用程序A:用户在表格中input信息 应用程序A:用户按命令运行导出macros 每个表格都创buildExcel文件作为具有匹配名称的工作表(例如tblCourse,tblStudent,tblFaculty等) 应用程序B的用户可以收到excel电子表格 应用程序B:用户按命令运行导入脚本(这是我正在寻找的解决scheme) 提示用户input文件位置 导入脚本打开Excel工作簿 脚本遍历每个工作表,读取名称,并将数据导入到匹配名称的表中 预先感谢您提供的任何帮助,非常感谢。 编辑 工作脚本(非常感谢grahamj42的帮助): Private Sub Command101_Click() 'Dim excelapp As New Excel.Application Dim excelApp As Object Set excelApp = CreateObject("Excel.Application") 'Dim excelbook As New Excel.Workbook Dim excelbook As Object Set excelbook = excelApp.Workbooks.Add 'Dim excelsheet As New Excel.Worksheet 'Dim excelsheet […]

如何使用excel对象到vba中的另一个过程

我需要使用一个excel对象(在程序中设置),在同一个模块中的其他程序。 但不能做到这一点。 请帮助我做同样的事情。 以下是我的代码。 Public Sub FirstProc() 'Here the excel object is defined Set xlApp = CreateObject("Excel.Application") Set xlWorkbook = xlApp.Workbooks.Open(ReportTemplateDirectory\Test.xlsx") xlApp.Visible = True … … 'all work goes here FINE … SecondProc 'calling second proc End Sub 以下是我的第二个程序, Public Sub SecondProc() ' In this procedure i need to delete a sheet of the same […]

在Excel中交替行颜色/数字 – VBA

所以我正在使用Access中的报告工具。 它查询本地表格并创build一个Excel文档(通过VBA)并创build一个Excel文件。 我使用下面的代码来替代代码的颜色,它的作品非常漂亮 For a = 1 To rs.RecordCount With ExcelSheet .Cells(a + 1, 1) = a .Cells(a + 1, 1).EntireRow.Interior.ColorIndex = IIf((a + 1) Mod 2 = 0, 2, 15) End With Next 注意我必须做a + 1因为a = 1是标题行,那就是标题行。 注意: .Cells(a + 1, 1) = 1表示行(1,2,3 …) 注: IIf((a + 1) Mod 2 = 0, […]

访问查询到excel 2010通过vba创build一个图表

经过广泛的search,我一直无法find任何我能理解的信息。 有很多例子,但这些都是2003年的访问,这些在2010年的访问不起作用。 我需要运行一个将查询结果(QryTotalSale)导出到Excel 2010的vba代码,并自动创build数据的条形图,并在正在运行的数据库上显示。 如果有人可以给我一些build议,那么我将不胜感激,甚至连接到一个有效的资源,将在2010年工作。 到目前为止,我可以得到excel打开,并显示有问题的查询结果。 为了使它更加困难,我真的需要查询来打开一个特定的Excel文件,它将在桌面上的一个文件夹中,并且每次按下button来运行VBA时,都应该在Excel工作簿中添加一个新页面,并且新的graphics被显示,并保存到电子表格中,以便以后可以查看整个excel文件。 我有下面的代码,但它不起作用。 关于范围的位会在excel中工作,但是访问似乎不能识别范围(这并不真正让我感到惊讶,因为它并不真正与我所知的范围一起工作)。 我的第二个想法是有前两个doCmd的运行,然后有下一个位被迫在Excel文件中自动运行。 Private Sub SalesImage_Click() DoCmd.OpenQuery "QryTotalSale" DoCmd.RunCommand acCmdOutputToExcel Dim myRange as range Set myRange = B2 * C30 Charts.Add ActiveChart.ChartType = xlColumnClustered ActiveChart.SetSourceData Source:=myRange, _ PlotBy:=xlColumns ActiveChart.Location Where:=xlLocationAsNewSheet End Sub 我发现一个adodb代码types的东西的访问和Excel版本2003年,但无法得到这个工作。 一半的select似乎不再被认可的访问… 我还有很长的路要走,非常感谢任何帮助。 谢谢 山姆

如何不透明像表一样的交叉表?

从excel文档导入数据后,我看到了一个如下所示的表格(非常类似于数据透视表): EMPLOYEEID | SKILL1 | SKILL2 | SKILL 3 ————————————— emp1 | 1 | | 3 emp2 | 2 | 3 | emp3 | | | 1 emp4 | | 2 | 3 在我的数据库中,我还有另外一张表,它为每一位员工存储每种技能的每一级知识: EMPLOYEEID | SKILLID | LEVEL_OF_KNOWLEDGE —————————————— emp1 | SKILL1 | 1 emp1 | SKILL3 | 3 emp2 | SKILL1 | 2 […]

添加一个唯一的ID字段来识别从VBA导入的不同Excel文件的电子表格

我有两个与标题有关的问题,一个比另一个更重要。 我正在使用下面的代码将一个文件夹中的所有Excel文件导入到我的MS Access数据库: Option Compare Database Public Function importExcelSheets(Directory As String, TableName As String) As Long On Error Resume Next Dim strDir As String Dim strFile As String Dim strTable As String Dim I As Long I = 0 If Left(Directory, 1) <> "\" Then strDir = Directory & "\" Else strDir = Directory End […]

报告为Exceldate格式转换

我有一个使用单个查询作为logging源来生成报告的报告。 我正在使用以下代码将该报告导出到Excel中 DoCmd.OutputTo ObjectType:=acOutputReport, ObjectName:=strReport, OutputFormat:=acFormatXLS, outputfile:=strpath & strTempFile, AutoStart:=False 除date外,报表中的所有数据都是正确的,其中date格式显示为Genereal Number(不确定哪种格式) 任何帮助appricaited。 谢谢。

MS Access / Excel SQL Server查询生成转换错误DATETIME

我已经四处寻找解决scheme,但他们都没有解决我的问题 SELECT TOP 10 [Appointment_Date] FROM dbo.RF_Performance_Referrals_Main WHERE (([Appointment_Date]) < '7/21/2014') ORDER BY [Appointment_Date] DESC 以上是我试图查询的简化版本。 我一直得到一个错误 [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]然后将varchar数据types转换为date时间数据types导致超出范围的值 我想也许我的连线有问题 所以我在Excel上试了一下,得到了完全相同的错误… 我检查了SQL Server表中特定字段设置为DATETIME 那么为什么会发生错误呢? 我在Cast / Convert上尝试了各种各样的东西,但没有一个看起来工作,我仍然得到相同的错误。 我真的不明白为什么。 如果解决这个问题请帮忙。 非常感谢

如何使用Microsoft XMLHTTP使用VBA获取文件扩展名

我正在使用下面的简单代码从互联网下载和保存一些文件。 我连接的服务器有时会生成excel文件,其他时候是文本文件,我想知道是否有任何可能的方法来找出什么是文件扩展名,以便它可以下载适当的扩展名? 现在我把所有文件保存为txt文件,如果文件返回excel文件,那么下载的文件将是无用的(因为它被保存为txt文件,我不得不手动更改扩展名)。 多谢你们 Dim myURL As String Dim WinHttpReq As Object Dim FP As String myURL = "SAMPLE URL" Set WinHttpReq = CreateObject("Microsoft.XMLHTTP") WinHttpReq.Open "GET", myURL, False WinHttpReq.Send myURL = WinHttpReq.ResponseBody If WinHttpReq.Status = 200 Then Set oStream = CreateObject("ADODB.Stream") oStream.Open oStream.Type = 1 oStream.Write WinHttpReq.ResponseBody oStream.SaveToFile (FP & "\" & C1 & "-" […]