flexgrid

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

flexgrid

Сообщение Алексей К. » 27.07.2005 (Ср) 13:12

Загружаю данные через ADO, datagrid показывает выборку, а flex не хочет, на строке datasource ругается на несовпадение типов (пробовал через set flex.datasource - кричит на "object variable or block with not set"). В чем дело подскажите, а то я этим гридом первый раз работаю...
Код заполнения:
Код: Выделить всё

Private Sub Command1_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
With cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = App.Path & "\db2.mdb"
        .Open
End With
With rs
        .ActiveConnection = cn
        .CursorType = adOpenKeyset
        .CursorLocation = adUseClient
        .LockType = adLockOptimistic
        .Source = "SELECT * FROM таблица1"
        .Open
End With
Set DataGrid1.DataSource = rs.DataSource
Form1.MSFlexGrid1.DataSource = rs
End Sub

Ну и сам проект на всякий случай:
У вас нет доступа для просмотра вложений в этом сообщении.

SergT
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 237
Зарегистрирован: 22.06.2005 (Ср) 21:50
Откуда: Москва

Сообщение SergT » 29.07.2005 (Пт) 7:48

.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = App.Path & "\db2.mdb"

Это (OLEDB.4.0) для таблиц Access2000. Может у Вас не 2000, а 97?
Тогда Microsoft.Jet.OLEDB.3.51
Л. Толстой, «зачем обдумывать обдуманное, бери готовое и иди дальше, в этом сила человечества»
"Всё в наших руках, поэтому их нельзя опускать" (Коко Шанель)

VDeltsov
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 30.07.2005 (Сб) 14:42
Откуда: Moscow

Re: flexgrid

Сообщение VDeltsov » 30.07.2005 (Сб) 14:45

Надо писать не так:

Form1.MSFlexGrid1.DataSource = rs

а так:

Set Form1.MSFlexGrid1.DataSource = rs

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 01.08.2005 (Пн) 7:38

Я так уже пробовал (Set Form1.MSFlexGrid1.DataSource = rs), читай внимательнее начало топика.

VDeltsov
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 30.07.2005 (Сб) 14:42
Откуда: Moscow

Сообщение VDeltsov » 01.08.2005 (Пн) 9:55

А вот так (без имени формы)?

Set MSFlexGrid1.DataSource = rs

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

Сообщение alibek » 01.08.2005 (Пн) 9:58

Для FlexGrid нужно указывать не рекордсет, а контрол ADODC.
Лучше перейди на HFlexGrid, он умеет работать непосредственно с рекордсетом.
Lasciate ogni speranza, voi ch'entrate.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 01.08.2005 (Пн) 10:06

Спасибо, с hflex все работает как надо.


Вернуться в Базы данных

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

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

    TopList