Liste du mois + année [Résolu]

elicec77 9 Messages postés mardi 29 mars 2005Date d'inscription 10 mars 2006 Dernière intervention - 29 mars 2005 à 16:21 - Dernière réponse : elicec77 9 Messages postés mardi 29 mars 2005Date d'inscription 10 mars 2006 Dernière intervention
- 1 avril 2005 à 10:31
Je suis étudiante en bts et je souhaite faire une liste au format date qui comprend uniquement le mois et l'année, sans utiliser le DateTimePicker pour pouvoir l'utiliser comme condition dans une requête SQL.
merci de votre aide !!!!
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
WhiteHippo 1270 Messages postés samedi 14 août 2004Date d'inscription 5 avril 2012 Dernière intervention - 31 mars 2005 à 15:54
3
Merci
ok c'est un peu plus clair, tout ça :)

type
TMois = 1..12 ;
TAnnees = 2003..9000 ;


procedure TForm1.Button1Click(Sender: TObject);
const
NOM_MOIS : array[TMois] of string =
( 'Janvier '
, 'Février '
, 'Mars '
, 'Avril '
, 'Mai '
, 'Juin '
, 'Juillet '
, 'Août '
, 'Septembre '
, 'Octobre '
, 'Novembre '
, 'Décembre '
) ;


var
Liste : TStrings ;
Annee, Mois : Integer ;


begin
Liste := TStringList .Create ;
try
// Création de la liste
for Annee := Low(TAnnees) to High(TAnnees) do
begin
for Mois := Low(TMois) to High(TMois) do
begin
Liste.Add( NOM_MOIS[Mois] + IntToStr( Annee ) ) ;
end ;
end ;


// Ajout de la liste à un ComboBox
ComboBox1.Items.Assign(Liste);


finally
Liste.Free ;
end ;
end;

Je modifierais également la requete SQL :
Au lieu de :
table.SQL.Add('and datet=:b') ;
// N.B. ' au lieu de " et =: au lieu de = !! Est ce bien de Delphi dont-il sagit ici ????
J'ecrirais :
with ComboBox1 do
begin
table.SQL.Add("and datet=" + Items[ItemIndex] ) ;
end ;

P.S. Euh Janvier 2003 .. Décembre 9000, d'ici là les employés seront tous décédés et ton programme aussi bon soit -il sera obsolète, remplacé et oublié depuis fort longtemps :oP

Cordialement.

Merci WhiteHippo 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de WhiteHippo
WhiteHippo 1270 Messages postés samedi 14 août 2004Date d'inscription 5 avril 2012 Dernière intervention - 30 mars 2005 à 22:15
0
Merci
Un peu plus de précision nous serais, je pense nécessaire ;)

Tu veux une liste toute simple ressemblant à celle ci ?
01/2005
02/2005
03/2005

La liste doit être mise dans un ListBox, un TStrings, ... ?

Les mois representent-ils uniquement ceux de l'année en cours, ou bien plutot 10 derniers mois .. 10 prochains mois (plage flottante), etc... ?

Le résultat de la liste doit-il être directement exploitable par le SQL, au quel cas quel format souhaites tu ? ( Un exemple de requête serait le bien venu :)

Cordialement.
Commenter la réponse de WhiteHippo
elicec77 9 Messages postés mardi 29 mars 2005Date d'inscription 10 mars 2006 Dernière intervention - 31 mars 2005 à 08:27
0
Merci
Je souhaite une liste du type Janvier 2003
Février 2003.....
jusqu'à Décembre9000!!!!
en fait mon programme consiste à faire un comptage d'heure passer par des employer d'une société, à l'aide d'un compteur ; et ensuite je dois traiter les information par mois j'effectue une requête du type

//requête num_cli
cli.SQL.Clear;
cli.SQL.Add('select Num_cli');
cli.SQL.Add('From CLIENT');
cli.SQL.Add('where Lib_cli=:x');
cli.Params[0].AsString:= DBLookupComboBox1.Text;
cli.Open;


//Affichage des info dans le dbgrid
table.SQL.Clear;
table.SQL.Add('SELECT Num_tache, datet as [date], Nbre_heure as [temps de travail], Nom_employer as [Par qui]');
table.SQL.Add('FROM TACHE, EMPLOYER');
table.SQL.Add('Where EMPLOYER.Num_employer= TACHE.Num_employer');
table.SQL.Add('and Num_cli=:a') ;
table.SQL.Add('and datet=:b') ;
table.Params[0].Asinteger:=cli.Fields[0].AsInteger;
table.Params[1].Asdate:=dateta;
table.Open;

petite précision, ma base de donnée est access! et j'ai du mal a traiter les type date avec!!

merci de ton aide, cordialement.
Commenter la réponse de elicec77
elicec77 9 Messages postés mardi 29 mars 2005Date d'inscription 10 mars 2006 Dernière intervention - 1 avril 2005 à 10:31
0
Merci
Merci de ton aide pour la liste c'est juste ce qu'il me fallait! mais pour la requête ca marche pas!je vais étudier la question!
au fait décembre 9000 c'étais de l'ironie!
cordialement.
Commenter la réponse de elicec77

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.