Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.007 c
1-28082
b_baranov
2002-11-27 22:02
2002.12.09
Ввод


1-28121
sers
2002-11-28 09:42
2002.12.09
Координаты курсора в Memo


14-28206
Праведник
2002-11-15 22:34
2002.12.09
Звук в Делфи


3-27840
cutter-pro
2002-11-20 17:40
2002.12.09
Каскадное удаление в Paradox


1-28016
Roman_Tutov
2002-11-29 16:34
2002.12.09
как определить все-ли нужные для программы длл присутствуют на ма





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