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

Вниз

неправильная дата   Найти похожие ветки 

 
GIL   (2003-11-06 12:01) [0]

procedure TForm1.Main_TFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var y,d,m,m1,d1,dd,mm,y1,yy:word;
dat,dat1:TDate;
begin
Accept:=False;
if not (Main_TBirth.Value = null) then
begin
decodedate(da,y,m,d);
decodedate(lda,y1,m1,d1);
decodedate(Main_TBirth.Value,yy,mm,dd);
dat:=encodedate(y1,mm,dd);
showmessage(datetostr(Main_TBirth.Value));
if (lda<=dat)and(dat<=da) then Accept:=True;
end;
end;
в таблице все тестовые значения - 29.10.1983
в сообщении появляется - 31.07.18533
и 30.12.15443 после появления PrintPreview от QuickReport"а


 
Anatoly Podgoretsky   (2003-11-06 12:09) [1]

Зачем же ты тогдак текстовые значения пытаешься преобразовать с помощью datetostr?


 
Johnmen   (2003-11-06 12:10) [2]

.AsDateTime


 
GIL   (2003-11-06 12:15) [3]

>Johnmen куда ставить?
>Anatoly Podgoretsky где текстовые значения? в таблице тип даты!


 
Serg   (2003-11-06 12:17) [4]

вместо Main_TBirth.Value напиши
main_t.fieldbyname("birth").asdatetime


 
GIL   (2003-11-06 12:19) [5]

все тоже самое


 
Anatoly Podgoretsky   (2003-11-06 12:26) [6]

GIL © (06.11.03 12:15) [3]
Цитата "в таблице все тестовые значения - 29.10.1983"


 
GIL   (2003-11-06 12:29) [7]

ну они так отображаются в дбгриде, а поле типа даты попробовал изменить main_t.fieldbyname("birth").asdatetime на DataSet.fieldbyname("birth").asdatetime не помогло! в чем вообще дело?????


 
GIL   (2003-11-06 12:33) [8]

showmessage(datetostr(dataset.fieldbyname("birth").asdatetime));
показывает 09.07.12595


 
Mike Kouzmine   (2003-11-06 12:35) [9]

GIL © (06.11.03 12:33) [8] Значит так и есть.
Ты бы хоть структуру таблицы показал.


 
Anatoly Podgoretsky   (2003-11-06 12:35) [10]

Значит такое и есть


 
Serg   (2003-11-06 12:36) [11]

попробуй потрассерить и посмотри, какое значение у поля birth.
если ты говоришь, что оно у тебя везде равно 29.10.1983, так оно и в этом обработчике должно быть таким же, а не 31.07.ххххх.
кстати, нет никакого смысла для каждой записи делать
decodedate(da,.....)
decodedate(lda,....)
это можно вынести за пределы обработчика.


 
GIL   (2003-11-06 12:37) [12]

if dataset.IsEmpty then showmessage("");
показывает!!!


 
Mike Kouzmine   (2003-11-06 12:39) [13]

Потрепаться однозначно интереснее.


 
Serg   (2003-11-06 12:40) [14]

заморочил, блин, всем голову


 
GIL   (2003-11-06 12:40) [15]

if (lda<=dat)and(dat<=da) then Accept:=True else Accept:=False;
сделал так и ошибки выскакивают, но что-то выводится, хотя все равно говорит, что пустая


 
GIL   (2003-11-06 12:41) [16]

а мне каково?


 
Serg   (2003-11-06 12:44) [17]

вместо такой констукции
if (lda<=dat)and(dat<=da) then Accept:=True else Accept:=False;
правильнее писать
Accept:=(lda<=dat)and(dat<=da);


 
GIL   (2003-11-06 12:47) [18]

без разницы как писать, если дату из таблицы он берет неправильную.


 
Johnmen   (2003-11-06 12:51) [19]

showmessage(FormatDateTime("dd.mm.yyyy",(dataset.fieldbyname("birth").asdatetime)));


 
GIL   (2003-11-06 12:54) [20]

заместо
SetRangeStart;
Main_TID_Birth.Value:=i;
SetRangeEnd;
Main_TID_Birth.Value:=j;
ApplyRange;
поставил
Main_T.SetRange([i],[j]);
датасет престал быть пустым, но всеравно ругается на дату


 
Serg   (2003-11-06 12:54) [21]

а не проще ли
showmessage(dataset.fieldbyname("birth").asstring); ?


 
GIL   (2003-11-06 12:56) [22]

я уже так сделал, на фика не в том, как выводить, а в том что ДАТА неверно считывается


 
GIL   (2003-11-06 13:02) [23]

попробовал считывать другие поля - все считывается неверно!!! возникает вопрос: КАК ВЕРНО считать значения полей текущей записи в обработчике события OnFilterRecord?????


 
Mike Kouzmine   (2003-11-06 13:04) [24]

GIL © (06.11.03 13:02) [23] Ты дай структуру таблицы, а потом спрашивай.


 
GIL   (2003-11-06 13:10) [25]

кажется я начинаю догонять, он не может правильно взять данные из полей подстановок!!


 
GIL   (2003-11-06 13:14) [26]

ура, фильтр работает, но все равно выдает кучу ошибок


 
Anatoly Podgoretsky   (2003-11-06 13:16) [27]

Mike Kouzmine © (06.11.03 13:04) [24]
Не дождешься, по крайней мере ранее ни кому не удалось.


 
Mike Kouzmine   (2003-11-06 13:18) [28]

Anatoly Podgoretsky © (06.11.03 13:16) [27] Грустно это.


 
GIL   (2003-11-06 13:21) [29]

извините, просто ее долго писать, а при взгляде на нее возникнет много вопросов по степени оптимизации, все работает!!
И всем всем всем, запомните набудущее что обработчик OnFilterRecord не работает в полями подстановки!!!
всем большое спасибо за терпение и советы!!
но напоследок возник еще один вопрос, протрассировав прогу в дельфе увидел очень интересный момент: после того, как я вызываю PrintPreview у QuickReport прога еще 2 раза!! прогоняет фильтр!!, получается что я фильтрую таблицу 3 раза!! как этого избежать?


 
Mike Kouzmine   (2003-11-06 13:25) [30]

GIL © (06.11.03 13:21) [29] Спасибо, запомним. А ты подумай и нам скажи, мы тоже это запомним.


 
GIL   (2003-11-06 13:27) [31]

ну не знаю я!!!, ну скажите кто знает!! Anatoly Podgoretsky наверняка знаешь!!! скажи!! pls


 
TP   (2003-11-06 13:32) [32]

То, что OnCalcFields происходит до OnFilterRecord известно давно.


 
GIL   (2003-11-06 13:34) [33]

TP (06.11.03 13:32) [32]
То, что OnCalcFields происходит до OnFilterRecord известно давно.
при чем здесь это? Если ты про "И всем всем всем, запомните набудущее что обработчик OnFilterRecord не работает в полями подстановки!!", то сам подумай что сказал


 
Anatoly Podgoretsky   (2003-11-06 13:41) [34]

GIL © (06.11.03 13:21) [29]
обработчик OnFilterRecord работает даже с Папой Римским!!!


 
GIL   (2003-11-06 13:45) [35]

>Anatoly Podgoretsky
ну не знаю, не знаю, у меня у всех типов поля кроме подстановочных все правильно читается, а когда делаю локать по айдишнику в род. таблице все работает!!
А как насчет трехразовой фильтрации?? с ней то что делать??
причем когда ее инициирует Квикрепорт, то она пробегает одну и туже запись два раза подряд, а не просто вызывает фильтр два раза


 
GIL   (2003-11-06 14:09) [36]

ауу, кто-нибудь знает!! ответ на вопрос!!???



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

Форум: "Базы";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.008 c
1-89902
nop
2003-11-10 16:40
2003.11.27
Поиск значения в памяти процесса


4-90167
Serega____
2003-10-03 14:32
2003.11.27
API


6-90039
SaML
2003-10-01 09:42
2003.11.27
Помогите плиз...


1-89825
Slym
2003-11-14 10:49
2003.11.27
Большие целые числа (128бит) и математические операции с ними


3-89692
Sveta
2003-11-06 08:46
2003.11.27
Перенос записей из DBF в IB





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