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

Вниз

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

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

Наверх





Память: 0.52 MB
Время: 0.008 c
15-1233603474
AlexDan
2009-02-02 22:37
2009.04.05
Частота индексации сайтов.


3-1217909603
Viod
2008-08-05 08:13
2009.04.05
Обработка исключений ADOConnection


15-1233502350
stas
2009-02-01 18:32
2009.04.05
TWebBrowser получить текст без тегов


6-1201753581
MBo
2008-01-31 07:26
2009.04.05
Прием большого потока данных по UDP


2-1234270464
kyn66
2009-02-10 15:54
2009.04.05
Варианты TComboBox с автодобавлением Items





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