DBGrid в excel

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
heisnod
Сообщения: 70
Зарегистрирован: 24 ноя 2008, 16:53

Так как перехожу на вба из дельфи, естественно пытаюсь все делать старыми методами.
Вот и сейчас ищу объект/компонент/форму подобным делфийскому DBGrid, который отображает данные из DataSet'a. Предположительно он должен работать примерно так:
ему присваивается переменная типа Dim rs As New ADODB.Recordset с выборкой после запроса. А этот DBGrid отображает данные, определяет количество столбцов, строк, сверху заголовки структуры базы.
Есть и в VBA подобный визуальный объект или прийдется писать самому? Возможно есть библимотеки активХ с такими контролами?
Аватара пользователя
Aent
Сообщения: 1129
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

IMHO, использование любых внешних гридов в VBA Excel проектах неоправдано и противоречит базовой идеологии ПС.
В вашем случае нужно написать класс для VBA
Андрей Энтелис,
aentelis.livejournal.com
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Есть MS FlexGrid. Это то, что Вы ищете. Но он платный.

А в целом, согласен с Aent.

В Eхсеl не нужны гриды. Более того, там даже не нужны формы. Правильно оформатированный рабочий лист - это и есть форма, и с гридами и с полями.
В Excel-проектах рациональны разьве что небольшие диалоговые окна, для которых обычно достаточно многоколоночных ListBox-ов.
Увы, с помошью VBA собственный грид иначе как из ListBox-а не сделать. Только готовые AtiveX-компоненты.

Если нужно отображать Recordset-ы и манипулировать относительно большими объемами данных, то Вам прямая дорога в Access :) . Там любая форма вам напомнит TControlGrid.
heisnod
Сообщения: 70
Зарегистрирован: 24 ноя 2008, 16:53

Спасибо, буду обходиться листбоксом.
Ответить