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

Вниз

Диалоги запросов   Найти похожие ветки 

 
Ломброзо ©   (2004-04-11 14:10) [0]

Пишется небольшое приложение на Access, всего пара десятков таблиц, но очень много запросов. Параметризованные запросы  хранятся прямо в mdb-шнике, их там порядка полусотни. Пятьдесят отдельных форм для этих запросов клепать просто лень. Вариант универсальной формы с тестбоксом "искать что", комбобоксом "искать где" и кнопкой OK не устраивает. Хочу что-нибудь более гибкое, например какую-нибудь формочку, которая бы на основе метаданных, извлекаемых движком ADO из хранящихся в базе запросов сама себя бы и строила. Кто-нибудь пробовал такое реализовать? Или какой-нибудь другой способ?


 
kaif ©   (2004-04-11 16:41) [1]

Так нужен построитель запросов или просто нужно выводить результаты запросов, заведомо написанных и сохраненных?


 
kaif ©   (2004-04-11 16:44) [2]

Или проблема в том, что у разных запросов разные наборы параметров и нужно динамически создавать соответствующие органы управления на окошке, после выбора того или иного запроса из выпадающего списка? Если так, то это не самая сложная задача - можно написать руками, если Access позволяет к таким метаданным обращаться (список параметров запроса).


 
Ломброзо ©   (2004-04-11 17:09) [3]

Второе. Уже пробую. Список параметров Access получить позволяет, но запнулся на том, что каждому параметру нужно сопоставить аттрибут "Подпись поля" для вывода надписи над соответствующим динамически создаваемым контролом. Что-то пока никак )


 
kaif ©   (2004-04-11 17:16) [4]

Что такое "Подпись поля"? Русское название атрибута? Например, надпись: "дата рождения" над контролом ввода даты рождения? Если так, то можно создавать динамически обычный TLabel и располагать его над контролом.


 
kaif ©   (2004-04-11 17:20) [5]

И еще. Какие типы параметров используются? Есть ли там такие типы, что требуют выбора из выпадающего списка (справочника), к примеру? То есть контролы разнородные и требуются ли еще динамически создаваемые компоненты запросов для Lookup-целей?


 
kaif ©   (2004-04-11 17:27) [6]

Я как-то делал подобную подсистему отчетов в одной базе на MSSQL. Так вот мне пришлось в отдельных таблицах хранить информацию о том, какие компоненты использовать и какие справочники задействовать, если это компоненты TDBLookupComboBox. Там же я и хранил будущие надписи (русские названия параметров). Так что одними системными таблицами тут, боюсь, не обойтись. Программа же сама по себе не знает, что, например, вот в этом параметре хорошо бы передать ID из какого-то справочника, например "Список подразделений")


 
kaif ©   (2004-04-11 17:30) [7]

Так что сначала надо точно прикинуть, какие контролы будут использоваться в принципе (весь минимальный джентльментский набор), затем создать таблицу, в которой хранить всю нужную информацию. Эту таблицу тщательно продумать. Потом уже городить окно с панелью, на которой динамически создавать контролы. К тому же я не знаю... хорошо бы русские названия для полей возвращаемого набора тоже иметь. чтобы Title-ы сетки потом разукрашивать понятным для юзера сленгом.


 
Ломброзо ©   (2004-04-11 17:44) [8]

kaif ©   (11.04.04 17:30) [7]

Вот русские названия и содержатся в аттрибуте "Подпись поля" в конструкторе таблиц Access, в мастере форм Акцесса этот атрибут выводится в лейбл над контролом. Нет, задача в принципе решаемая, вопрос лишь в том, насколько красиво и сопровождаемо её реализовать. Первая проблема - в динамической настройке Layout, т.е. автоматического расположения контролов + автоматический ресайзинг формы в зависимости от количества контролов. Тут проблема проще всего решается HTML-ом, однакож придётся WebBrowser прикручивать и бегать по объектной модели html-документа. Вторая - действительно, некоторые параметры нужно позволять выбирать из списка, а некоторые - вводить руками. Третья - некоторые параметры должны подставляться по умолчанию. Четвертая - русские подписи.
Так что всё-таки придётся писать какой-то конфигуратор-конструктор... ) Эхехех...



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

Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.039 c
3-1080832854
Назаров Евгений
2004-04-01 19:20
2004.05.02
Непонятная ошибка в InterBase


7-1078808748
Shark
2004-03-09 08:05
2004.05.02
Delphi и SIEMENS S7


1-1082176251
zenaev
2004-04-17 08:30
2004.05.02
DLL


1-1082026447
Dentist
2004-04-15 14:54
2004.05.02
Насчет CoolTrayIcon


14-1081695483
Ученик
2004-04-11 18:58
2004.05.02
Задача!





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