![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Приветствую Мастеров ! Всевозможные операции в базе ! [D5, dBase, FoxPro]
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 и прочее, но принцип тот же...