Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.22;
Скачать: CL | DM;

Вниз

Подскажите плиз   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.049 c
9-1137709668
LORD LEO
2006-01-20 01:27
2006.10.22
Техника программирования


2-1159865243
zaqqaz
2006-10-03 12:47
2006.10.22
как зделать так чтоб комп не выключался/ребутился ?


2-1160035684
Megabyte
2006-10-05 12:08
2006.10.22
Обработка исключения


6-1149062835
Ibrox
2006-05-31 12:07
2006.10.22
FTP


2-1159730643
Изучающий_
2006-10-01 23:24
2006.10.22
CloseHandle(hLib) для Kernel32.dll