Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с MSFlexGrid, а точнее с выводом в него данных запроса 
:(
    Опции темы
Leska
Дата 17.3.2005, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 7.10.2004

Репутация: нет
Всего: нет



Необходимо сделать выборку из БД и результаты вывести в таблицу на форме

Вот это все вроде бы работает правильно
Код

Set Con = New ADODB.Connection
  Con.Open "DRIVER={INTERSOLV InterBase ODBC Driver (*.gdb)};" & _
" UID=...;PWD=...;DB=....", "...", "..."
str = "select NMK_ID, NMK_NOTE, NMK_NAME from NMK"
Dim MyRec As ADODB.Recordset
Set MyRec = New ADODB.Recordset
Set MyRec = Con.Execute(str)
MyRec.MoveFirst
MSFlexGrid1.Cols = 4
MSFlexGrid1.Rows = MyRec.RecordCount + 1
s$ = "<Код|<Название|<Полное название"
MSFlexGrid1.FormatString = s$
x = 0


а вот с этого места почему-то не работает

Код

While Not MyRec.EOF
    MSFlexGrid1.TextMatrix(x, 1) = MyRec.Fields("NMK_ID") 
    MSFlexGrid1.TextMatrix(x, 2) = MyRec.Fields("NMK_NOTE")
    MSFlexGrid1.TextMatrix(x, 3) = MyRec.Fields("NMK_NAME")
    x = x + 1
    MyRec.MoveNext
        Wend



я собственно догадываюсь, что неправильно так писать

Код

  MSFlexGrid1.TextMatrix(x, 1) = MyRec.Fields("NMK_ID") 


но как по-другому я не знаю. Помогите, пожалуйста!
PM MAIL   Вверх
Flotskiy
Дата 17.3.2005, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



Всем добрый вечер!
Leska, я много занимаюсь с БД и в таблицу на форме данные записываю так:
На форму ставлю Data1, DBGrid (или какую другую таблицу). В Properties DBGrid1 указываю
DataSource=Data1
Код формы:
Код

        Option Explicit

Private Sub Form_Load()
Data1.DatabaseName = "C:\Arm\Arm.mdb"
     Data1.RecordSource = "SELECT  * " & _
                                   "FROM Glavnaja  Order BY Family"
    Data1.Refresh

End Sub


Это рабочий код, в запрос вставляй свои данные.
Если будут вопросы - задавай.
Всего доброго.
С уважением

--------------------
FlotskiySk k
PM MAIL   Вверх
Leska
Дата 17.3.2005, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 7.10.2004

Репутация: нет
Всего: нет



Понимаете, дело в том, что мне надо использовать только такой вид подключения в базе
Код

Set Con = New ADODB.Connection
  Con.Open "DRIVER={INTERSOLV InterBase ODBC Driver (*.gdb)};" & _
" UID=...;PWD=...;DB=....", "...", "..."

а вот объект Data мне совсем не нужно использовать.
Код

MSFlexGrid1.TextMatrix(x, 1) = MyRec.Fields("NMK_ID")

MSFlexGrid1.TextMatrix(x, 1) = "Можно ставить только текстовое значение", мне нужна помощь в том, как мне преобразовать или подставить MyRec.Fields("NMK_ID") в ячейку таблицы.
PM MAIL   Вверх
boevik
Дата 17.3.2005, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Какая ошибка?
И какое значение MyRec.RecordCount ?


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Leska
Дата 17.3.2005, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 7.10.2004

Репутация: нет
Всего: нет



Ошибка вот тут
MSFlexGrid1.TextMatrix(x, 1) = <Subscript out of range>
а MyRec.RecordCount = 41561
PM MAIL   Вверх
Exception
Дата 17.3.2005, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



Цитата(Leska @ 17.3.2005, 16:33)
MSFlexGrid1.TextMatrix(x, 1) = <Subscript out of range>

Это бывает, когда не существет такой ячейки. Я прав?
PM   Вверх
Naghual
Дата 18.3.2005, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



У тебя Х, изначально, раен 0!
А в ФлексГриде первый индекс = 1!
Напиши x = 1 (вместо x = 0) и все заработает


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Leska
Дата 21.3.2005, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 7.10.2004

Репутация: нет
Всего: нет



Поменяла, ошибка все та же.
PM MAIL   Вверх
boevik
Дата 21.3.2005, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Leska, при х=1?
Можно вместо TextMatrix использовать AddItem:
Код

MSFlexGrid1.Cols = 4
MSFlexGrid1.Rows = 1
s$ = "<Код|<Название|<Полное название"
MSFlexGrid1.FormatString = s$

While Not MyRec.EOF
    s = MyRec.Fields("NMK_ID")  & vbTab & MyRec.Fields("NMK_NOTE") & vbTab & MyRec.Fields("NMK_NAME")
    MSFlexGrid1.AddItem s
    MyRec.MoveNext
Wend



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Leska
Дата 21.3.2005, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 7.10.2004

Репутация: нет
Всего: нет



boevik, спасибо, вот это сработало. smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1260 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.