2016-12-19 4 views
0

Я новичок в Access и благодарю вас за первое чтение.Доступ к VBA - метод или элемент данных не найден

Я экспортирую запрос в доступ к CSV-файлу с разделителями. Запрос - из таблицы, которая является ODBCed из SQL.

Я получаю для линии dbs.Recordset: Неисправность метода или данных не найдена.

Огромное спасибо за любое предложение исправить это.

Option Compare Database 
Option Explicit 

Sub Command12_Click() 
Dim dbs As DAO.database 
Dim rst As DAO.Recordset 
Dim intFile As Integer 
Dim strFilePath As String 
Dim intCount As Integer 
Dim strHold 

strFilePath = "C:\temp\TEST.csv" 

Set dbs = CurrentDb 

Set rst = db.OpenRecordset("T_Export_CSV", dbOpenForwardOnly) 

intFile = FreeFile 


Open strFilePath For Output As #intFile 

Do Until rst.EOF 
    For intCount = 0 To rst.Fields.Count - 1 
    strHold = strHold & rst(intCount).Value & "|" 
    Next 
    If Right(strHold, 1) = "|" Then 
     strHold = Left(strHold, Len(strHold) - 1) 
    End If 
    Print #intFile, strHold 
    rst.MoveNext 
    strHold = vbNullString 
Loop 

Close intFile 
rst.Close 
Set rst = Nothing 

MsgBox ("Export Completed Successfully") 
End Sub 

Благодарим вас так много за ваше время и, пожалуйста, оставьте любой комментарий ниже для любых разъяснений, если необходимо. Я постараюсь изо всех сил быть отзывчивыми!

+0

* ODBCed из SQL *? SQL - это язык. Какую конкретную RDMS вы имеете в виду? SQL Server? Postgres? MySQL? Oracle? DB2? – Parfait

+0

DAO - это API по умолчанию в библиотеке объектов MS Access. Попробуйте удалить 'DAO.' в тусклых строках:' Dim dbs As Database: 'Dim rst As Recordset' – Parfait

+0

@Parfait Это SQL Server! Спасибо за вопрос Я попробовал и по-прежнему дает мне «Определенный пользователем тип неопределенной ошибки», выделяя строку. –

ответ

0

Офис 15,0 объектная библиотека является один вам нужно включить в ссылках на объекты O365 или Office 2013. Access VBA

+0

Спасибо за ваш ответ! Кажется, я не нашел «библиотеку объектов Microsoft Office 15.0» в моем Access 2010. –

+0

А, 15.0 - это библиотека объектов Access 2013, поэтому ее не будет в 2010 году. Должен ли D быть капитализирован в базе данных? У меня нет копии, чтобы проверить это. – pizzaslice

+0

Извините, еще раз я не совсем понимаю, что вы имели в виду –