AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Filtering two IBTable and insert or edit IBTable
Thema durchsuchen
Ansicht
Themen-Optionen

Filtering two IBTable and insert or edit IBTable

Ein Thema von danten · begonnen am 28. Feb 2014 · letzter Beitrag vom 5. Mär 2014
Antwort Antwort
Seite 2 von 3     12 3      
danten

Registriert seit: 19. Feb 2012
Ort: Czech Republic, Prag
126 Beiträge
 
Delphi 10.1 Berlin Architect
 
#11

AW: Filtering two IBTable and insert or edit IBTable

  Alt 2. Mär 2014, 17:45
OK, ERROR:
"Unsupported Feature"
Delphi-Quellcode:
Query.Params[0].Name := 'start';
Query.Params[0].DataType := ftTimeStamp;
Query.Params[0].ParamType := ptUnknown;
Query.Params[0].Value := EncodeDate(2014, 2 ,17);
Query.Params[1].Name := 'end';
Query.Params[1].DataType := ftTimeStamp;
Query.Params[1].ParamType := ptUnknown;
Query.Params[1].Value := EncodeDate(2014, 2 ,20);
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Filtering two IBTable and insert or edit IBTable

  Alt 2. Mär 2014, 17:48
Did you try my (much shorter) code? What is the datatype of "WHEN"?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Filtering two IBTable and insert or edit IBTable

  Alt 2. Mär 2014, 18:07
I would change the name when to a not reserved name. The paramters should be created automatically, when ParamCheck is true.
Markus Kinzler
  Mit Zitat antworten Zitat
danten

Registriert seit: 19. Feb 2012
Ort: Czech Republic, Prag
126 Beiträge
 
Delphi 10.1 Berlin Architect
 
#14

AW: Filtering two IBTable and insert or edit IBTable

  Alt 3. Mär 2014, 16:21
Did you try my (much shorter) code? What is the datatype of "WHEN"?
"WHEN" =>> ftDateTime
Delphi-Quellcode:
SELECT
  *
FROM
  ATTENDANT
WHERE
  "WHEN" BETWEEN :start1 AND :end1

New Error:
"Dynamic SQL Error.
SQL error code=-206
Column unknown
START1
At line 1, column 48."
Daniel

Geändert von danten ( 3. Mär 2014 um 16:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#15

AW: Filtering two IBTable and insert or edit IBTable

  Alt 3. Mär 2014, 19:04
I would change the name when to a not reserved name.
WHEN is a reserved word.
Using reserved words in SQL could lead to VERY STRANGE errors.
I (and mkinzler) recommend to change the name of the field.

PS: don't set ParamType to ptUnknown! Set it to ptInput.
fork me on Github

Geändert von sx2008 ( 3. Mär 2014 um 19:07 Uhr)
  Mit Zitat antworten Zitat
danten

Registriert seit: 19. Feb 2012
Ort: Czech Republic, Prag
126 Beiträge
 
Delphi 10.1 Berlin Architect
 
#16

AW: Filtering two IBTable and insert or edit IBTable

  Alt 5. Mär 2014, 07:20
Thank you to all friends
Delphi-Quellcode:
function Tfrm_main.Attendant_Filter:boolean;
var
  myYear,myMonth,myDay:word;
  set_day, my_day,
  set_week,start_week,end_week,
  set_month,start_month,end_month,
  day_month,
  set_year, start_year,end_year:string;
begin

  DecodeDate(NOW, myYear, myMonth, myDay);

  ///////////////////////////////////////////////////////////

    (* Filter day *)
  my_day := DateToStr(NOW);
  set_day := '("WHEN" >= ' + QuotedStr(my_day) + ')';

  (* Filter week *)
  start_week := IntToStr(dayofweek(now -1))+'.'+ IntToStr(myMonth)+'.'+IntToStr(myYear);
  end_week := IntToStr(dayofweek(now -1)+7)+'.'+ IntToStr(myMonth)+'.'+IntToStr(myYear);

  set_week := '("WHEN" >= ' + QuotedStr(start_week)
              + ') and ("WHEN" <= ' + QuotedStr(end_week)
              + ')';

  (* Filter  month *)
  start_month := '1.'+ IntToStr(myMonth)+ '.' + IntToStr(myYear);
// day_month := IntToStr(MonthDays[IsLeapYear(myYear)][2]); //
  end_month := '1.' + IntToStr(myMonth + 1) + '.' + IntToStr(myYear);

  set_month := '("WHEN" >= ' + QuotedStr(start_month)
              + ') and ("WHEN" <= ' + QuotedStr(end_month)
              + ')';

  (* Filter year*)
  start_year := '1.1.'+ IntToStr(myYear);
  end_year := '1.1.'+ IntToStr(myYear +1);

  set_year := '("WHEN" >= ' + QuotedStr(start_year)
              + ') and ("WHEN" <= ' + QuotedStr(end_year)
              + ')';

  ///////////////////////////////////////////////////////////////

  ShowMessage(QuotedStr(start_year) + ' : '+ QuotedStr(end_year));
  ShowMessage(QuotedStr(start_month) + ' : '+ QuotedStr(end_month));
  ShowMessage(QuotedStr(start_week) + ' : '+ QuotedStr(end_week));
  ShowMessage(QuotedStr(my_day));
  ........
  Result := True;

end;
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Filtering two IBTable and insert or edit IBTable

  Alt 5. Mär 2014, 07:24
Now set ShotDateFormat to e.g. "MM/DD/YYYY" and try it again.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
danten

Registriert seit: 19. Feb 2012
Ort: Czech Republic, Prag
126 Beiträge
 
Delphi 10.1 Berlin Architect
 
#18

AW: Filtering two IBTable and insert or edit IBTable

  Alt 5. Mär 2014, 15:06
Thank you perfect.

Last question: How do I know the days last week.?
start_old_week := ????? return = 24.2.2014 ?????
end_old_week := ????? return = 2.3.2014 ?????
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Filtering two IBTable and insert or edit IBTable

  Alt 5. Mär 2014, 15:09
I don' t know what you mean exactly . You might have a look at the "DateUtils"-Unit, maybe there' s a function for your purpose.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
danten

Registriert seit: 19. Feb 2012
Ort: Czech Republic, Prag
126 Beiträge
 
Delphi 10.1 Berlin Architect
 
#20

AW: Filtering two IBTable and insert or edit IBTable

  Alt 5. Mär 2014, 15:27
Find out last week, when it started and when it ended. Return date.
Daniel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz