Форум: "Начинающим";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
ВнизПодскажите плиз Найти похожие ветки
← →
maverick_man (2006-10-05 18:24) [0]Народ подскажите плиз как сделать! Есть таблица , содержащая столбцы Дата начала Дата окончания. Как сделать, чтобы если в таблице имеется строки, ранее вводимой, то автоматически Дата начала ставилась равной Дате окончания в предыдущей строке, а если нет, то сегодняшнюю дату?
Пробовал вот так:
procedure TForm6.DBGrid1Enter(Sender: TObject);
Var
a: string;
begin
Table2.Edit;
try Table2.prior
except table2.Fields[5].AsString:=datetostr(now);
end;
table2.prior;
a:=Table2.Fields[7].AsString;
table2.Next;
Table2.Fields[5].AsString:=a;
end;
ругается...
← →
maverick_man (2006-10-05 19:43) [1]Мастера,ну подскажите начинающему!=))
← →
Джо © (2006-10-05 19:46) [2]>> чтобы если в таблице имеется строки, ранее вводимой
Теперь, пожалуйста, по-русски.
← →
maverick_man (2006-10-05 19:56) [3]Если в таблице на данный момент уже имеются строки,то Дата начала ставилась равной Дате окончания в предыдущей строке, а если нет, то в Дату начала записывается сегодняшняя дата
← →
maverick_man (2006-10-05 21:45) [4]Мастера, вопрос в силе=)
← →
ProgRAMmer Dimonych (2006-10-05 22:46) [5]В чём именно проблема? В присвоении новых значений?
Как ругается?
P.S. По части всяких БД я не спец, но попробуем разобраться. Заодно и сам чуток поумнею :)
← →
maverick_man (2006-10-05 22:49) [6]не знаю как это правильно сделать=)
Тот код что написал я не работает(теперь хоть не ругается - тупо не работает). Может я неправильно try-except использую...
← →
ProgRAMmer Dimonych (2006-10-05 22:58) [7]ОК, начнём сначала. Table2 - это какой класс (насколько я понял - не TDBGrid)?
← →
maverick_man (2006-10-05 23:01) [8]Table2 - это TTable
Отображается в TDBGrid
← →
Плохиш © (2006-10-05 23:07) [9]
> maverick_man (05.10.06 23:01) [8]
Ты серьёзно думаешь, что тебе сейчас начнут сюда перепечатывать главы по работе с бд из книжек?
← →
maverick_man (2006-10-05 23:09) [10]а просто сказать где я неправ и как исправить нельзя?
← →
ProgRAMmer Dimonych (2006-10-05 23:12) [11]procedure TForm6.DBGrid1Enter(Sender: TObject);
Var
a: string;
begin
Table2.Edit;
try
Table2.prior
except
table2.Fields[5].AsString:=datetostr(now);
end;
table2.prior;
a:=Table2.Fields[7].AsString;
table2.Next;
Table2.Fields[5].AsString:=a;
end;
Вот здесь, наверное, проблема. Сначала мы защищённое выполняем операцию, выделенную курсивом, потом - её же (жирный шрифт), но без защиты try"ем.
← →
ProgRAMmer Dimonych (2006-10-05 23:13) [12]И ещё... Fields[5], Fields[7] - это фрагмент кода так отредактирован для выкладки в форум или задумка такая?
Кажись, тут должны быть переменные (насколько мне позволяет судить мой нулевой уровень в области БД)...
← →
Плохиш © (2006-10-05 23:17) [13]
> maverick_man (05.10.06 23:09) [10]
> а просто сказать где я неправ и как исправить нельзя?
Нельзя, потому что всё что ты изволил привести как код есть полная дурь. И исправлять надо начиная с незнания тобой самых азов.
← →
ProgRAMmer Dimonych (2006-10-05 23:19) [14]> [13]
IMHO, не стоит убивать в человеке стремление к познанию.
← →
Плохиш © (2006-10-05 23:26) [15]
> ProgRAMmer Dimonych (05.10.06 23:19) [14]
Стремление к познанию, обычно, начинается с изучения основ.
← →
ProgRAMmer Dimonych (2006-10-05 23:29) [16]> [15]
К изучению основ у каждого свои подходы, IMHO. Только этот спор уже отдельной веткой можно оформить. Я бы всё-таки хотел сейчас помочь человеку...
← →
Virgo_Style © (2006-10-05 23:34) [17]ProgRAMmer Dimonych (05.10.06 23:29) [16]
Я бы всё-таки хотел сейчас помочь человеку...
Разве кто-то мешает?
← →
Ketmar © (2006-10-05 23:34) [18]>[14] ProgRAMmer Dimonych 5-Oct-2006, 23:19
>IMHO, не стоит убивать в человеке стремление к
>познанию.
правильно. проще сразу убить человека. %-)
← →
ProgRAMmer Dimonych (2006-10-05 23:48) [19]> [17]
Ну, чего-то автор вот не отвечает пока больше...
← →
Ketmar © (2006-10-06 00:06) [20]>[19] ProgRAMmer Dimonych 5-Oct-2006, 23:48
>Ну, чего-то автор вот не отвечает пока больше...
убился ап стену? %-)
← →
Mike Petrichenko (2006-10-06 00:11) [21]procedure TForm6.DBGrid1Enter(Sender: TObject);
Var
ADate: string;
begin
try
Table2.Prior;
ADate := Table2.Fields[7];
Table2.Next;
except
ADate := datetostr(now)
end;
Table2.Edit;
Table2.Fields[5].AsString := ADate;
end;
P.S. Когда научимся нормально называть объекты и переменные в программе?
P.P.S. И когда код оформлять научимся?
P.P.P.S. Да и думать тоже было бы не плохо.
← →
Ketmar © (2006-10-06 00:15) [22]>[21] Mike Petrichenko 6-Oct-2006, 00:11
> ADate := datetostr(now)
когда научимся писать DateToStr? %-)
← →
Плохиш © (2006-10-06 00:28) [23]
> Mike Petrichenko (06.10.06 00:11) [21]
> procedure TForm6.DBGrid1Enter(Sender: TObject);
Оооо, только сейчас обратил внимания и разрыдался.....
> Table2.Prior;
>
> ADate := Table2.Fields[7];
>
> Table2.Next;
Вы даёте руку на отсечение, что после этих манипуляций курсор будет находиться на требуемой записи? (ласково поглаживая окровавленный топор...)
← →
Ketmar © (2006-10-06 00:33) [24]>[23] Плохиш(c) 6-Oct-2006, 00:28
да выяснили уже, что так можно писать только в первый день изучения Delphi. да и то нельзя... %-)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.034 c