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

Вниз

Отображение данных   Найти похожие ветки 

 
Man_Bear   (2009-02-12 01:15) [0]

Такой вопрос. Я в ListBox помещаю наименование товара из БД. Мне надо вывести в DBGrid всю информацию по выбранным товарам. Т.е., по большому счету, я хочу сделать вывод остатков по тем товарам которые находятся в LisBox-е.


 
Amoeba ©   (2009-02-12 01:27) [1]

Для начала опишите структуру базы - таблицы, поля. Явно у тебя что-то не так в консерватории.
Непонятно, зачем нужно грузить из BD в ListBox? Чем, интересно знать, не устраивают 2 DBGrid и связка таблиц по Master-Detail?


 
Man_Bear   (2009-02-12 01:34) [2]

Мне сначало надо выбрать товары по которым я хочу посмотреть остатки, а потом, возможно на другой форме, выводить остатки именно выбранного товара. При выборе я должен видеть только наименование товара. Структура таблицы: Артикул, Наименование группы, Наименование товара, Кол, Остаток.


 
Германн ©   (2009-02-12 02:00) [3]


> Man_Bear   (12.02.09 01:34) [2]
>
> Мне сначал"А" надо выбрать товары по которым я хочу посмотреть
> остатки, а потом, возможно на другой форме, выводить остатки
> именно выбранного товара.

Так и выбирай, кто тебе мешает? А потом, на другой форме выводи.
В чём  проблемы-то?


 
Man_Bear   (2009-02-12 02:12) [4]

Вопрос в том, как вывести данные только тех строк таблицы в которых содержатся наименования добавленные в ListBox.


 
Германн ©   (2009-02-12 02:51) [5]


> Man_Bear   (12.02.09 02:12) [4]
>
> Вопрос в том, как вывести данные только тех строк таблицы
> в которых содержатся наименования добавленные в ListBox.
>

А SQL знаешь?
Или только "кнопки кидать" умеешь?


 
Amoeba ©   (2009-02-12 02:58) [6]

Это верно, без знания SQL тут далеко не уедешь.
Автор, между прочим, даже не потрудился сообщить какую СУБД использует.


 
Man_Bear   (2009-02-12 02:59) [7]

Только кнопки кидать умею. :)


 
Man_Bear   (2009-02-12 03:02) [8]

Сори. Я использую Access


 
markers ©   (2009-02-12 06:20) [9]

Не подскажу поддерживает ли Access SQL запросы, но если да то так:
SELECT * FROM название_таблицы WHERE `наименование`= "ListBox1.Items[ListBox1.ItemIndex]" LIMIT 1;


 
markers ©   (2009-02-12 06:27) [10]

Зы, если товаров и категорий достаточно много, советую тебе отделить категории от товаров, т.к. это неправильно... т.е. надо примерно следующее:
таблица категорий
id (код), название категории, owner_id (Код родителя - другая категория товара)

таблица товаров
id (код), owner_id (Код родителя - категория товара), Наименование.....

И всё это засунуть не в ListBox а в TreeView. Это позволит тебе не ограничеватся всего одной вложенностью (категория - товар), а делать вложенность категорий в категорию и там товар хоть до бесконечности.
ЗЫ: Не работал из Delphi с Access и не знаю его возможностей и режима работы с ним, так что если что извиняюсь.


 
markers ©   (2009-02-12 06:45) [11]

Вот картинка для примера: http://imageshost.ru/links/6a81e139e30d22ac30f71525684ec154


 
Сергей М. ©   (2009-02-12 08:52) [12]


> Мне надо вывести в DBGrid всю информацию по выбранным товарам


Т.е. юзер, к примеру, выделил 3 элемента в листбоксе - "Часы", "Трусы", "КолбасЫ" - и в гриде при этом тут же должно появиться нечто вроде

"Часы" - Склад №1 - 1 штук
"Трусы" - Склад №1 - 3 штук
"Часы" - Склад №5 - 2 штук
"КолбасЫ" - Склад №3 - 5 штук
"Трусы" - Склад №3 - 0 штук
"КолбасЫ" - Склад №4 - 4 штук

Так ?


 
MsGuns ©   (2009-02-12 09:07) [13]

А почему остаток нельзя показывать в основной сетке товара как колонку ?


 
Sergey13 ©   (2009-02-12 09:22) [14]

> [13] MsGuns ©   (12.02.09 09:07)

Птому что автор, ИМХО, пошел по ошибочному пути проектирования своего приложения с рисования гуев, вместо того что бы продумать структуру БД и бизнес логику. Не даром в вопросе только боксы да гриды. Да и таблица видимо всего одна.


 
MsGuns ©   (2009-02-12 09:25) [15]

>Sergey13 ©   (12.02.09 09:22) [14]
>Птому что автор, ИМХО, пошел по ошибочному пути проектирования своего приложения с >рисования гуев, вместо того что бы продумать структуру БД и бизнес логику. Не даром в вопросе >только боксы да гриды. Да и таблица видимо всего одна.

Из приведенного скриншота у меня сложилось такое же мнение, то я постеснялся его выразить :))


 
Anatoly Podgoretsky ©   (2009-02-12 10:01) [16]

> Man_Bear  (12.02.2009 2:12:04)  [4]

Этот вопрос не имеет отношения к Дельфи.


 
markers ©   (2009-02-12 10:54) [17]

> MsGuns ©   (12.02.09 09:25) [15]
> Из приведенного скриншота у меня сложилось такое же мнение, то я постеснялся его выразить  :))

ЗЫ на всякий случай: Скриншот приведёт из моего работающего приложения и к автору топика не имеет отношение не я ни моя прога. Прога полностью написана года 2 как, с того времени произвожу модернизации и баг-фиксы. Извиняюсь если я неправильно понял ваши слова.


 
MsGuns ©   (2009-02-12 12:40) [18]

>markers ©   (12.02.09 10:54) [17]

Тогда поясню [15]. ИМХО, интерфейс спроектирован на уровне (во всяком случае насколько я смог увидеть на столь мелком рисунке), видно, что человек - профессионал или где-то рядом. Но, вероятно, опыта работы с БД у него не слишком много - вот и все "выводы" от увиденного :)


 
markers ©   (2009-02-12 13:44) [19]

> MsGuns ©   (12.02.09 12:40) [18]
Любопытства ради, на чём основано такое заключение?


 
Man_Bear   (2009-02-12 14:35) [20]


> Часы" - Склад №1 - 1 штук
> "Трусы" - Склад №1 - 3 штук
> "Часы" - Склад №5 - 2 штук
> "КолбасЫ" - Склад №3 - 5 штук
> "Трусы" - Склад №3 - 0 штук
> "КолбасЫ" - Склад №4 - 4 штук

да примерно так


 
Man_Bear   (2009-02-12 14:36) [21]


> А почему остаток нельзя показывать в основной сетке товара
> как колонку ?

Можно, у меня и так есть колонка с остатками, только мне надо обязательно сначало выбрать товар и только потом показывать остатки по выброннаму товару


 
MsGuns ©   (2009-02-12 14:46) [22]

>markers ©   (12.02.09 13:44) [19]
>Любопытства ради, на чём основано такое заключение?

На сабже :)


 
markers ©   (2009-02-12 15:15) [23]

> MsGuns ©   (12.02.09 14:46) [22]
На сабже :)

Вы разделяйте пожалуйста сообщения топикстартера и мои, я повторюсь что к топикстартеру к его проблеме не имею никакого отношения. А следовательно из какого такого сабжа Вы сделали заключение что > Но, вероятно, опыта работы с БД у него не слишком много > - вот и все "выводы" от увиденного :), я не хочу сказать что я к примеру 10 лет тока этим занимаюсь.. Но опыт постройки структуры БД и её использования имеется. Единственное в чём нехватает опыта это работа с БД встроенными инструментами Delphi, но я юзаю сторонний Unit для работы с SQLite, но с ним у меня уже достаточно опыта работы.
Сорри за оффтоп.


 
Сергей М. ©   (2009-02-12 15:24) [24]


> да примерно так


Ясно. Солянка сборная, одним словом).. А расхлебывать ее будет бедный юзер)

Ну да ладно.

В чем собссно затруднение ?


 
Man_Bear   (2009-02-13 02:54) [25]

Я сделал такую вещ. В запрос ADOQuery написал

select  *
from tov
where Name_t like:Name

Потом в обработчике ButtonClick создал цикл

for i:=0 to listbox1.Items.Count-1 do begin
   datamodule4.ADOQuery1.Parameters.ParamByName("name").Value:=
   listbox1.Items[i];

end;

Он прогоняет все значения которые находятся в ListBox и останавливается на последнем, т.е. я вижу все данные только последней строки LisBox


 
MsGuns ©   (2009-02-13 09:10) [26]

;)
Если в боксе 100 значений, то запрос выполнится 100 раз, при этом результаты 99 будут успешно "забыты"


 
Anatoly Podgoretsky ©   (2009-02-13 09:15) [27]

> Man_Bear  (13.02.2009 2:54:25)  [25]

Нажми на кнопку со стрелочкой, будешь видеть больше.


 
markers ©   (2009-02-13 09:57) [28]

Запрос:
select  *
from tov
where Name_t =:Name LIMIT 1

Потом в обработчике ButtonClick сделай

datamodule4.ADOQuery1.Parameters.ParamByName("name").Value:= listbox1.Items[ListBox.Items.ItemIndex];

Так лучше и не будет лишней нагрузки.



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

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

Наверх




Память: 0.54 MB
Время: 0.022 c
15-1234120264
istok2
2009-02-08 22:11
2009.04.05
как создать достать базу вебсайтов интернета...


1-1209384948
GreyWolf
2008-04-28 16:15
2009.04.05
Отладка такой ситуации


10-1153825601
AlexeyMir
2006-07-25 15:06
2009.04.05
Регистрация ActX библиотеки из своей программы


2-1235032488
opolo2000
2009-02-19 11:34
2009.04.05
высота компонентов на TQRBand


15-1233933854
Stan
2009-02-06 18:24
2009.04.05
String[xx] в Delphi 2009