Avatar billede elohim Nybegynder
26. februar 2002 - 15:36 Der er 11 kommentarer og
1 løsning

DBGrid - Sortering på Dato der er valgt i Timepicker

Hej Igen

Jeg har en DBGrid som jeg klikker på et tilfældigt sted, derved åbner jeg en anden DBGrid. Det virker fint, men hvordan får jeg sorteret visningen efter en dato jeg har valgt i en Timepicker i MainFormen og kan det i det hele taget lade sig gøre.
Jeg ville gerne kun have vist Records for den valgte Dato når jeg åbner formen.
Avatar billede morten_s Nybegynder
26. februar 2002 - 16:01 #1
laver et sl kald på datoen

sql.text := 'select * from MyTabel order by dato
Avatar billede elohim Nybegynder
26. februar 2002 - 17:54 #2
Hvor kommer Timepicker ind i billedet
Avatar billede morten_s Nybegynder
26. februar 2002 - 18:26 #3
sql.text := 'SELECT * FROM DinTabel WHERE Dato < TimPicker.Date
ORDER BY Dato '

Hvilken DB bruger du ?
Avatar billede elohim Nybegynder
27. februar 2002 - 12:02 #4
Paradox 7
Avatar billede morten_s Nybegynder
27. februar 2002 - 12:14 #5
Men du bruger ikke SQL ?
Avatar billede elohim Nybegynder
27. februar 2002 - 12:43 #6
Det kan jeg ikke finde ud af, jeg er ny i programmering og derved også i delphi.
Kender du nogle letforståelige steder (helst dansk) med undervisning i SQL. Jeg syntes også det er forvirrende med alle de titler, der findes jo MySQL, MSSQL og SQL server og hvad ved jeg.
Derfor bruger jeg nogle gange at spørge her på Ekperten når der opstår et eller andet problem. Og jeg tænkte at der måske var en mulighed for at sorterer en dato alt efter hvad jeg trykker på i den forgående grid, det var egentlig det jeg havde brug men ville starte langsomt ud ;-)
altså sådan at forstå
jan    feb  marts ......
1
2    >Klik< her, ville jeg se den 2/2 2002 i den DBGrid jeg kommer til
3
4
Avatar billede morten_s Nybegynder
27. februar 2002 - 12:56 #7
ja men så skal du bare bruge en locate på dit dataset
så springer den selv derhen

DateTimeToString(DatoTidStr, 'yyyy-mm-dd hh:nn:ss', DateTimePicker.DateTime);
MyTable.Locate('Dato', DatoTidStr, []);
forudsætning din kollone hedder dato
Avatar billede elohim Nybegynder
27. februar 2002 - 13:20 #8
OK takker, det kan være du også kan fortælle mig, hvordan så nøjes med at få vist den dato jeg har valgt i datotimepicker
Avatar billede morten_s Nybegynder
27. februar 2002 - 13:49 #9
Mon ikke du skal gøre sådan her
var
  MinDato : TDate;
begin
  MinDato := DateTimePicker.Date;
end;
Avatar billede elohim Nybegynder
27. februar 2002 - 13:57 #10
OK så misforstod du mig eller også udtrykte jeg det ikke rigtigt.
Jeg vil kun have vist Records som har datoen jeg vælger i DateTimePicker.
Avatar billede elohim Nybegynder
27. februar 2002 - 14:06 #11
Er det ikke rigtigt at dette vil DD, hvis jeg indsætter den i Global.pas filer og kalder den fra andre forms med F8

interface
Procedure TInputDate.HandleEvent(Var Event : TEvent);
Var
  S    : String;
  Date : LongInt;
  ShiftState  : ^Byte;
begin
  ShiftState := Ptr(Seg0040, $0017);
  if Event.What = EvKeyDown then
  Begin
    Case Event.KeyCode of
      KbF8    : begin
        Data^ := GetShortDate;
        DrawView;
        ClearEvent(Event);
      end;
    end;
  End;
  TInputText.HandleEvent(Event);
end;
implementation
Avatar billede morten_s Nybegynder
27. februar 2002 - 14:16 #12
Hvad med noget i denne stil

procedure TfDBDriver.Button1Click(Sender: TObject);
var
  DatoStr : String;
begin
  DateTimeToString(DatoStr, 'c', date);
  ShowMessage(DatoStr);
end;

Lidt fra Delphi hjælpen

Controls formatting of dates and times.

Description

Date-Time Format Strings specify the formatting of date-time values (such as TDateTime) when they are converted to strings. Date Time Format Strings are passed to formatting methods and procedures (such as FormatDateTime), and are also used to set certain global variables (such as ShortDateFormat).

Date Time Format Strings are composed from specifiers that represent values to be inserted into the formatted string. Some specifiers (such as "d"), simply format numbers or strings. Other specifiers (such as "/") refer to locale-specific strings from global variables.

In the following table, specifiers are given in lower case. Case is ignored in formats, except for the "am/pm" and "a/p" specifiers.

Specifier    Displays
c    Displays the date using the format given by the ShortDateFormat global variable, followed by the time using the format given by the LongTimeFormat global variable. The time is not displayed if the date-time value indicates midnight precisely.
d    Displays the day as a number without a leading zero (1-31).
dd    Displays the day as a number with a leading zero (01-31).
ddd    Displays the day as an abbreviation (Sun-Sat) using the strings given by the ShortDayNames global variable.
dddd    Displays the day as a full name (Sunday-Saturday) using the strings given by the LongDayNames global variable.
ddddd    Displays the date using the format given by the ShortDateFormat global variable.
dddddd    Displays the date using the format given by the LongDateFormat global variable.
e    Displays the year in the current period/era as a number without a leading zero (Japanese, Korean and Taiwanese locales only).
ee    Displays the year in the current period/era as a number with a leading zero (Japanese, Korean and Taiwanese locales only).
g    Displays the period/era as an abbreviation (Japanese and Taiwanese locales only).
gg    Displays the period/era as a full name. (Japanese and Taiwanese locales only).
m    Displays the month as a number without a leading zero (1-12). If the m specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.
mm    Displays the month as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.
mmm    Displays the month as an abbreviation (Jan-Dec) using the strings given by the ShortMonthNames global variable.
mmmm    Displays the month as a full name (January-December) using the strings given by the LongMonthNames global variable.
yy    Displays the year as a two-digit number (00-99).
yyyy    Displays the year as a four-digit number (0000-9999).
h    Displays the hour without a leading zero (0-23).
hh    Displays the hour with a leading zero (00-23).
n    Displays the minute without a leading zero (0-59).
nn    Displays the minute with a leading zero (00-59).
s    Displays the second without a leading zero (0-59).
ss    Displays the second with a leading zero (00-59).
z    Displays the millisecond without a leading zero (0-999).
zzz    Displays the millisecond with a leading zero (000-999).
t    Displays the time using the format given by the ShortTimeFormat global variable.
tt    Displays the time using the format given by the LongTimeFormat global variable.
am/pm    Uses the 12-hour clock for the preceding h or hh specifier, and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly.
a/p    Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly.
ampm    Uses the 12-hour clock for the preceding h or hh specifier, and displays the contents of the TimeAMString global variable for any hour before noon, and the contents of the TimePMString global variable for any hour after noon.
/    Displays the date separator character given by the DateSeparator global variable.
:    Displays the time separator character given by the TimeSeparator global variable.
'xx'/"xx"    Characters enclosed in single or double quotes are displayed as-is, and do not affect formatting.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester