IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Tri DGV avec des dates #encore [Débutant]


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 96
    Points
    96
    Par défaut Tri DGV avec des dates #encore
    Salut la team,
    A cause du taff, j'ai pas assez de temps pour creuser le sujet, mais j'ai lu les centaines de posts + MSDN et rien n'y fait !
    J'ai une DGV qui contient une colonne de date, bien-sur au format dd/mm/yyyy (sinon y'a pas de soucis au format ricain : yyyy/mm/dd)
    Et qui est bien-sur trier selon une string... comme d'hab quoi :/
    Donc j'ai tester les astuces MSDN :
    https://msdn.microsoft.com/fr-fr/lib...vs.110%29.aspx et tous les autres posts d'internet.
    Cependant y'a rien qui marche et cela commence à me gaver de perdre autant de temps sur un problème aussi simple !
    Du coup je viens vers vous pour m’éclairer sur mes bêtises.
    Postulat :
    1-la dgv est un user control hérité de datagridview.
    2-cette dgv est peuplé par un datable via un bindingSource (pour le filtrage)

    j'ai évidement essayer cela dans mes forms qui utilisent l'UC dgv:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void dgv_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
            {
                if (e.Column.Name.ToLower().Contains("date"))
                    e.SortResult = DateTime.Compare((DateTime)e.CellValue1, (DateTime)e.CellValue2);
                e.Handled = true;
            }
    mais il ne rentre même pas l'event

    est-ce dû à l'user control ? je le pense, faudrait-il que je passe le sortCompare dans l'uc et pas dans son instance ?

    voici le code de l'UC :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    public class DGV : DataGridView
        {
            // propriétés
            /// <summary>
            /// indique si la dgv cache les colonnes qui commencent par PK (dataBase)
            /// </summary>
            public bool _CacherPK { get; set; }
     
     
            // couleurs
            private Color _CouleurLigneImpair = Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(225)))), ((int)(((byte)(225)))));
            private Color _CouleurLigneSelect = Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(155)))), ((int)(((byte)(155)))));
     
     
            #region "Création d'une instance"
     
            protected override void OnCreateControl()
            {
                // CONFIG de L'user control
                this.AllowDrop = false;
                this.AllowUserToAddRows = false;
                this.AllowUserToDeleteRows = false;
                this.AllowUserToOrderColumns = false;
                this.AllowUserToResizeColumns = true; // redimensionnement colonne possible
                this.AllowUserToResizeRows = false; // pas de redimensionnement des lignes possible
                this.DefaultCellStyle.SelectionBackColor = _CouleurLigneSelect;
     
                // style des lignes impaires
                DataGridViewCellStyle ligneImpaire = new DataGridViewCellStyle();
                ligneImpaire.BackColor = _CouleurLigneImpair;
                ligneImpaire.SelectionBackColor = _CouleurLigneSelect;
                this.AlternatingRowsDefaultCellStyle = ligneImpaire;
     
                // style de colonne
                DataGridViewCellStyle styleCol = new DataGridViewCellStyle();
                styleCol.Alignment = DataGridViewContentAlignment.MiddleCenter;
                styleCol.ForeColor = Color.Black;
                styleCol.SelectionBackColor = Color.Blue;
                styleCol.WrapMode = DataGridViewTriState.True; //autorise le retour à la ligne 24/01/15
                this.ColumnHeadersDefaultCellStyle = styleCol;
     
                this.BorderStyle = BorderStyle.None;
     
                this.ReadOnly = true; // En lecture seul
     
                this.RowHeadersVisible = false; // pas de colonne en entête
                this.AutoGenerateColumns = true;
                this.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                //Par défaut on selectionnera des lignes
                this.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                this.MultiSelect = false;
     
                this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
     
                // ajoute un évenement pour la gestion du format des cellules en fonction des valeurs
                this.CellFormatting +=
                    new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.DGV_CellFormatting);
                // ajoute un évenement si le dataSource change    
                this.DataSourceChanged += 
                    new EventHandler(DGV_DataSourceChanged);
                // ajoute un évenement si le dataSource est activé et rempli
                this.DataBindingComplete += 
                    new DataGridViewBindingCompleteEventHandler(DGV_DataBindingComplete);
            }
            #endregion
     
            #region "EVENTS"
            void DGV_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
            {
                GestionAffichageColonne((DGV)sender);
            }
     
            void DGV_DataSourceChanged(object sender, EventArgs e)
            {
                GestionAffichageColonne((DGV)sender);
            }
     
            // Change la façon d'afficher les cellules selon la colonne et sa valeur.
            private void DGV_CellFormatting(object sender,
                System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
            {
     
                // bloque l'affichage le temps de tout remplir
                this.SuspendLayout();
                // style écriture par défaut
                e.CellStyle.Font = new Font("Arial", 10);
     
     
     
                // couleur de texte pour les colonnes avec action : En bleu 
                if (this.Columns[e.ColumnIndex].Name.Equals("nom") ||
                    this.Columns[e.ColumnIndex].Name.Equals("designation"))
                {
                    e.CellStyle.ForeColor = Color.Blue;
                }
     
                else
                {
                    e.CellStyle.ForeColor = Color.Black;
                }
                this.ResumeLayout(false);
                this.PerformLayout();
            }
            #endregion
     
     
     
            /// <summary>
            /// Masquer les colonne qui en doivent jamais être visibles et traite les clés FK pour l'affichage
            /// </summary>
            /// <param name="_dgv">le sender casté de la DGV en cours</param>
            private void GestionAffichageColonne(DGV _dgv)
            {
                int i = 0;
                foreach (DataGridViewColumn item in _dgv.Columns)
                {
                    // cacher les colonnes de clé primaire
                    if (_CacherPK && item.Name.StartsWith("pk")) this.Columns[i].Visible = false;
                    i++;
                }
            }
        }

  2. #2
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 96
    Points
    96
    Par défaut
    Je me permet au vus des réponses :/ concernant la datagridView de préciser mon problème :
    j'essaye de la renseigner avec des valeurs typées, mais comment ? Voici comment mon code fonctionne actuellement :

    1-Utilisation de SlqLite (qui ne prends pas les champs Date, du moins pas à ma connaissance)
    2-J'ai pour Ex une table qui contient (ID, DateSaisie, texte) donc Integer, texte et texte
    3-j'utilise ceci pour lire la table (ou la vue selon le besoin)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public DataTable LireTable(string nomTable)
            {
                using (SQLiteConnection c = new SQLiteConnection(_chaineConnection))
                {
                    DataTable tbl = new DataTable(nomTable);
                    c.Open();
     
                    // requéte
                    string _sql = "SELECT * FROM " + nomTable; 
     
                    // Préparation du DataAdapter pour l'extraction
                    using (SQLiteCommand cmd = new SQLiteCommand(_sql, c))
                    {
                        using (SQLiteDataAdapter da = new SQLiteDataAdapter(cmd))
                        {
                            // Remplissage d'une DataTable
                            da.Fill(tbl);
                        }
                    }
                    c.Close();
                    return tbl;
     
                }
            }
    4-Générique et efficace mais pas facile de modifier le résultat du retour pour y placer un GetType("date") sur une column.
    puis je rempli un bindingsource pour y remplir la dataGridView de chaque formulaire concerné comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // les filtres sur dgv necessite un binding source
            private BindingSource bs = new BindingSource();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public void rafraichir()
            {
                // lecture du dataTable pour affichage dans la dgv
                bs.DataSource = new TodoManager().LireDGV(); //le manager (renseigne juste le nom de la table ou de la vue à lire)
                dgv.DataSource = bs;
            }
    D’où mon soucis pour appliquer un format Date.

  3. #3
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 96
    Points
    96
    Par défaut Alernative :/
    Bon vu l’absence de réponse j'ai bricolé un truc à l’arrache...
    C'est moche, plein d'effet de bord mais bon, ça marche dans mon cas.
    je place ma solution pour les prochains en espérant avoir des critiques sur la bonne façon de faire !
    kenavo !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    /// <summary>
            /// lecture d'une table 
            /// pour un dataTable (gridview)
            /// </summary>
            public DataTable LireTable(string nomTable)
            {
                using (SQLiteConnection c = new SQLiteConnection(_chaineConnection))
                {
                    DataTable tbl = new DataTable(nomTable);
                    c.Open();
     
                    // requéte
                    string _sql = "SELECT * FROM " + nomTable; 
     
                    // Préparation du DataAdapter pour l'extraction
                    using (SQLiteCommand cmd = new SQLiteCommand(_sql, c))
                    {
                        using (SQLiteDataAdapter da = new SQLiteDataAdapter(cmd))
                        {
                            // Remplissage d'une DataTable
                            da.Fill(tbl);
                            // test attribution du type date au dataTable - 27/12/15 -
                            // Impossible de changer DataType d'une colonne lorsqu'il contient des données. grrrrrr
                            int numColonne = 0;
                            int numLigne = 0;
                            foreach (DataColumn colonne in tbl.Columns)
                            {
                                if (colonne.ColumnName.ToLower().Contains("date"))
                                    foreach (DataRow ligne in tbl.Rows)
                                    {
                                        string Value = (string)ligne.ItemArray[numColonne];
                                        // test de conversion en date, mais marche pas mieux
                                       // DateTime newValue = Convert.ToDateTime(Value.Clone());
                                       // tbl.Rows[numLigne][numColonne] = newValue.ToShortDateString();
                                        // test de conversion en format américain yyyy/mm/dd au lieu de dd/mm/yyyy
                                        string newValue = Value.Substring(6, 4) + Value.Substring(2, 4) + Value.Substring(0, 2);
                                        tbl.Rows[numLigne][numColonne] = newValue;
                                        numLigne += 1;
                                    }
                                //tbl.Columns[numColonne].DataType = typeof(DateTime);
                                numColonne++;
                            }
                        }
                    }
                    c.Close();
                    return tbl;
     
                }

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Même si le champs date n'existe pas sous SQL LITE, une date reste quand même une donnée numérique (un nombre d'unité (jour) par rapport à une date de référence). Et donc le stocker en tant que chaîne de caractère est la pire chose que tu puisses faire... Le type qui me fait un truc pareil, c'est limite si je l'affecte pas au changement des consommables de la photocopieuse.

    Bref dans ton cas t'as meilleurs temps de modifier ton objet .net pour ajouter une propriété qui wrap ta propriété chaîne de caractère en effectuant la conversion (string <-> date) même si l'idéal est de revenir sur la modélisation de la base de donnée, d'utiliser un champ numérique et de se renseigner sur le mapping numérique (SQL LITE) vers le type date pour la CLR .NET.

  5. #5
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 96
    Points
    96
    Par défaut
    Enfin une réponse
    Alors oui je comprends un peu ton principe, même si recharger les photocopieuse est un peu fort comme punition
    J'ai loosé à vouloir placer mes dates en string, alors que j'aurais pu les mettre en Timespan ! OK you win But !
    Tu as tout bon c'est une excellente idée.
    Cependant mon datable aura alors une colonne int ou double, au lieu de string. Car c'est lui qui rempli ma DGV
    ce qui, tu en conviendras, une fois sur mon DataGridView ne marchera pas mieux :/ juste moins lisible.
    Il me faudrait convertir un TimeSpan en date lisible, tout en pouvant filtrer le header de ce DGV en timeSpan.
    Hot hot for me ^^
    Je suis pas un dev, juste j'apprends et je ne fais pas le café

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Après quelques recherche j'ai trouvé que

    SQLite ne stocke pas directement des dates mais en text (ISO8601) ou en numérique à l'aide de fonction. Mais en aucun cas dans ton format de texte

    1.2 Date and Time Datatype

    SQLite does not have a storage class set aside for storing dates and/or times. Instead, the built-in Date And Time Functions of SQLite are capable of storing dates and times as TEXT, REAL, or INTEGER values:
    •TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").
    •REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
    •INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.

    Applications can chose to store dates and times in any of these formats and freely convert between formats using the built-in date and time functions.
    L'utilisation de tick ou de la chaîne ISO peut être configuré à l'aide de la chaîne de connexion. (J'y suis peut être aller un peu fort sur les date en chaînes vu que ce format ISO est une solution acceptable).

    https://www.connectionstrings.com/sqlite/

    J'ai aussi vu dans la documentation de SQLite.NET qu'il est possible d'inclure à une requête SELECT un statetement permettant d'indiquer à ADO.NET le type à utiliser pour traiter les données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TYPES [bigint], [int], [smallint], [tinyint];
    SELECT 1, 2, 3, 4;
    Ne sachant pas précisément ce que tu utilises comme provider ADO.NET pour travailler avec SqlLite, c'est difficile de t'aider plus.

  7. #7
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 96
    Points
    96
    Par défaut
    Merci pour les infos, je l'ai avait parcouru aussi, mais :
    La requête Select peut être typé comme tu le montre, mais pas avec un type date, donc je me retrouve toujours avec soit un type string soit un numeric.
    Pour le provider c'est celui du site SqlLite version .net avec un appel selon le code ci dessus.
    Pour la chaine de connexion c'est basiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private const string CONNECTION_STRING = @"Data Source=datas\bdd.sqlite; Version=3";

  8. #8
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Et si tu utilise la fonction date(timestring, modifier, modifier, ....) dans la requête SQL comment interprété le résultat ?

    Sachant que le timestring doit être une chaîne au format ISO-8601 dans la base.

  9. #9
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 96
    Points
    96
    Par défaut
    Bonsoir Sinople,
    merci pour ton soutient !
    SqlLite ne prends pas en charge le format Date, j'aurais au mieux dans mon dataTable un champ string (au bon format certe, mais en string)
    Donc la DGV qui en sera 'Bindé' le verra comme un champ string et donc le trie basique sur le Header' ne marchera pas.
    Sachant que l'on ne peut pas modifier le type d'une colonne d'un dataTable, la seul façon de faire que j'ai trouvé est de modifier la valeur dd-MM-yyyy par le format américain yyyy-MM-dd.

    la requête est des plus basique pour être générique aux 50 autres tables soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // requéte
                    string _sql = "SELECT * FROM " + nomTable;
    Maintenant je n'ai pas forcément compris ton propo, un petit exemple concret ?
    Merci pour ta lecture et pour ton aide.
    Bonne soirée ADN.

  10. #10
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Personnellement j'essayerai déjà de faire une requêtes qui remplit une datatable crée à l'avance avec les bon types. Pour voir si le provider est déjà capable de convertir le text en yyyy-mm-dd en Date (et inversement).

    Si c'est le cas, il te reste plus qu'à abandonner le côté générique ou alors il te faut retravailler la partie du provider qui détermine automatiquement le type d'une datacolonne à partir d'un enregistrement.

  11. #11
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 96
    Points
    96
    Par défaut
    Bonsoir,
    je ne peux pas modifier la requête car je suis en IOC (injection de dépendance) et en plus sur mon petit erp l'utilisateur peu creer des tables via le logiciel.
    Je ne peux donc pas prévoir à l'avance de façon simple les champs typés.
    Je suis obligé de garder cette généricité.
    Pour le provider je n'ai pas à mon avis le niveau pour le modifier, je ne suis même pas sur que les sources soient disponibles :/

    Il faut vraiment se retourner vers les surcharges des méthodes sort et compare des DGV.
    Il doit y avoir un truc que je fais mal, car sur d'autre site il semble qu'ils ont réussi :'(

    un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
            // à finir pour trier les dates dans les DGV
            private void dgv_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
            {
     
                //MessageBox.Show("Test NOk");
                //if (e.Column.Name.ToLower().Contains("date"))
                //    e.SortResult = DateTime.Compare((DateTime)e.CellValue1, (DateTime)e.CellValue2);
                //e.Handled = true;
            }
     
            private void dgv_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
            {
    //            //Récupérer le composant
    //            DataGridView dgv = (DataGridView)sender;
    //            //MessageBox.Show("Test1 Ok");
    //            if (dgv.SelectedColumns[0].Name.Contains("date"))
    //            {
    //MessageBox.Show("Test Ok");
    //            }
            }
    Merci de ta lecture. Kenavo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Encore une gymnastique avec des dates
    Par olibara dans le forum Développement
    Réponses: 4
    Dernier message: 25/09/2014, 22h17
  2. Chart mettre un axe avec des dates
    Par rvzip64 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 07/10/2005, 11h36
  3. [VB.NET] Requete avec des dates dans un DataSet
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/10/2005, 14h30
  4. Requetes avec des dates
    Par PrinceMaster77 dans le forum SQL
    Réponses: 1
    Dernier message: 22/11/2004, 17h46
  5. [Requête] Difficile (impossible ?) avec des dates
    Par starch dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/04/2004, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo