* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Aprile 19, 2024, 06:01:34 pm

Inserisci il nome utente, la password e la durata della sessione.

389 Visitatori, 1 Utente

Autore Topic: filtrare tabella per data con datetimepicker  (Letto 16409 volte)

gianpa

  • Full Member
  • ***
  • Post: 180
  • Karma: +0/-0
filtrare tabella per data con datetimepicker
« il: Settembre 18, 2013, 04:40:24 pm »
ciao
riesco a filtrare una tabella ottenendo i record prima di una certa data così:
clientdataset1.Filter:='DATA<''18/09/2013''';
però vorrei scegliere a runtime la data che voglio o con un tedit o con il DTPicker però ottengo sempre errori soprattutto con le virgolette !
qualcuno di voi sà la sintassi corretta ?

Grazie

ciao

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #1 il: Settembre 18, 2013, 05:34:53 pm »
ciao, hai già provato con la sintassi Between ?!
Ieri è passato, domani è futuro, oggi è un dono...

gianpa

  • Full Member
  • ***
  • Post: 180
  • Karma: +0/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #2 il: Settembre 18, 2013, 08:59:09 pm »
scusa , ma ho postato già quello che vorrei ,cioè che mi ritorni la lista dei record dove la data è precedente a oggi (per esempio) . Con between mi pare che si possa indicare un intervallo di tempo che non mi serve!
Vorrei sapere come sfruttare il suddetto componente (comodo perchè visualizza un calendario da cui estrarre la data voluta)

ciao

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #3 il: Settembre 18, 2013, 10:20:57 pm »
La butto a sentimento:
Codice: [Seleziona]
clientdataset1.Filter:=Format('DATA<"%s"',[datetostr(data)]);

la variabile data è un datetime.
Eventualmente espora come chiedere a dateToStr come ottenere la data nel formato che vuoi. (Italiano suppongo dall'esempio)

Stilgar
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

brunello

  • Jr. Member
  • **
  • Post: 83
  • Karma: +0/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #4 il: Settembre 19, 2013, 10:21:31 am »
così su SQLSERVER funziona, ciao Brunello

clientdataset1.Filter := 'DATA<' + QuotedStr(FormatDateTime('yyyy/mm/dd', giorno));

gianpa

  • Full Member
  • ***
  • Post: 180
  • Karma: +0/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #5 il: Settembre 19, 2013, 04:58:23 pm »
Grazie Brunello era quello che mi serviva; purtroppo però mi dice:

[Pascal Error] Unit1.pas(62): E2250 There is no overloaded version of 'FormatDateTime' that can be called with these arguments

grazie lo stesso!
ciao

gianpa

  • Full Member
  • ***
  • Post: 180
  • Karma: +0/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #6 il: Settembre 19, 2013, 05:01:29 pm »
ho provato anche la sintassi suggerita da Stilgar ,ma:
[Pascal Error] Unit1.pas(64): E2250 There is no overloaded version of 'DateToStr' that can be called with these arguments

----stesso identico errore------

sob!!!

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #7 il: Settembre 19, 2013, 06:56:22 pm »
Sia DateToStr che FormatDateTime richiedono come parametro una variabile di tipo TDateTime. Che cosa passi come parametro?

brunello

  • Jr. Member
  • **
  • Post: 83
  • Karma: +0/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #8 il: Settembre 19, 2013, 07:20:58 pm »
Non ho verificato con DTPicker ma con un semplice componente DateEdit1 passi il parametro Date non ci sono problemi, ciao Brunello

clientdataset1.Filter := 'DATA<' + QuotedStr(FormatDateTime('yyyy/mm/dd', DateEdit1.Date));

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #9 il: Settembre 19, 2013, 08:06:36 pm »
Tra l'altro notavo ora una cosa: quell'errore [Pascal Error] non mi pare di averlo mai incontrato in Lazarus e/o freepascal, così come non mi risulta ci sia un TDateTimePicker in lazarus. Stai usando per caso Delphi?

gianpa

  • Full Member
  • ***
  • Post: 180
  • Karma: +0/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #10 il: Settembre 20, 2013, 09:12:03 am »
Grazie Brunello ,ora provo !
Sì Legolas li uso entrambi ...

Ciao

Antonello

  • Jr. Member
  • **
  • Post: 50
  • Karma: +0/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #11 il: Settembre 20, 2013, 11:05:08 am »
lazarus + sqlite + ztable

procedure TForm1.Button1Click(Sender: TObject);
begin
  if CalendarDialog1.Execute then
  begin
    ZTable1.Filter := 'Data < ''' + DateToStr(CalendarDialog1.Date) + '''';
    ZTable1.Filtered := true;
  end else
    ZTable1.Filtered := false;
end; 

funziona

gianpa

  • Full Member
  • ***
  • Post: 180
  • Karma: +0/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #12 il: Settembre 20, 2013, 11:04:16 pm »
ho modificato così per il delphi2007 : procedure TForm1.Button1Click(Sender: TObject);
begin

  if monthcalendar1.ExecuteAction=1 then
  begin
    sqldataset1.Filter := 'Data < ''' + DateToStr(monthcalendar1.Date) + '''';
    sqldataset1.Filtered := true;
  end else
    sqldataset1.Filtered := false;


end;

end.

ma mi da' errore su executeaction (non c'è execute) --> not enough parameters !
La sintassi richiede un parametro booleano(ho messo=1)

ciao

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #13 il: Settembre 21, 2013, 09:05:57 am »
TCalendarDialog e TMonthCalendar sono due componenti differenti, quindi non puoi utilizzarli allo stesso modo!

Il primo è un dialog, e per questo motivo ti è stato mostrato un esempio che ne prevede l'apertura per l'utilizzo (CalendarDialog1.Execute). Il secondo invece è già visibile sul form, quindi non devi richiamare nessun codice per mostrarlo a schermo. Probabilmente potrebbe bastare

Codice: [Seleziona]
    sqldataset1.Filter := 'Data < ''' + DateToStr(monthcalendar1.Date) + '''';
    sqldataset1.Filtered := true;

gianpa

  • Full Member
  • ***
  • Post: 180
  • Karma: +0/-0
Re:filtrare tabella per data con datetimepicker
« Risposta #14 il: Settembre 21, 2013, 11:22:00 pm »
con questa istruzione :

edit1.Text:=dateTostr(monthcalendar1.Date);

sono riuscito a passare il valore cliccato sul monthcalendar1 al componente edit1 che mi visualizza la data che ho scelto!
ora non mi resta che passare la data al filtro per ottenere i record che hanno la data inferiore ...
provo perchè ancora trovo errori ... poi posto il risultato!
ciao



 

Recenti

How To

Utenti
  • Utenti in totale: 785
  • Latest: gmax
Stats
  • Post in totale: 18772
  • Topic in totale: 2233
  • Online Today: 578
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 1
Guests: 389
Total: 390

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.