|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Как правильно добавлять записи
Здравствуйте. Такой вопрос. Какое условие нужно, чтобы при закрытии приложения запись либо добавилась если таковой не было , либо изменилась старая без добавления новой строки.
|
#2
|
|||
|
|||
Какая запись? Куда запись?
Ты бы подробнее описал... |
#3
|
|||
|
|||
Цитата:
Затем нажимаю кнопку расчета и получаются результирующие данные. Далее при закрытии приложения исходные данные сохраняются в таблице исходн. данных, а результаты в таблице результатов. Вот так добавляются данные в таблицу : Код:
if not (ComboBox1.Text='') then begin if not Table1.Locate('Projname',ComboBox1.Text,[]) then begin Table1.Insert; Table1.FieldByname('Projname').AsString:=ComboBox1.Text; Form1.Caption:=Table1.FieldByname('Projname').AsString; Table1.Post; - если проект не найден, то в табл 2 и табл 3 вводится новая запись. А -если найден , то записи в табл 2 и табл 3 редактируются. Каким условием задать будут ли записи в табл 2 и табл 3 добавляться или редактироваться старые? Вообще как сделать, что если не было никаких действий то просто без вызова соответствующего диалогового окна? Я сначала думал сравнивать количество строк в табл 1 в момент запуска приложения с колич. строк в табл 1 в момент закрытия, но тут может быть так, пользователь создал новый проект , но расчет не сделал и нажал кнопку выйти, а дальше сохранить. В результате в табл 3 записались нули. |
#4
|
|||
|
|||
нифига не понял...
В принципе, у тебя в коде почти все есть. Пусть будет так: Если пользователь ничего не сделал, то в ComboBox1 ничего не введено, соотв. делать ничего не надо. Если пользователь все-таки что-то делал, то в ComboBox1 есть текст и надо принять решение о том надо ли добавлять запись или редактировать существующую. Т.О. получаем примерно такой код (на закрытие приложения?): Код:
if not (ComboBox1.Text='') then begin if not Table1.Locate('Projname',ComboBox1.Text,[]) then begin Table1.Insert; Table2.Insert; Table3.Insert; end else begin Table1.Edit; Table2.Edit; Table3.Edit; end; Table1.FieldByname('Projname').AsString:=ComboBox1.Text; Form1.Caption:=Table1.FieldByname('Projname').AsString; Table2.FieldByName('...').AsString := ... Table3.FieldByName('...').AsInteger := StrToInt(...); Table1.Post; Table2.Post; Table3.Post; end; |
#5
|
|||
|
|||
Что не понятно?
|
#6
|
|||
|
|||
Цитата:
У меня 1 обработчик добавляет запись в таб 1. Второй когда закрывается приложение. |
#7
|
|||
|
|||
ну, я так понимаю, что это для обработчика на закрытие приложения.
|