Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2010, 18:17   #1
sl963
Пользователь
 
Регистрация: 29.12.2008
Сообщений: 23
По умолчанию И вновь проблема с DateTimePicker

Здравствуйте! Подскажите пожалуйста как можно отоброзить данные в DateTimePicker из DBGrid'a. Допустим в DBGrid есть столбец "Дата рождения" и чтобы при выборе (n-ой) строки, данные из столбца "Дата рождения" отоброжались в DateTimePicker. Использую базу Access. Связ с базой по средствам AdoConection, Adotable, DataSource.
sl963 вне форума Ответить с цитированием
Старый 04.06.2010, 19:14   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Код:
procedure TForm1.ADOTable1AfterScroll(DataSet: TDataSet);
begin
DateTimePicker1.DateTime:=ADOTable1.FieldByName('имя поля где дата').AsDateTime;
end;
vovk вне форума Ответить с цитированием
Старый 05.06.2010, 12:19   #3
sl963
Пользователь
 
Регистрация: 29.12.2008
Сообщений: 23
По умолчанию

vovk спасибо! Данные отоброжаються! Но появилась еще 2 прблекмки. 1-я когда поле дата пуста вылазиет ошибка (is not valid date and time). и 2-я когда выполняешь запрос через Ado Query то данные опять не отоброжаються! Помоготите решить проблему
sl963 вне форума Ответить с цитированием
Старый 05.06.2010, 20:49   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Если в наборе данных присутствует поле содержащее вашу дату, то проблем не вижу. На счёт "когда дата пуста" просто предусмотрите этот вариант, возможно поможет примерно так
Код:
if  ADOTable1.FieldByName('имя поля где дата').Value <> null then
DateTimePicker1.DateTime:=ADOTable1.FieldByName('имя поля где дата').AsDateTime;
vovk вне форума Ответить с цитированием
Старый 05.06.2010, 21:04   #5
sl963
Пользователь
 
Регистрация: 29.12.2008
Сообщений: 23
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
Если в наборе данных присутствует поле содержащее вашу дату, то проблем не вижу. На счёт "когда дата пуста" просто предусмотрите этот вариант, возможно поможет примерно так
Код:
if  ADOTable1.FieldByName('имя поля где дата').Value <> null then
DateTimePicker1.DateTime:=ADOTable1.FieldByName('имя поля где дата').AsDateTime;
Спасибо с этим разобрался! А вторая проблемка осталасьПоскажите как решить проблемку?
sl963 вне форума Ответить с цитированием
Старый 05.06.2010, 21:12   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Выложите таблицу, и запрос. Не понимаю пока в чём проблемма.
vovk вне форума Ответить с цитированием
Старый 05.06.2010, 21:18   #7
sl963
Пользователь
 
Регистрация: 29.12.2008
Сообщений: 23
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
Выложите таблицу, и запрос. Не понимаю пока в чём проблемма.
Попробую объяснить на словах!Допустим я открыл базу. В DB grie отоброзились все данные. Выполняю запрос через ADOquery. допустим отоброзить все фамилии (пупкин). Запрос выдал мне все поля с фамилией пупкин, выбираю любую строчку из запроса.а данные перестают отображаться!
sl963 вне форума Ответить с цитированием
Старый 05.06.2010, 21:55   #8
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Вот честно не понял что значит
Цитата:
данные перестают отображаться
, где перерстают отображатся? грид "опустевает"?
vovk вне форума Ответить с цитированием
Старый 06.06.2010, 07:25   #9
sl963
Пользователь
 
Регистрация: 29.12.2008
Сообщений: 23
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
Вот честно не понял что значит , где перерстают отображатся? грид "опустевает"?
допустим когда в таблице полный список данных, то по выбранной строчке данные отоброжаються в DateTimePicker (Дата рождения) Но если выполнить запрос то в DateTimePicker (Дата рождения) данные при выборе строчек из списка не меняеться.
sl963 вне форума Ответить с цитированием
Старый 06.06.2010, 08:05   #10
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Так и не выложили ни текст запроса ни...Ладно попробуем телепатнуть. Чтобы это работало, в наборе данных должно присутствовать поле "Дата рождения". Потом надо обращатся к датасету с которым работаем, то есть если отображаем данные из Query, то действие выглядит так
Код:
procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
if  ADOQuery1.FieldByName('имя поля где дата').Value <> null then
DateTimePicker1.DateTime:=ADOQuery1.FieldByName('имя поля где дата').AsDateTime;

end;
vovk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBGrid и DateTimePicker Marx88 БД в Delphi 6 09.12.2009 01:38
DateTimePicker //Hellp Angel86rus Общие вопросы Delphi 2 14.08.2009 16:37
Защита листа вновь созданой макросом книги. КаМММ Microsoft Office Excel 1 27.04.2009 06:14