Форум: "Начинающим";
Текущий архив: 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.51 MB
Время: 0.006 c