Три вопроса.

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Три вопроса.

Сообщение A.A.Z. » 08.08.2003 (Пт) 15:02

Сразу извиняюсь за сумбур. :oops:

1. Есть Data (Data1), DBGrid (DBGrid1) и TextBox (Text1). Data связан с MDB-базой, DBGrid - с Data, а TextBox должен выводить сумму из столбца 0 этой Базы Данных. Как это сделать? Я перепробовал много вариантов - ошибок нет, но и результата тоже нет. Надоело писать целые страницы кода, выслушивая ошибки...

2. Почему иногда, когда пишешь команды, типа
Код: Выделить всё
Data1.Recordset.MoveNext

или
Код: Выделить всё
Data1.Recordset.AbsolutePosition = Data1.Recordset.AbsolutePosition + 1

или вообще, всё что связано с Data1.Recordset ИНОГДА (т.е. НЕ ВСЕГДА) вылезают ошибки типа "The action was cancelled by associated object". Я потому и подчёркиваю "иногда", потому что ошибки в ОДНОМ И ТОМ ЖЕ примере вылезают НЕ ВСЕГДА!

3. Действителен ли факт, что контрол DBGrid вычисляет номер текущего ряда только из тех, что сейчас видны на экране?
Например:
(Извиняюсь за непрозрачный курсор, просто некогда было этим заниматься, а PrintScreen почему-то в этот раз решил курсор не захватывать.)
Изображение
Код: Выделить всё
Private Sub Command1_Click()
Text1.Text = "По мнению Data1.Recordset.AbsolutePosition - " & Data1.Recordset.AbsolutePosition & "; "
Text1.Text = Text1.Text & "По мнению DBGrid1.Row - " & DBGrid1.Row
End Sub
Нет меня больше

SSSerj
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 07.11.2003 (Пт) 11:32

Сообщение SSSerj » 26.11.2003 (Ср) 12:32

1. Вот пример нецелой страницы кода для подсчёта столбца №0 :)

dim i as long
dim Sum as double

if data1.recordset.recordcount>0 then
data1.recordset.movelast
data1.recordset.movefirst
for i=0 to data1.recordset.recordcount-1
Sum=Sum+Val(data1.recordset.fields(0))
data1.recordset.movenext
next i
end if
text1.text=Str(Sum)

2.
Тут надо смотреть по ходу программы. Одно могу сказать точно. Перед вызовом MoveNext или AbsolutePosition стоит проверить можноли перейти на следующую запись. Её может несушествовать.

3.
Да.

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 26.11.2003 (Ср) 13:20

Ну вообще ... с GIFами поосторожнее! Навставляли тут картинок! :twisted: :evil:
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali


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

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

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

    TopList