Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как вывести значения опр-ленного запроса из базы в Immediate - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Как вывести значения опр-ленного запроса из базы в Immediate
ant6729 Дата: Четверг, 28.12.2017, 23:15 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Добрый вечер, а как вывести определенный запрос из базы accdb в консоль Excel VBA?

Типа... Debug.Print а как дальше, не могу понять...

[vba]
Код
Sub ReadMDB()
Dim tbl As Recordset
Dim SQLr As String
Dim dbs As DAO.Database
Set dbs = OpenDatabase("G:\price.accdb")
SQLr = "SELECT * FROM tbl_прайс"
Set tbl = dbs.OpenRecordset(SQLr)
Cells(1, 1).CopyFromRecordset tbl
Debug.Print
tbl.Close
Set tbl = Nothing
dbs.Close
Set dbs = Nothing
End Sub
[/vba]


Сообщение отредактировал ant6729 - Четверг, 28.12.2017, 23:15
 
Ответить
СообщениеДобрый вечер, а как вывести определенный запрос из базы accdb в консоль Excel VBA?

Типа... Debug.Print а как дальше, не могу понять...

[vba]
Код
Sub ReadMDB()
Dim tbl As Recordset
Dim SQLr As String
Dim dbs As DAO.Database
Set dbs = OpenDatabase("G:\price.accdb")
SQLr = "SELECT * FROM tbl_прайс"
Set tbl = dbs.OpenRecordset(SQLr)
Cells(1, 1).CopyFromRecordset tbl
Debug.Print
tbl.Close
Set tbl = Nothing
dbs.Close
Set dbs = Nothing
End Sub
[/vba]

Автор - ant6729
Дата добавления - 28.12.2017 в 23:15
Gustav Дата: Пятница, 29.12.2017, 11:37 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
А зачем Вам в "консоль", то бишь в Окно отладки, выводить? У Вас же на рабочий лист рекордсет выводится, причём сразу по ячейкам... А в Окне отладки количество строк ограничено, вроде, количеством 200. Так что в итоге увидите только последние 200 строк, остальные затрутся.

А чтобы таки вывести в "консоль", надо цикл писать, типа как здесь: https://msdn.microsoft.com/en-us/library/office/ff197799.aspx
[vba]
Код
Sub OpenRecordsetOutput(rstOutput As Recordset)

   ' Enumerate the specified Recordset object.
   With rstOutput
      Do While Not .EOF
         Debug.Print , .Fields(0), .Fields(1)
         .MoveNext
      Loop
   End With

End Sub
[/vba]И, возможно, перед вызовом этой процедуры надо будет рекордсету сделать .MoveFirst.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеА зачем Вам в "консоль", то бишь в Окно отладки, выводить? У Вас же на рабочий лист рекордсет выводится, причём сразу по ячейкам... А в Окне отладки количество строк ограничено, вроде, количеством 200. Так что в итоге увидите только последние 200 строк, остальные затрутся.

А чтобы таки вывести в "консоль", надо цикл писать, типа как здесь: https://msdn.microsoft.com/en-us/library/office/ff197799.aspx
[vba]
Код
Sub OpenRecordsetOutput(rstOutput As Recordset)

   ' Enumerate the specified Recordset object.
   With rstOutput
      Do While Not .EOF
         Debug.Print , .Fields(0), .Fields(1)
         .MoveNext
      Loop
   End With

End Sub
[/vba]И, возможно, перед вызовом этой процедуры надо будет рекордсету сделать .MoveFirst.

Автор - Gustav
Дата добавления - 29.12.2017 в 11:37
ant6729 Дата: Суббота, 30.12.2017, 16:09 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Понятно...)
Потому что пробовать начинаю работать с базами, и знаю, что тут я особо не пойму...
Поэтому, чтобы закрыть пробел... дальше, наверное, все равно может понадобится... - я тут уточняю.
Но пока глубоко не смогу опробировать Вашу подсказку.
 
Ответить
СообщениеПонятно...)
Потому что пробовать начинаю работать с базами, и знаю, что тут я особо не пойму...
Поэтому, чтобы закрыть пробел... дальше, наверное, все равно может понадобится... - я тут уточняю.
Но пока глубоко не смогу опробировать Вашу подсказку.

Автор - ant6729
Дата добавления - 30.12.2017 в 16:09
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!