Выборка из БД

Тема в разделе "Delphi - Базы данных", создана пользователем nataly_ukr, 19 июн 2007.

Статус темы:
Закрыта.
  1. nataly_ukr

    nataly_ukr Гость

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

    SNike Гость

    Массив накладных и информация о них в разных таблицах?
     
  3. nataly_ukr

    nataly_ukr Гость

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

    SNike Гость

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

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

    nataly_ukr Гость

    В одну накладную входит получение нескольких товаров
    Ключ номер накладной и дата
    N накл , дата, код товара , сумма ,,,,
    N накл и сумма повторяется, отличие в коде товара Можно было бы создать отдельно массив номеров накладных и отдельно полученный товар , связав их по номеру накладной , а смсыл какой , прийдется следжить при удалении записи в одном из массивов Вобщем как всегда лень
     
  6. etc

    etc Гость

    Если правиьлно понял то стандартным гридом такое не сделать, тут надо что то стороннее искать.
    А вот если в 2 грида то это просто ...
     
  7. SNike

    SNike Гость

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

    SNike Гость

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

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

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

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

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

    nataly_ukr Гость

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

    etc Гость

    а он и не умеет, - только ручками
     
  11. nataly_ukr

    nataly_ukr Гость

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

    SNike Гость

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



    А формировать дерево нужно самим.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей