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

Вниз

Поиск в ibtable   Найти похожие ветки 

 
::Hamster::   (2002-06-18 11:25) [0]

Всем добрый день.
Есть две ibtable: sklad (склад) и sl (лист продаж)
к примеру в складе была позиция "телевизор"..
после "продажи" он был оттуда удален и вставлен в лист продаж..т.е перенесён.
Если его надо вернуть можно просто произвести обратные действия.
Но вот проблема - если их было три, т.е продан был всего один, а два осталось на складе.
Как при возврате сделать так чтобы проданый телевизор вернулся не отдельно а добавился к оставшимся двум на складе, шоб их снова стало 3.
В общем надо как-то огранизовать поиск в ibtable. Подскажите плз кто знает.


 
::Hamster::   (2002-06-18 11:32) [1]


begin
salelistibtable.Insert;
salelistibtable.fieldvalues["salelist_name"]:=namedbedt.Text;
salelistibtable.fieldvalues["salelist_model"]:=modeldbedt.text;
salelistibtable.fieldvalues["salelist_firm"]:=firmdbedt.text;
salelistibtable.fieldvalues["salelist_country"]:=countrydbedt.text;
salelistibtable.fieldvalues["salelist_tnote"]:=tnotedbedt.text;
if salecolchk.Checked=false then begin
salelistibtable.fieldvalues["salelist_col"]:=1;
skladibtable.Edit;
skladibtable.FieldValues["sklad_col"]:=skladibtable.fieldvalues["sklad_col"]-1;
skladibtable.Post;
end;
if salecolchk.Checked=true then begin
salelistibtable.fieldvalues["salelist_col"]:=coledt.text;
skladibtable.Edit;
skladibtable.FieldValues["sklad_col"]:=skladibtable.fieldvalues["sklad_col"]-coledt.text;
skladibtable.Post;
end;
salelistibtable.FieldValues["salelist_cnotes"]:=cnotescbox.text;
salelistibtable.fieldvalues["salelist_person"]:=personalcbox.Text;
salelistibtable.FieldValues["salelist_time"]:=timetostr(time);
salelistibtable.FieldValues["salelist_date"]:=timetostr(date);
salelistibtable.fieldvalues["salelist_incost"]:=skladibtable.FieldValues["sklad_incost"];
salelistibtable.FieldValues["salelist_outcost"]:=statusback.Caption;
salelistibtable.Post;
if skladibtable.FieldValues["sklad_col"]=0 then skladibtable.Delete;
end;


 
::Hamster::   (2002-06-18 11:33) [2]

выше я привел код продажи..т.е с sklad в sl..


 
Turalyon ©   (2002-06-18 11:40) [3]

Используй метод Locate для таблицы склад, если он вернул False добавляй если True редактируй. Почитай Help о том как он (метод)работает...


 
Turalyon ©   (2002-06-18 11:41) [4]

А вообще ИМХО проще и наглядней было бы пользоваться IBQuery и делать SQL запросы...


 
Sergey13 ©   (2002-06-18 11:47) [5]

2::Hamster:: (18.06.02 11:25)
>после "продажи" он был оттуда удален и вставлен в лист >продаж..т.е перенесён.
А зачем удалять то? Поставь количество=0 и все. Потом, у "телевизора" код был какой-то уникальный (или нет???). По этому коду и ищи.
При продаже: количество=количество-х
при возврате: количество=количество+х


 
Turalyon ©   (2002-06-18 11:59) [6]

>>Sergey13 ©
Мне кажется, что при таком подходе через некоторое время база данных распухнет и будет содержать много "мертвых" записей. Хотя все конечно зависит от того какой ассортимент будет на складе и как он будет обновлятся...


 
::Hamster::   (2002-06-18 12:59) [7]

Sergey13,
Tyralyon прав. Товар обновляется с каждым днем, если держать остатки с 0 то в складе со временем появится много уже устаревших позиций.
У телевизора, как и у любой другой техники уникальный код это его модель.

Turalyon Спасиб, этот метод помог. С его помощью я даже сделал поиск на складе.
Я бы переделал всё на SQL но тогда придется переделать всю программу и все клиенты..а они почти все на table"ах. А учитывая нехватку времени и моих знаний SQL...;) Хотя будет время - возьмусь - перепишу. Ещё раз спасибо.




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

Текущий архив: 2002.07.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
14-47770
Alex II
2002-06-14 12:27
2002.07.15
Помогите новичку


1-47362
ctapik-net
2002-07-01 15:55
2002.07.15
Убить поток


3-47183
GT-9121A
2002-06-19 11:39
2002.07.15
Большой вопрос по работе с базой данных Вставка данных, удаление


1-47456
KvORubin
2002-07-03 13:53
2002.07.15
Find to Memo1


3-47167
RID
2002-06-13 16:39
2002.07.15
Connect c базой, расположенной на Сервере с Windows 2000 NTFS