#excel #vba
Вопрос:
Пожалуйста, помогите мне с приведенным ниже кодом. говорит об ошибке времени выполнения 3265 и показывает эту строку как ошибку:
Листы(«Извлеченные журналы»).Ячейки(11, i 1) = rs.Поля(i — 3).Имя
даже если я использую «Выбрать * из таблицы», все равно возникает та же проблема. нужна ваша помощь, спасибо! Я застрял с проблемой кода.
сообщение об ошибке : ошибка 3265 во время выполнения элемент не может быть найден в коллекции, соответствующей запрошенному имени или порядковому номеру
'Disable screen flickering. Application.ScreenUpdating = False Range("E12:L1048576").ClearContents 'Specify the file path of the accdb file. You can also use the full path of the file like: 'AccessFile = "C:UsersChristosDesktopSample.accdb" AccessFile = "\MNLDCPWFIS01CorpStrat-PublicLEADSCONVERSION WORKING DATABASESCRM_INC.accdb" 'get active user Set OL = CreateObject("outlook.application") Set olAllUsers = OL.Session.AddressLists.Item("All Users").AddressEntries User = OL.Session.CurrentUser.Name Set oentry = olAllUsers.Item(User) Set oExchUser = oentry.GetExchangeUser() Set rs = Nothing 'Set the name of the query you want to run and retrieve the data. strQuery1 = "select Task_Number, Short_Description, Task_Status, Task_Complexity, Assignment_Group, Assigned_To, Created_Date " amp; _ "from INC_CRM where Requestor_Email = '" amp; oExchUser.PrimarySmtpAddress amp; "' order by Created_Date desc; " On Error Resume Next 'Create the ADODB connection object. Set con = CreateObject("ADODB.connection") 'Check if the object was created. If err.Number lt;gt; 0 Then MsgBox "Connection was not created!", vbCritical, "Connection Error" End If On Error GoTo 0 'Open the connection. con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" amp; AccessFile On Error Resume Next 'Create the ADODB recordset object. Set rs = CreateObject("ADODB.Recordset") 'Check if the object was created. If err.Number lt;gt; 0 Then 'Error! Release the objects and exit. Set rs = Nothing Set con = Nothing 'Display an error message to the user. MsgBox "Recordset was not created!", vbCritical, "Recordset Error" Exit Sub End If On Error GoTo 0 'Set thee cursor location. rs.CursorLocation = 3 'adUseClient on early binding rs.CursorType = 1 'adOpenKeyset on early binding 'Open the recordset. rs.Open strQuery1, con 'Check if the recordset is empty. If rs.EOF And rs.BOF Then 'Close the recordset and the connection. rs.Close con.Close 'Release the objects. Set rs = Nothing Set con = Nothing 'Enable the screen. Application.ScreenUpdating = True 'In case of an empty recordset display an error. MsgBox "There are no records in the recordset!", vbCritical, "No Records" Exit Sub End If 'Copy the recordset headers. For i = 0 To rs.Fields.Count 3 Sheets("Extracted Logs").Cells(11, i 1) = rs.Fields(i - 3).Name Next i 'Write the query values in the sheet. Sheets("Extracted Logs").Range("E12").CopyFromRecordset rs 'Close the recordset and the connection. rs.Close con.Close 'Release the objects. Set rs = Nothing Set con = Nothing 'Adjust the columns' width. 'Columns("A:L").AutoFit 'Sheets("Extracted Logs").Range("J2", "J50000").NumberFormat = "mm/dd/yyyy hh:mm:ss AM/PM" 'Sheets("Extracted Logs").Range("I2", "I50000").NumberFormat = "mm/dd/yyyy hh:mm:ss AM/PM" 'Enable the screen. Application.ScreenUpdating = True
Ответ №1:
о, хорошо, теперь я понял. это расположение заголовка моей таблицы. Моя ошибка, извините