Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2012, 17:32   #1
Piccole
 
Регистрация: 23.02.2011
Сообщений: 5
По умолчанию Delphi7. Организовать проверку полей таблицы.

Имеется 2 таблицы - в одной СКЛАД в другой ЗАКАЗЫ.
Суть в том что нужно либо не давать составлять заказ на товар если на складе его больше нет, либо завести кнопку по которой выводится уведомление-отчет о недостаче - я выбрал второй путь и не могу понять как его решить. Таблицы Paradox7, без алиасов... То-ли нужно организовать сбор данных о заказах в массив, а потом из него сравнивать со складом и выводить в мемо текст о недостаче, то ли как, запутался.
Нужен отчет по факту кол-ва заказов и того что на складе - например у нас есть 3 заказа на булки, по 5шт. в каждом заказе, а в отчете нам выдается - на складе 5 булок - заказано 15 - не хватает 10 булок.
Отработали булки (по коду товара в таблице) и надо как то перейти на другой товар. Код товара не последовательный - т.е. после 5 может идти 15, а потом 2. Вот, мучаюсь.
Плохо обращаюсь с элементами управления бд ><
Проект приложил - вот что получилось сделать пока что.
Спасибо за внимание.
Skype: mrpiccole
Вложения
Тип файла: rar Solonin.rar (3.82 Мб, 10 просмотров)

Последний раз редактировалось Piccole; 24.06.2012 в 17:53. Причина: Скайп добавил.
Piccole вне форума Ответить с цитированием
Старый 24.06.2012, 17:46   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

а как насчет того что бы при заказе юзать ограничение на товар?..
архивчик не смотрел но идейка такова...
при оформлении заказа выбираем товар (к примеру из комбобокса) и на сабытие OnChange пробиваем количество на складе и выставляем в максимум для заказа... к примеру привязать к эдиту компонент UpDown и в нем высталять эти максимумы... как идейка?...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 24.06.2012, 17:50   #3
Piccole
 
Регистрация: 23.02.2011
Сообщений: 5
По умолчанию

И можно будет создать много заказов по 5 булок, когда булок всего 5. Непойдёт. Нужен отчет по факту кол-ва заказов и того что на складе - например у нас есть 3 заказа на булки, по 5шт. в каждом заказе, а в отчете нам выдается - на складе 5 булок - заказано 15 - не хватает 10 булок.
Отработали булки (по коду товара в таблице) и надо как то перейти на другой товар. Код товара не последовательный - т.е. после 5 может идти 15, а потом 2. Вот, мучаюсь.
Плохо обращаюсь с элементами управления бд ><

Последний раз редактировалось Piccole; 24.06.2012 в 17:52.
Piccole вне форума Ответить с цитированием
Старый 24.06.2012, 17:54   #4
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

ну тогда тоже проблем особых нету... если в заказах есть поле выполнен заказ или нет то "тактика" такова
считаем через запрос сколько чего нам нужно, затем смотрим что на складе есть... и производим нехитрые математические опперации и выдается чего не хватает...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 24.06.2012, 17:55   #5
Piccole
 
Регистрация: 23.02.2011
Сообщений: 5
По умолчанию

А можно пример того что в querry писать? Не силен в sql ((
p.s. поля выполнен нема.
Piccole вне форума Ответить с цитированием
Старый 24.06.2012, 18:14   #6
Piccole
 
Регистрация: 23.02.2011
Сообщений: 5
По умолчанию

придумал еще вариант... При указании количества заказываемого товара - в dbedit на onchange запускаем 2 запроса:
один проверяет количество на складе:
Код:
Form1.Query1.SQL.add('select T_QUANT from SKLAD where T_COD= "' +DBedit1.Text + '" ');
и количество заказанного товара вообще
Код:
Form1.Query2.SQL.add('select SUM(Z_QUANT) from ZAKAZ where T_COD= "' +DBedit1.Text + '" ');
Далее прибавляем наше количество, которое мы указываем - и через условие на общее количество.... сейчас попробую и отпишусь.
Piccole вне форума Ответить с цитированием
Старый 24.06.2012, 18:21   #7
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

опишите ваши поля... что бы можно было конкретно для вашей бд запросы делать.. а не "пальцем в код" )))

теоритически понадобится 2 квери...
в первом юзаем список всей продукции которую нужно доставить ещё (продукция из необработанных заказов)
а во втором квери в цикле юзаем запросы... используя продукцию из первого квери...

выглядеть будет как то так:

Код:
ADOQuery1.Close;
ADOQuery1.SQL.Text = "select distinct name_product from zakazy;" ; // список продуктов которые нужны
ADOQuery1.Open();
 while(not ADOQuery1.Eof) do
  begin
    ADOQuery2.Close;
    ADOQuery2.SQL.Text = "select sum(kol_vo) as kol from zakazy where name_product = " + ADOQuery1.FieldByName["name_product"] + " and zakaz_flag = false;" ; // flag_zakaz = false - заказ не выполнен ещё 
    ADOQuery2.Open;
   Memo1.Lines.Add(ADOQuery1.FieldByName["name_product"] + " - " + ADOQuery2.FieldByName["kol"]); // сколько нужно данного продукта 
  
   ADOQuery1.Next; // переходим к следующему продукту из списка
  end;
как то так... должно работать... не проверял...
выдает сколько нужно ещё таккого то вида продукции доставить... собственно вам ещё сделать сравнение со складом... и готово...

p.s. можно сразу же в цикли производить сравнение со складом... и выводить только то чего не хватает...
p.p.s с dbGrid не люблю работать.. )
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 24.06.2012 в 18:41.
VIK_aka_TOR вне форума Ответить с цитированием
Старый 24.06.2012, 18:30   #8
Piccole
 
Регистрация: 23.02.2011
Сообщений: 5
По умолчанию

Вот список полей
Изображения
Тип файла: png Поля.png (34.1 Кб, 45 просмотров)
Piccole вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access ограничить значение поля таблицы значениями полей другой таблицы Сергей089 Microsoft Office Access 10 08.12.2010 02:22
Как организовать проверку по нескольким условиям polkovnik Microsoft Office Excel 5 17.08.2010 02:17
Как организовать проверку на наличие значения при UPDATE? vladtr SQL, базы данных 2 24.02.2010 14:47
Как программно организовать проверку ввода данных? parsn Microsoft Office Excel 2 07.01.2010 17:31
Как организовать проверку новых новостей на сайте? Vekmor Общие вопросы Delphi 10 14.05.2009 17:35