Tag: ms access

如何从Excel中使用VBA重命名访问表?

我试图从Excel中使用VBA重命名访问表…任何帮助?

从Excel中调用访问vba函数会返回不同的值

我的最终目标是生成一个预测string宽度的工具,以便在MS Access 2010中打印报表时避免文本溢出。像CanGrow这样的选项没有用处,因为我的报表不能有不可预知的分页符。 我不能切断文本。 为此,我在Access中发现了未WizHook.TwipsFromFont函数。 它返回给定字体和其他特征的string的缇宽度。 事实certificate,这是一个非常有用的起点。 基于各种用户生成的指南,我在Access中开发了以下内容: Public Function TwipsFromFont(ByVal sCaption As String, ByVal sFontName As String, _ ByVal lSize As Long, Optional ByVal lWeight As Long = 400, _ Optional bItalic As Boolean = False, _ Optional bUnderline As Boolean = False, _ Optional lCch As Long = 0, _ Optional lMaxWidthCch As […]

在MS-Access VBA中查询Excel工作表(使用ADODBlogging集)

我想在VBA中查询Excel工作表并指定条件。 简单的查询"SELECT * FROM [PCR$]"完美地工作,但我不知道如何添加一个WHERE子句。 我试过cmd2.CommandText = "SELECT * FROM [PCR$] WHERE ([B1] IS NOT NULL)"但它抱怨缺less参数。 这是完整的代码: Dim rs2 As New ADODB.Recordset Dim cnn2 As New ADODB.Connection Dim cmd2 As New ADODB.Command Dim intField As Integer Dim strFile As String strFile = fncOpenFile If strFile = "" Then Exit Sub With cnn2 .Provider = "Microsoft.Jet.OLEDB.4.0" […]

有没有办法来重载VBA中的类的构造函数/初始化过程?

在C#中,我知道我可以通过在类的主体中指定它来重载类的构造函数: public class MyClass() { public MyClass(String s) { … } } 这覆盖默认的构造函数(没有参数),强制类用参数s初始化。 我知道在VBA中,我可以用Private Sub Class_Initialize()来初始化我的类,但我不知道是否有办法强制我的类用参数初始化。 可以这样做吗?

从Excel导入到访问备注字段时截断的数据

当我附加一个Excel文件时,Access将截断几个备注字段中的数据。 Access表中的字段已被设置为备注types。 我相信问题是我没有任何条目的一些备注字段的前几行。 访问假定数据是一个文本字段,即使我已经将其设置为备忘录types。 我曾尝试追加为CSV。 不工作。 我已经把第一行中的虚拟数据超过了255个字符的限制,如果我这样做,数据不会被截断。 我不想在每次导入Excel文件时都要input虚拟数据。 这是一个至less两周,也许更频繁的过程。 我想build立一个简单的方法来导入未来雇员使用同一个数据库的数据。 有任何想法吗? 更新:即使对于前几行中的虚拟数据,当导入Excel文件(虚拟数据的字符长度为785)时,Access也会截断10个“备忘录”表中的3个数据。 现在我真的在想法的损失。

如何使用Excel VBA获取新插入logging的ID?

似乎这是一个普遍的问题,但大多数解决scheme是指连接多个SQL命令,我相信不能用ADO / VBA来完成(但我很高兴在这方面显示错误)。 我目前插入我的新logging,然后运行一个select查询使用(我希望)足够的字段,以保证只有新插入的logging可以返回。 我的数据库很less被多个人同时访问(查询之间发生另一次插入的风险可以忽略不计),并且由于表的结构,识别新logging通常相当容易。 我现在试图更新一个没有太多的唯一性范围的表,而不是人为的主键。 这意味着新的logging可能并不是独一无二的,我不愿意添加一个字段来强制唯一性。 在这种情况下,将logging插入到Access表中然后从Excel中查询新的主键的最佳方法是什么? 感谢您的答复。 我试图让@@IDENTITY工作,但是这总是返回0使用下面的代码。 Private Sub getIdentityTest() Dim myRecordset As New ADODB.Recordset Dim SQL As String, SQL2 As String SQL = "INSERT INTO tblTasks (discipline,task,owner,unit,minutes) VALUES (""testDisc3-3"",""testTask"",""testOwner"",""testUnit"",1);" SQL2 = "SELECT @@identity AS NewID FROM tblTasks;" If databaseConnection Is Nothing Then createDBConnection End If With databaseConnection .Open dbConnectionString .Execute (SQL) […]

MS Access 2010:“无法打开更多的数据库”。

虽然挣扎与一个单一的遗留MS Access应用程序,我面临这个奇怪的错误: Cannot open any more databases. 该应用程序广泛使用UNION SQL语句。 所以这似乎导致访问达到2048张开放表的限制。 除了摆脱这些工会之外,还有其他的机会吗?

VBA – 从Access生成Excel文件(QueryTable)

我有一个项目,基本上目标是生成Excel(报告)开始使用VBA访问Access中的button。 此报告的内容是存储过程SQL Server数据库的结果。 错误的路线: With MeuExcel.Worksheets(4) .QueryTables.Add connection:=rs, Destination:=.Range("A2") End With 我得到的是: invalid procedure call or argument (erro '5') 完整的代码(使用Remou用户提示进行编辑): Sub GeraPlanilhaDT() Dim MeuExcel As New Excel.Application Dim wb As New Excel.Workbook Set MeuExcel = CreateObject("Excel.Application") MeuExcel.Workbooks.Add MeuExcel.Visible = True Dim strNomeServidor, strBaseDados, strProvider, strConeccao, strStoredProcedure As String strNomeServidor = "m98\DES;" strBaseDados = "SGLD_POC;" strProvider […]

如何将所有表从Access数据库导出到Excel中 – 每张表的表单

我有一个Access数据库〜30表。 如何将所有30个表格导出到Excel工作簿的单独工作表中? 我希望find一些VBA / VBS代码,我可以在Access内运行来完成这个任务。 有任何想法吗?

刷新时发生Excel数据连接错误

解决了! 见下面的解决scheme! 我在Excel 2010中通过数据透视表数据连接连接到多个单独的 Access 2010数据库。 刷新所有连接会导致最终刷新失败。 顺序不重要,我已经手动刷新不同的顺序,相同的错误。 但是,如果我在刷新了一些后保存并closures,然后回来刷新最后一个,那么根本没有问题。 引导我相信,当我保存并closures时,我正在打开一些重置的内存上限。 我可以通过VBA重新创build该效果, 而不实际保存/closures吗? 有没有更好的解决这个问题? 错误消息 – 这三个按以下顺序popup: 查询没有运行,或者数据库表无法打开。 获取数据的问题。 数据透视表,多维数据集函数或使用连接的切片器无法刷新。 当前代码 Private Sub CommandButton1_Click() On Error GoTo ErrHndlr Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.StatusBar = "Refreshing Data – Please Be Patient" ActiveWorkbook.Connections("Connection_1").Refresh ActiveWorkbook.Connections("Connection_2").Refresh ActiveWorkbook.Connections("Connection_3").Refresh Application.Calculation = xlCalculationAutomatic Application.StatusBar = "Ready" [LastUpdated].Value = FormatDateTime(Now, vbGeneralDate) Application.ScreenUpdating […]