Datagrid

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
pstrkim
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 03.01.2007 (Ср) 23:53

Datagrid

Сообщение pstrkim » 03.02.2007 (Сб) 16:48

1.Мне нужно чтобы изменения внесенные в DataGrid записались в БД
только при закрытии формы. Это можно сделать только с помощью
отсоединенного набора записей?
2.Можно ли заполнить DataGrid без присоединения к набору записей
с помощью цикла?
3.Как посчитать итог по столбцу DataGrid без использования запроса SQL?

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Re: Datagrid

Сообщение Alexanbar » 03.02.2007 (Сб) 18:34

pstrkim писал(а):1.Мне нужно чтобы изменения внесенные в DataGrid записались в БД
только при закрытии формы. Это можно сделать только с помощью
отсоединенного набора записей?


Как один из типовых вариантов реализации.

pstrkim писал(а):2.Можно ли заполнить DataGrid без присоединения к набору записей
с помощью цикла?


Почему бы и нет?
Читаем каждую запись (Recordset), записываем в ячейки значения полей (Recordset("Filed1").value), переходим к следующей записи (Recordset.MoveNext)



pstrkim писал(а):3.Как посчитать итог по столбцу DataGrid без использования запроса SQL?



Присвоить тексту в ячейке результат расчёта по формуле

pstrkim
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 03.01.2007 (Ср) 23:53

Re: Datagrid

Сообщение pstrkim » 03.02.2007 (Сб) 20:37

Почему бы и нет?
Читаем каждую запись (Recordset), записываем в ячейки значения полей (Recordset("Filed1").value), переходим к следующей записи (Recordset.MoveNext)

Без присоединенного набора записей Пишет ошибку: Rowset not available

Присвоить тексту в ячейке результат расчёта по формуле

Можно пример расчета?

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 03.02.2007 (Сб) 21:33

Можно использовать MSFlexgrid (msflxgrd.ocx) вместо Datagrid.

Код: Выделить всё
dim db as database
dim rs as recordset
dim x as long

set db=opendatabase(.....)
set rs=db.openrecordset(.....)

with me.msflexgrid1
    rs.movelast
m1:
   i=i+1
    .textmatrix(1,i)=rs("поле1").value
    x=x+val(.textmatrix(1,i))
    .......
    if rs.Absoluteposition>0 then
      rs.moveprevious
      goto m1
    end if
   ............
   msgbox "Итого: " & x
end with

pstrkim
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 03.01.2007 (Ср) 23:53

Сообщение pstrkim » 04.02.2007 (Вс) 23:37

Спасибо!
А вот совсем простой вопрос:
В этот MSFlexGrid или MSHFlexGrid можно вводить значения в ячейки во время выполнения программы? Что-то я не понял как это сделать.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 05.02.2007 (Пн) 19:32

Msflexgrid1.Textmatrix(i,j)="gjkgjgjgj"


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Mail.ru [бот] и гости: 91

    TopList