Форум: "Основная";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
ВнизВвод Найти похожие ветки
← →
b_baranov (2002-11-27 22:02) [0]В приложении есть необходимость регистрировать много прошедших событий. Иногда известна полная дата события, иногда - месяц и год, иногда - только год. В последующем данные планируется экспортировать в документы: напр. "В январе 1990 года ..., в 1995 году ..., 12.11.2000 - ..." Какие из визуальных инструментов посоветуете использовать? Если поля ввода, то нужно организовывать довольно сложный контроль вводимых данных, если "календарь" то не отразить отсутствие данных дне или месяце. Если кто-нибудь сталкивался с подобной проблемой, поделитесь пожалуйста опытом.
← →
Jeer (2002-11-27 22:10) [1]Нда, чего только в говолю не полезет.
Один из методов мной применяемых.
В отдельной таблице регистрируется
дата в формате DATE
год
месяц
неделя
день
рабочий день
воскресный
праздник
В документах - ссылка на id этой таблицы
Тебе придется похоже использовать столько компонентов и таких, чтобы позволить выбрать нужные варианты.
В качестве признака неизвестности - ноль например, а отсчет значимых с 1 вести.
← →
Jeer (2002-11-27 22:12) [2]Да, и в некоторых библ-ках, есть комбинированный календарь именного такого рода (но отдельные контролы)
То ли Soho то ли..
← →
b_baranov (2002-11-27 22:16) [3]Не подскажете хоть приблизительно, где искать?
← →
Jeer (2002-11-27 22:17) [4]Так а кто мешает отделные контролы ввести для года, месяца, дня и даты (или еще чего)
← →
b_baranov (2002-11-27 22:26) [5]Т.е. предлагается иметь возможность ввести дату или ее составляющие по выбору и фиксировать в зависимости от того, что есть? Наверное нормально, тогда для удобства ввода (дат много и в разных Формах - неск. десятков) наверное нужно сделать какой-ннибудь унифицированный визуальный элемент... Или это сложно и не стоит тратить время, а воспользоваться стандартными?
← →
b_baranov (2002-11-27 22:32) [6]А как тогда описать целостность базы? Ведь дата должна обязательно присутствовать
День Месяц Год Дата Событие
Кого бы объявить Not Null кроме События?
← →
Jeer (2002-11-27 22:35) [7]Ввести специальные значения для признака отсутствия содержательности данного поля - ноль, например.
Если присутствует хотя бы один не ноль в дне, месяце, годе значит не дата, иначе - дата значима.
← →
Jeer (2002-11-27 22:36) [8]Думаю, что не стоит тратить время на спец. компонент, а сделать на основе фреймов
← →
b_baranov (2002-11-27 22:41) [9]Для визуализации данных это понятно как сделать, а вот как описать в ограничениях ссылочной целостности пока не представляю (IB6)
← →
Jeer (2002-11-27 22:49) [10]Так это вообще вне алгебры Кодда:))
Да и зачем все усложнять...
В чем проблема-то ?
Скажем есть Combobox с месяцами
Но первым идет знак вопроса ?
Далее Янв...Дек.
В таблицу заносишь индекс Комба.
При выборке указываешь <>0 или наоборот =0
смотря что надо.
Например, легко выбрать данные за нужный квартал, если при занесении даты, вычисляется и заноситься номер квартала.
Впрочем, многое определяется возможностями используемой СУБД (диалектом SQL)
← →
b_baranov (2002-11-27 23:02) [11]Я имею в виду, что при регистрации записи о событии должна одновременно присутствовать информация о событии и времени его свершения, в противном случае запись не может быть занесена, т.к. без одного из составляющих ее в последующем не оценить...
Похоже решение в том что нужно завести еще одно поле и фиксировать в нем факт занесения "даты". И вводить ограничения по этому полю.
Спасибо за помощь
← →
Andrey007 (2002-11-28 10:15) [12]>Похоже решение в том что нужно завести еще одно поле и фиксировать в нем факт занесения "даты". И вводить ограничения по этому полю.
Если я правильно понял суть проблемы, то при регистрации записи в таблице нужно отдельно заносить информацию о годе, отдельно о месяце, и отдельно о дне. Т.е. надо сделать 3 поля целого типа (можно и вещественного). Ноль (или Null) означает отсутствие данных.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c