Tag: adodb

ADODB / Excel查询错误

当我尝试使用ADODB连接Excel数据库时,它说: you try to execute a query without a specified expression <Destinataire> 这是我的代码: MyQuery = "Select Destinataire, SUM(" & Entete & ") AS NombreTotal FROM [Feuil1$] " _ & "WHERE [DateMad] Between #" _ & Format(date_deb, "yyyy/mm/dd") _ & "# And #" & Format(date_fin, "yyyy/mm/dd") & "#" & Query3 & "" objRecordSet.Open MyQuery, objConnection, adOpenStatic, […]

这个UPDATE语句有什么问题,我试图在ADO Excel中使用?

我正在尝试使用ADO更新工作表的内容。 我构build的SQL语句是: update [Regional Personnel$] set name='Ada Lovelace', phone='(303) 555-1337', [lan id]='ADL3',position='Engineer' where id=3 Regional Personnel工作表具有以下专栏结构: +—-+———————+————————+——–+—————-+ | ID | Name | Position | Lan Id | Phone | +—-+———————+————————+——–+—————-+ | 2 | Kimberly St.-Simone | Senior Engineer | KMS1 | (808) 555-0210 | | 3 | Daphne Christianson | Database Administrator | DAC5 | […]

使用ADODB连接打开存储在SharePoint上的Excel文件作为数据源

我试图使用下面的VBA代码片段来打开Excel文件作为数据源: Dim cn As ADODB.Connection Set cn = New ADODB.Connection With cn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=" & path & "\" & VFile & ";" & _ "Extended Properties=""Excel 8.0; HDR=No; IMEX=1;""" .Open End With 如果pathvariables的types为C:\Folder ,则可以按预期工作。 但是,如果我想引用与当前文件相同的文件夹中的excel文件,并使用 path = ThisWorkbook.path 当前工作簿位于存储在SharePoint上的文件夹中,那么path将包含表单的某些内容 https://sp.foobar.com/folder 尝试使用此path连接会导致Method 'Open' failed错误。 将path黑入WebDAVpath告诉我该文件已被locking,或者我没有权限读取该文件。 谁能帮忙? 当我手动设置Drive:\Folder窗体的path ,一切正常,但是如果文件存储在SharePoint上,我不能使用ThisWorkbook.path或类似方式自动生成此path,并且我希望解决scheme是“便携式“,只要所有相关文件在同一个文件夹中就可以在驱动器上的任何位置工作。

ADODB.Recordset上的“types不匹配”错误

我有一个程序,应该从SQL数据库中读取数据并报告给Excel。 它在32位机器上按预期工作,但是由于我转移到64位工作环境,程序无法运行。 这里是我的代码示例(返回的第一个错误): Private Sub SearchBox_Change() ResultBox.Clear Call CompileQuery 'If the query is empty If SearchBox.Value = "" Then NumShowingLabel = "Showing 0 of 0 Results" ResultBox.Clear GoTo noSearch End If 'Open a new query with varQuery With varRecordset .ActiveConnection = varConnection .Open varQuery End With 'Set NumShowingLabel If varRecordset.RecordCount > varMaxResults Then NumShowingLabel = […]

从excel vba到Access DB的多个同时连接

我正在构build一个使用Access数据库的银行的复杂的Excel工作表。 此表将大量数据加载到预先构build的表单中。 之后,他们可以运行一些macros并添加一些input。最后,我打开一个新的连接,将这些input插入到从一开始查询的那些表中 我的问题是,将信息加载到工作簿时,此操作一次只能由一个用户执行。 当这个进程在一台用户计算机上运行时,其他用户会得到这个错误 Microsoft Office Access数据库引擎无法打开或写入文件“”。 它已经由另一个用户专门打开,或者您需要查看和写入其数据的权限。 我知道用户有权限,因为一旦用户1完成了这个过程,用户2就没有问题了。 我正在使用ADODB(连接,logging集和命令),这是我使用约四个不同时间的代码访问四个不同的存储查询: Dim cnn As ADODB.Connection Dim rs As ADODB.Recordset Dim cmd_apoio As New ADODB.Command Set cnn = New ADODB.Connection cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = " & PV.dbpath With cmd_apoio .ActiveConnection = cnn .CommandType = adCmdStoredProc .CommandText = "tabela_apoio_entidades" .Parameters.Append .CreateParameter("nip", adNumeric, adParamInput, 20) .Parameters.Append .CreateParameter("anomes", adNumeric, […]

VBA中的ADODBlogging集说,如果没有,excel字段是空的

我有一个Excel工作表,我需要在我的Access数据库中导入。 该表看起来像这样: date接收标识项目N°QUANTITE RECUE 06/01/2010 DVD-Sex&the City PCR-PA21550167 5 06/01/2010 DVD-Avatar Natie 2 PCR-PA21550209 10 然后我使用adodb将这个文件传输到数据库中: 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" .ConnectionString […]

可以放在用户窗体上的网格控件?

有谁知道可以放在Excel用户窗体上的网格控件,最好是能够显示ADODBlogging集内容的东西?

连接到Excel VBA中的只读Access数据库

我一直是一个长期访问者stackoverflow,但这是我的第一个问题。 我试图查询用户只有只读权限的文件夹中的Access 2010数据库。 strDBPath = <full path of accdb> Set myConn = New ADODB.Connection myConn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & _ "Mode=Read; Data Source=" & strDBPath Set myRS = New ADODB.Recordset myRS.ActiveConnection = myConn myConn.Open行给出了“当前正在使用的文件”错误。 如果我将accdb移动到用户可以编写的文件夹中,代码运行良好。 在此先感谢您的任何build议!

从Excel,自动化或ADODB中的单个单元格读取VBScript?

不是一个编码器,第一次问一个问题…所以请容易! 在空中graphics应用程序中使用VBScript。 我有两种方法可用于从Excel电子表格中读取数据。 我认为他们被称为自动化和ADODB连接。 我可以同时工作,但这里有一个问题:自动化比较慢,但它可以轻松读取单个单元。 ADODB超级快,但我不能指向单个单元格,只能列。 那有意义吗? 我希望能够使用ADODB来读取单个单元格。 我疯了吗? 这是我的代码: 自动(工作,但需要10秒钟): Dim SelectedboxSpreadsheet 'InputBox: ask for spreadsheet Dim shell : Set shell = CreateObject("Shell.Application") Dim boxSpreadsheet : Set boxSpreadsheet = shell.BrowseForFolder(0, "Select box Spreadsheet:", &H4000, "%SystemRoot%\explorer.exe") SelectedboxSpreadsheet = boxSpreadsheet.self.path Dim objExcel Dim currentWorksheet Dim Cells Sub OpenExcelSheet(SheetNumber) Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.open SelectedboxSpreadsheet, false, true […]

导入excel文件返回null为现有的数据

我试图导入Excel文件Excel97-2003(仅第一张)到Access数据库。 为此我使用下面的代码: Dim cnnExcel As New ADODB.Connection Dim rsExcel As New ADODB.Recordset With cnnExcel .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & strFileSelected & ";" & "Extended Properties=Excel 8.0" .CursorLocation = adUseClient .Open End With rsExcel.Open "SELECT * FROM [Sheet1]", cnnExcel Excel文件中的所有列都是string,当您使用Excel2003打开时,其types为“常规”(无特殊格式),另外3列是date。 我的问题是,我得到空的单元格中存在的值为空。例如,如果第一个值是string比如果有列中的整数它将返回为空,反之亦然有没有解决scheme呢? 谢谢