Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Приветствую Мастеров ! Всевозможные операции в базе ! [D5, dBase, FoxPro]


Страницы:   1 2

IronHawk ©   (2002-03-28 13:34:00) 

Есть база 1.dbf, я на форме своей повесил: DataSource, Table, DBGrid, DBNavigator и повязал их между собой и на базу 1.dbf - всё гуд !
Есть так же Буттоны : Буттон1, Буттон2 !
И Простой Едит1 !

А теперь вопрос :
Как мне в этой базе (1.dbf) вести счетчик, По клику на Буттон1 суммировались данные в столбце 9 грида и бросать в простой Едит1,
а по Буттон2 удалять одинаковые строки в базе ?

Ээээ, ну вот впринципе такой малюсенький вопрос !

P.S. это продолжение ветки http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1017244552&n=1


.... заранее благодарен !


IronHawk   (2002-03-28 15:47:00) [21]


> Oleon (28.03.02 15:27)
> А что в твоем понимании одинаковые строки в базе? Это когда
> значения всех полей одинаковые или нескольких полей?

Всех, несчитая пробелов !


Sava   (2002-03-28 15:28:00) [22]

В таком случае определись что ты имеешь в виду под понятьем одинаковые, но стоит ли ввести в таблицу первичный ключ и его отслеживать? Если всунуть лишний пробел или два боюсь очень сложно будет найти одинаковые поля, ьоюсь в таком случае и SQL не помощник. Может я не прав?


Oleon   (2002-03-28 15:27:00) [23]

А что в твоем понимании одинаковые строки в базе? Это когда значения всех полей одинаковые или нескольких полей?


IronHawk   (2002-03-28 15:11:00) [24]


> Val ©

Именно так и надо !

> Oleon

Спасибо уважаемый !

> Без SQL наверное будет долго. Так нужо проверку на вводе
> ставить, чтобы одинаковые не вводили.

Не, так непойдет потому что стоит пробел или знак лишний всунут уже будет пропускать !


Oleon   (2002-03-28 15:05:00) [25]

var
sum : double;

..........
sum := 0;
Table.First;
with table do
Begin
while not EOF do
Begin
sum := sum + Fields[8].AsFloat; //8 т.к. с нуля начинается
next;
end;
Edi1.Text := FloatToStr(sum);
end;

2. Удалять одинаковые строки в базе
Без SQL наверное будет долго. Так нужо проверку на вводе ставить, чтобы одинаковые не вводили.


Val   (2002-03-28 14:59:00) [26]

если нет желания работать с SQL, значит придется пробегать всю таблицу в цикле и суммировать значения поля в переменную


IronHawk   (2002-03-28 14:17:00) [27]

>>> Aleksandr ©

Извините, но у меня на форме нет > TQueryи у меня нет особого желания его туда совать ! И без SQL запросов я тож хочу обойтись !

Как ещё можно ???


Aleksandr   (2002-03-28 13:42:00) [28]

На кнопку1 делаешь:
With TQuery.Create(nil) do begin
DataBaseName:=Table.DataBaseName;
SQL.Add("SELECT SUM(9) FROM "+Table.TableName);
SQL.Add("WHERE NOT 9 IS NULL");
Open;
Edit1.Text:=Fields[0].AsString;
Close;
Free
end;

На кнопку2 кода больше, прочитай про FindFirst и прочее, но принцип тот же...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо