Как присобачить MSFlexGrid в Excel к базе данных mdb?

Программирование на Visual Basic for Applications
Fuzzy
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 03.12.2002 (Вт) 12:33

Как присобачить MSFlexGrid в Excel к базе данных mdb?

Сообщение Fuzzy » 06.08.2003 (Ср) 12:04

Ведь можно же как-то, наверное? Подскажите, знающие!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 06.08.2003 (Ср) 12:34

Конечно можно.

Берешь форму кидаешь на нее ADODC контрол, грид, потом в свойствах грида указываешь что его источник данных - это ADODC, а сам ADODC настраиваешь на использование нужной тебе базы.

Fuzzy
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 03.12.2002 (Вт) 12:33

Сообщение Fuzzy » 06.08.2003 (Ср) 12:38

А вот нету у меня ADODC контрола, какой у него файл, может,не зарегистрирован просто?
А какое свойство у MSFlexGridа отвечает за источник данных? На этапе конструирования никаких DataSource не видать.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 06.08.2003 (Ср) 12:44

msadodc.ocx это имя файла.

datasource это имя проперти :)

Смотри в дизайнере справа в списке пропертей. Или просто в коде напиши
Код: Выделить всё
set msflexgrid1.datasource = adodc1

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.08.2003 (Ср) 13:47

Народ... эта... Я что-то не пойму...
А что, Excel'евский лист плохой грид? На фига использовать MSFlexGrid?Я идиот! Убейте меня, кто-нибудь!??
Lasciate ogni speranza, voi ch'entrate.

Fuzzy
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 03.12.2002 (Вт) 12:33

Сообщение Fuzzy » 06.08.2003 (Ср) 14:03

В упор не вижу свойства DataSource у MSFlexGrid.
RayShade, ты мне рассказываешь про редактор VBA в Excele, или про что?

Fuzzy
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 03.12.2002 (Вт) 12:33

Сообщение Fuzzy » 06.08.2003 (Ср) 14:03

да, ADODC у меня нету
А где можно взять?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 06.08.2003 (Ср) 15:18

Блин! Вот я ступил-то.

В Excel VBA другой редактор. Значит просто в коде пиши как я сказал. Проперть то у объекта никуда не делась.

Fuzzy
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 03.12.2002 (Вт) 12:33

Сообщение Fuzzy » 06.08.2003 (Ср) 15:33

А вот не работает, я ж сначала пробовал, потом на форум стал писать. Вот такой код не сработал:
Код: Выделить всё
Dim MyConn As New ADODB.Connection
Dim MyRst As New ADODB.Recordset
MyConn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
                    "Data Source=d:\МояБаза.mdb;" & _
                    "User ID=admin;Password=;")
Call MyRst.Open("select * from МояТаблица", MyConn, adOpenStatic, adLockReadOnly)
Set MSFlexGrid1.DataSource = MyRs

Последняя строка выдаёт Object variable or With block variable not set, в то время, как MyRst содержит записи и, например, Cells(1,1).CopyFromRecordset MyRst прекрасно срабатывает, MyRst имеет тип Recordset. С чего бы это?
И где мне взять ADODC?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 06.08.2003 (Ср) 15:52

Может, потому что в ней не хватает буквы t ?

Fuzzy
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 03.12.2002 (Вт) 12:33

Сообщение Fuzzy » 06.08.2003 (Ср) 15:54

:)
с буквой t ничего не меняется
:)


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 101

    TopList