![]() |
|
![]() ![]() ![]() |
|
Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Здраствуйте вот такая ситуация!
Есть таблица(Paradox "people.db") В ней поля Фамилия Имя Навыки Дата рождения тип Date как сделать так чтобы пользователь ввел период(2 даты) в 2 поля едит1 и едит2 задал например 1.02.2005 по 28.02.2005 и ком нашел у кого день рождения в этом месяце подскажите самый простой вариант пожалуста |
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 2 Всего: 61 |
|
|||
|
||||
Guest |
|
|||
Unregistered |
Спасибо за помощь!
Опс я тоже так думал! НО..... по этому запросу компьютер выберет людей которые родились с и по Например с 1.08.2005 по 31.08.2005 и выберет тех людей которые родились в этот промежутое - это хорошо но надо выбрать и поздравить сех людей которые родились в Августе! и тех кому 25, 50,21 и т.д. всех у кого день рождения в этом периоде с 1.08.2005 по 31.08.2005 |
|||
|
||||
Guest |
|
|||
Unregistered |
А не только те которые родились в этом месяце
А иначе с 1.08.2005 по 31.08.2005 отберет только младенцев а поздравить других людей постарше? Спасиб за внимание |
|||
|
||||
bursa |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 25.2.2005 Где: Липецк Репутация: 1 Всего: 1 |
В теме http://forum.vingrad.ru/index.php?showtopic=61283 уже было.
Исправь код SergeBS на CalcDay := FormatDateTime('mmdd', DateFld); т.е. месяцы вперед. И фильтруй Query1.Filter:='CalcDay>=+''''+'0106'+''''+ and Query1.Filter<+''''+'0107'+''''; |
|||
|
||||
Pakshin A. S. |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 2 Всего: 61 |
Что-то непонятно.... По-полочкам: нам нужно выбрать всех людей, у кого днюха в данном промежутке, но нам нужно всех поздравлять или только тех, кто старше какого-то возраста? Или нам нужно выбрать всех, кому "за 30" и всех, у кого днюха в данном промежутке... |
||||
|
|||||
Berliner |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
для Pakshin Нужно:
вводим в одно тесковое поле дату с а в другое текстовое поле дату по, по нажатию ктопки чтобы отловило людей у кого день рождения в данном промежутке ![]()
для bursa Спасиб за ссылку но я мало что понял ты можешь мне поджробнее каждую строку кода пояснить(если не трудно) и где там правильный код ![]() |
||||
|
|||||
bursa |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 25.2.2005 Где: Липецк Репутация: 1 Всего: 1 |
Создаешь вычисляемое поле CalcDay
На обработчике OnCalcField
И меняешь
Месяцы вперед, чтобы,к примеру, 7 января было меньше 3 апреля, т.к. '0107'<'0403' а не наоборот '0701'>'0304' |
||||
|
|||||
Pakshin A. S. |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 2 Всего: 61 |
А это что?
Выбор только тех полей, где поле находтся в промежутке... |
||||
|
|||||
Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
этот код выберет людей которые родились с даты введенной в текстовое поле1 и между датой введенной в текстовое поле2. ЗАДАЧА ТАКАЯ: ПОЗДРАВИТЬ СОТРУДНИКОВ С ДНЕМ РОЖДЕНИЯ в таблице есть дата рождения. Например, секретарю надо поздравить тех которые родились в августе(ТОЛЬКО В АВГУСТЕ)! Приведенный запрос НЕ ВЫБЕРЕТ Иванова Ивана который родился 14 августа 1965 года (если задать с 01.08.2005) по (31.08.2005) А если написать в полях с 1.01.1910 по 1.08.2005 года выберет всех которые родились и августе1938 и в апреле 1977 и мае1983 короче всех- из этого промежутка( А ВСЕХ НЕ НАДО НАДО ТЕХ КОТОРЫЕ РОДИЛИСЬ В АВГУСТЕ с 01.08. любого года по 31.08 любого года). Секретарю надо выбрать всех у которых день рождения в периоде ИСПОЛЬЗУЯ ТОЛЬКО ДАТУ И МЕСЯЦ- ИГНОРИРУЯ ГОД. извините,а теперь понятно? Добавлено @ 19:38 To bursa а можно полный код и поподробнее(еще подробнее) как это задача решаема вместе с кодом плиз( правда еще книжку сегодня гляну) и логику( я логику решения задачи не понял) что код делает и сам код полный плиз Извините если достал |
|||
|
||||
Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
P.S. Еще раз коротко для прояснения ситуации
нужно чтобы программа показала кто родился за определенный период, в период будут включаться с "число, месяц" по "число, месяц" , но год -игнорировать. Игнорировать год -сделать период с "число, месяц" по "число,месяц" а года ,чтобы все в условие входили. Т.е. вылавливать -учитывая только дату и месяц рождения |
|||
|
||||
offline |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
не знаю как в Парадоксе, а в Аксесе это можно сделать так
т.е. пусть секретарь выбирает тоько месяц. затем берешь пое даты и переводишь в строковую переменную а затем ищешь у кого месяц выбранный секрктадем, в примере декабрь (12) а затем можно уже использовать это поле как дату АДОЗапрос....ASDate , кажись так. Но это все к Аксесу, не знаю, есть ли в ПАРАДОКСЕ ТАКАЯ ФУНКЦИЯ, НО ДУМАЮ ИДЕЯ ПОНЯТНА ![]() поздно увидел твое дополнение касаемое даты. но и дату можно поставить например 23
Это сообщение отредактировал(а) kirilllius - 19.8.2005, 20:28 |
||||
|
|||||
Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Спасиб а может кто знает как в парадоксе сделать?
Завтра буду пробывать реализоавть идею что написал kirilllius |
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 2 Всего: 61 |
ТА тот случай, если не попрет вышесказанное... |
|||
|
||||
Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
для Pakshin:
Скажи пожалуста а как тут быть с синтексисом если я хочу чтобы промежуток дат задавался при помощи ввода с полей Edit1 и Edit2 надо в Query в Tparams добавлять :Day1 :Day2 :Month1 :Month2 Поясни плиз что есть что в запросе ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |