Tag: ms access

连接Excel和Access之间的string

此子文件在Access中运行以从Excel文件导入数据,“FileName” 此连接string/打开过程几乎从MSDN引用复制,但是有一个错误。 当我通过时,我收到oConn.Open行上的“无法识别的数据库格式”。 文件名是电子表格,而不是数据库。 我如何表明这一点? Public Sub Import2(FileName As Variant) Dim wb As Object, ws As Object Dim xl As Object Set xl = CreateObject("excel.Application") Dim qs As String Dim ValueString As String Dim sConn As String Dim oConn As Object Set oConn = CreateObject("adodb.connection") oConn.ConnectionString = "Provider=microsoft.ACE.OLEDB.12.0; Data Source=filename; Extended Properties=Excel 12.0 XML; hdr=yes" […]

MS Access打开Excel文件强制链接更新

使用Access / Excel 2010。 此代码正在运行我没有直接访问的帐户,所以我不能混淆任何Excel设置。 我只是做代码。 我试图让MS Access打开一个工作簿,有时它会给出一个提示,要求更新链接/刷新数据/等,我想自动说是这个(而不是让进程挂断或继续与陈旧的数据)。 这是我现在使用的代码: If objXLT Is Nothing Then Set objXLT = CreateObject("Excel.Application") End If Set xlWBk = objXLT.Workbooks.Open(file_name) objXLT和xlWBk是对象。 我怎么能强迫它做自动更新.Open ?

将数据视图从Access复制/粘贴到Excel时,可能会有255个字符的截断

我已经看到一些关于导出数据的东西,但是我正在做的是复制/粘贴。 我正在查看Access窗体的数据表视图,并试图将其复制到Excel。 该表格有2个备注字段。 如果我一次只复制一个备忘录字段,则会获得该字段的所有内容。 如果我尝试复制整个数据表视图并将其粘贴到Excel中,备注字段将被截断。 有没有办法解决这个问题,除了导出数据?

项目在对应于请求SQL VBA的集合中找不到

我正在尝试使用以下代码通过excel更新数据库: Public Sub insertNew() Sheets("Sheet1").Select strDB = "i:\Profile\Desktop\DB\Database.accdb" Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strDB & ";" & "Jet OLEDB:Database Password=password;" Set rs = New ADODB.Recordset rs.Open "Project Manager", cn, adOpenKeyset, adLockOptimistic, adCmdTable r = 2 ' the start row in the worksheet Do While Len(Range("A" & r).Formula) > 0 If Range("AD" […]

Access数据库引擎找不到对象 – 对象是Excel命名的范围

这是让我绕圈子转了一会儿,基本上所有我想要做的是将一个Exceldynamic范围的值插入到Access表中。 例如,我已经通过引用范围成功地做到了这一点,但是为了让事情更自我一点,我更愿意使用dynamic范围。 我有的代码如下: Sub ExportDistDatatoSql() Dim cn As ADODB.Connection Dim STRQUERY As String Set cn = New ADODB.Connection With cn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=" & ThisWorkbook.Path & "\uMyDB.accdb;" .Open End With ssql = "INSERT INTO Crude_Prods_DB Select * from [Excel 12.0;HDR=YES;DATABASE=C:\TEST\mysheet.xlsm].[n_range]" cn.Execute ssql End Sub 我看到的错误是附加的,我检查了[n_range]确实存在于工作簿中。 [尝试从Excel命名范围中将数据插入访问表时出现错误] 任何build议将不胜感激。

错误9 VBA – 下标超出范围出现其他所有运行

下面的代码位于我的访问数据库中,一半时间运行良好。 另一半给我:“错误9下标超出范围”,它突出了“设置WKS = Workbooks(…”行作为问题,我知道问题在于它不确定它参考哪个工作簿但是我不知道该怎么做才能使之更清楚。 Sub fixborderss() Dim WKS As Excel.Worksheet Dim lastrow As Long Set WKS = Workbooks("L3 PSR.xls").Worksheets("L-3 Project Status Report") lastrow = Range("I" & WKS.Rows.Count).End(xlUp).Row WKS.Range("A8:V" & lastrow).Borders(xlEdgeTop).Color = RGB(191, 191, 191) WKS.Range("A8:V" & lastrow).Borders(xlEdgeBottom).Color = RGB(191, 191, 191) WKS.Range("A8:V" & lastrow).Borders.LineStyle = xlContinuous End Sub

如何在sql中重复值时对列进行分组

我连接我的Access数据库到一个Excel文件,并执行一些简单的SQL查询,我想做的事情,我不知道是否有可能。 当值重复时,我想将列中的值分组。 例如,这里是一个简单的查询结果: ID | Name | Color 1 John Red 1 John Yellow 2 Bill Red 2 Bill Blue 2 Bill Black 我希望以这种方式呈现结果: ID | Name | Color 1 John Red Yellow 2 Bill Red Blue Black 那可能吗? 欣赏你的答案! 谢谢。

访问Excel:布尔值更改为数字

我注意到,将查询结果从Access传输到Excel时,无论是通过复制/粘贴还是使用DoCmd.OutputTo , True / False值在Excel中都变为-1或0。 我当然可以写一个VBA过程来填补Excel,但我想知道:有什么窍门,我可以使用简单的传输工作? 换句话说,我应该将哪个值分配给查询列以在Excel中获得正确的True / False ? 我也注意到,在Excel中,True不等于-1。 这不仅仅是格式化的问题,就像在Access中一样。 尝试迄今没有成功: 使用'cBool':在Access中有很好的True / False ,但是在Excel中也是-1/0 将查询中的Format字段属性更改为“True / False”:结果相同

以Excel文件作为数据源的UNION ALL

我有以下问题。 我有几个Excel文件包含一个国家在一个文件夹中的每个数据。 不过,我想把这一切都汇成一个Excel报表。 随着源文件的内容每天都在变化,我想最好的办法是使用Union All通过SQL语句进行导入。 但问题是,MSQuery只允许我一次访问一个文件。 有没有解决这个问题的方法? 也许创build一个数据模型,并使用DAX?

什么是最有效的方式来转置这个表的所有除了2列(如在这张图片)?

我想在Excel或Access中完成此操作 。 我需要find最有效的方法来做到这一点,否则我的用户不会一直这样做。 最终,我希望它是在最后的forms,以使查询在Access中,但我列出的Excel作为一个选项,因为我总是可以从电子表格导入到Access。 简而言之,我想转置除了前2列以外的每一列。 然后,我要为每个转置的行分配原始对应的item和description 。 我使用的方法是使用Excel中的转置粘贴复制和粘贴第3,4和5行,然后手动将每个项目和描述复制到相应的行,但这对于近400行和50列是不可行的我的用户将与之合作。 我有访问Access / VB的经验,Excel(但在这里没有VB的经验),和SQL。 我想find最快的方法来做到这一点。 我不介意build立查询或进入一些VB代码,我只是真的想这个工作。