Выборка из БД

  • Автор темы nataly_ukr
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

nataly_ukr

#1
Имеется массив накладных формат dbf. На одну накладную несколько записей. Хочу показывать в одном столбце уникальные номера накладных, а в другом перечень строк под этим номером накладной . Т.е. двигаясь по одной таблице - показыть расшифровку записи .
 
S

SNike

#2
Массив накладных и информация о них в разных таблицах?
 
N

nataly_ukr

#3
В том то и сложность , что в одном файле Я пробовала соединить TQuery и TTable , связывала их
по Data Source. Высвечивает полную таблицу и таблицу из Tquery с уникальными ключами, все наоборот от того что мне надо
 
S

SNike

#4
Т.е. скажем вверху должна быть таблица с накладными, а внизу - таблица с расшифровкой, так? Номер накладной, к примеру, служит ключем для поиска расшифровок?

Не совсем ясна структура базы данных ... :)
 
N

nataly_ukr

#5
В одну накладную входит получение нескольких товаров
Ключ номер накладной и дата
N накл , дата, код товара , сумма ,,,,
N накл и сумма повторяется, отличие в коде товара Можно было бы создать отдельно массив номеров накладных и отдельно полученный товар , связав их по номеру накладной , а смсыл какой , прийдется следжить при удалении записи в одном из массивов Вобщем как всегда лень
 
E
#6
Если правиьлно понял то стандартным гридом такое не сделать, тут надо что то стороннее искать.
А вот если в 2 грида то это просто ...
 
S

SNike

#7
Конечно, лучше было бы создать отдельную таблицу с накладными, и отдельную для товаров. Затем, связав их по ключу было легко создать связь Master - Detail. Заодно избавились бы от избыточности в базе. А так придется использовать запросы SQL с параметрами или использовать свойство Filter для отбора расшифровок.
На счет лени - так при использовании одной таблицы для всего сразу все равно придется писать больше кода чем при использовании раздельных, и наверняка в дальнейшем это еще всплывет :)
 
S

SNike

#8
Стандартный грид в одной строке показывает одну запись базы данных.

Можно скомбинировать TreeView и Grid, к примеру. В дереве выбирать накладную, а в гриде отображать расшифровку. Это как один из вариантов

Например, можно оформить вот так: Посмотреть вложение ______.rar

А можно более подробно посмотреть DevExpress Quantum Grid

Но проще всего нормализовать базу данных, проблем станет намного меньше.
 

Вложения

N

nataly_ukr

#9
Я конечно извиняюсь, может это примитивный вопрос , но я не поняла где в TreeView указывается имя реквизита из БД при заполнении дерева Что-то в примерах не нашла о работе с БД
 
N

nataly_ukr

#11
Не поняла , он что не работает с реквизитами БД Тогда как же совет "Можно скомбинировать TreeView и Grid, к примеру. В дереве выбирать накладную, а в гриде отображать расшифровку. Это как один из вариантов" Не может быть . Там есть понятие объект , может это как то применить
 
S

SNike

#12
Там есть TreeNode.Data, в нем можно хранить различную информацию. К примеру, можно туда для каждой накладной данные о её ключевых значениях, а затем когда выбирается определенная накладная получать это значение и подставлять в параметр запроса. Можно и вовсе TListBox использовать для простоты. Дело творческое :)



А формировать дерево нужно самим.
 
Статус
Закрыто для дальнейших ответов.