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

Вниз

Поиск в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
4-47889
Alexec
2002-05-15 12:00
2002.07.15
Temp


1-47516
rumata_lee
2002-07-04 16:59
2002.07.15
QReport


4-47896
zam
2002-05-15 20:36
2002.07.15
Подскажите, как пользоваться winapi ф-ей ReadFile???


1-47322
stupid
2002-06-30 21:15
2002.07.15
Как проверить, есть ли строковое значение в реестре?


6-47644
Airs
2002-05-06 15:04
2002.07.15
Вопрос с передачей массивов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский