Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Вниз

Записи в таблицы   Найти похожие ветки 

 
mpokemonov ©   (2005-12-02 16:10) [0]

Добрый день!
Ситуация: есть таблица, производится фильтрация
table1.Active:=true;
table1.Filter:=""pole"="""+ edit1.Text+"""";
table1.Filtered:=true;
после этого производятся изменения в данных, которые необходимо insert в тот же table1.
Вопрос: как сделать так, чтобы старые данные остались, а новые добавились..


 
Anatoly Podgoretsky ©   (2005-12-02 16:18) [1]

Insert + Post


 
Desdechado ©   (2005-12-02 16:19) [2]

> производятся изменения в данных, которые необходимо insert
так изменения или добавления?

> как сделать так, чтобы старые данные остались, а новые добавились
так всегда и делается, а что у тебя?


 
Сафаров ©   (2005-12-02 16:21) [3]

как-то запутанно.
requery чем не подходит?


 
mpokemonov ©   (2005-12-02 16:27) [4]

Anatoly Podgoretsky ©   (02.12.05 16:18) [1]
Insert + Post

не подходит - ибо insert при Filter почему-то не хочет делаться, пробовал :-((


 
Anatoly Podgoretsky ©   (2005-12-02 16:30) [5]

mpokemonov ©   (02.12.05 16:27) [4]
До сих пор подобное не наблюдалось. Пробовать конечно можно, но еще лучше делать правильно. Твоего кода мы не видим, вероятно в нем ошибка.


 
mpokemonov ©   (2005-12-02 16:35) [6]

идет пересчет отфильтрованных значений - меняется сумма, в зависимости от партии.
если просто изменить - вопросов нет, проблема только когда нужно Insert new record :-(
try

a:=table1.FieldByName("Tsena_mat").AsVariant; //Öåíà
b:=table1.fieldbyname("Kol_mat").AsVariant;//êîë-âî íà åä-öó
f:=table1.fieldbyname("Brak").AsVariant; //Áðàê
c:=edit1.Text; //Ïàðòèÿ
g:=c*b; //Êî-âî íà ïàðòèþ
d:=(g+f)*a;

table1.FieldByName("Summ_mat").AsString:=d;

table1.FieldByName("Smeta").AsString:=edit4.Text;
table1.FieldByName("Partia").AsString:=edit1.Text;
table1.FieldByName("Razrab").AsString:=edit7.Text;
table1.FieldByName("date").AsString:=datetostr(date1.Date);
table1.FieldByName("date_FIN").AsString:=datetostr(date2.Date);
table1.FieldByName("Ved_pr").AsString:=combobox2.Text;
table1.FieldByName("Zakaz").AsString:=combobox3.Text;

Вот здесь нужно создать новую запись и добавить в ту же таблицу.
table1.Next;

except
application.MessageBox("Îøèáêà â ðàçäåëå ìàòåðèàëû!","Âíèìàíèå!",mb_ok+mb_ic onstop);
end;


 
Anatoly Podgoretsky ©   (2005-12-02 16:37) [7]

mpokemonov ©   (02.12.05 16:35) [6]
Вот здесь нужно создать новую запись и добавить в ту же таблицу.

Здесь нужно дать команду .Post


 
mpokemonov ©   (2005-12-02 16:39) [8]

дык post подтверждает изменение, но я нигде явно не указываю, что нужно это изменение "добавить", а не "произвести над текущей записью"


 
Anatoly Podgoretsky ©   (2005-12-02 16:41) [9]

mpokemonov ©   (02.12.05 16:39) [8]
Дык неправильно мнение, он подверждает и добавление в таблицу. А если ты нигде не указываешь добавить, то и говорить об добавлении не приходится. У тебя что курсовая?


 
mpokemonov ©   (2005-12-02 16:43) [10]

ясен что подтверждает, но проблема в том, что как только я указываю явно действие: append\insert - начинает ругаться. А если я просто post сделаю, он мне перезапишет текущую строку, а мне нужно новую измененную.В этом как раз и есть вопрос


 
Anatoly Podgoretsky ©   (2005-12-02 16:57) [11]

mpokemonov ©   (02.12.05 16:43) [10]
Как? Матом? Или по человечески?


 
mpokemonov ©   (2005-12-02 17:02) [12]

ругня: table1 not in edit or insert mode ...
.edit задан.
ругня возникает только тогда, когда я начинаю добавлять запись...
происходит только с фильстрованными записями :-(


 
Anatoly Podgoretsky ©   (2005-12-02 17:03) [13]

mpokemonov ©   (02.12.05 17:02) [12]
Перевожу - набор данных не находится в режиме редактирования или вставки.


 
mpokemonov ©   (2005-12-02 17:10) [14]

да понятно! вопрос - почему к фильтрованным данным не применимо insert?
как только я снимаю фильтрацию, все окей, но мне нужно с отобранными данными работать.


 
аматор ©   (2005-12-02 18:56) [15]

Anatoly Podgoretsky - ну и терпение (завидую)............

table1.Insert(или Edit); кажись сюда.
table1.FieldByName("Summ_mat").AsString:=d;
..............................................................
table1.FieldByName("Zakaz").AsString:=combobox3.Text;

А Вы кажись заработались...


 
mpokemonov ©   (2005-12-02 19:13) [16]

ага, все такие умные и терпеливые...только пример последний, он замечательно, впрочем как и все остальные, работает , ЕСЛИ НЕ ВКЛЮЧЕНА ФИЛЬТРАЦИЯ!!!!
ПРИ ВКЛЮЧЕННОЙ фильтрации НЕ РАБОТАЕТ INSERT!!!!


 
Fay ©   (2005-12-02 19:32) [17]

2 mpokemonov ©   (02.12.05 19:13) [16]
ТОГДА РАБОТАЙ ЧЕРЕЗ IBDataSet !!!!!!!!!!!!!!

OK?!!!!!!!!!


 
аматор ©   (2005-12-02 23:37) [18]

В серверах, кажись, Table (и тот муляж) - всё работает на запросах...
Ссори, для Вашей проблемы нужно выполнить запрос (Дерзайте). Да IBDataSet запросы хочет. (Извиняюсь, с ветки про парадокс забежал сюда и не прочёл, что вопрос о сервере).


 
mpokemonov ©   (2005-12-06 10:26) [19]

Добрый день!
Всем спасибо за помощь! Вопрос решился сам собой - глюк оболочки :-(
переустановил делфю - помогло :-)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.012 c
6-1130344439
cerber
2005-10-26 20:33
2006.02.05
Запуск скрипта в HTML документе, загруженном в WebBrowser?


2-1137672630
Marconi
2006-01-19 15:10
2006.02.05
StringGrid


15-1137401942
Rentgen
2006-01-16 11:59
2006.02.05
поле с прокруткой как в MoveMaker ???


2-1137528161
parovoZZ
2006-01-17 23:02
2006.02.05
Написать и проскроллировать


3-1133543772
VadimSpb
2005-12-02 20:16
2006.02.05
Сжать и восстановить БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский