Bonjour, j'ai un problème avec une combo box qui se remplie avec des dates.

Elle marche bien , on peut sélectionner la date et le traitement se passe bien,

mais arrivé à la fin du mois on ne peut pas accéder au dates du mois suivants.

Ex - Aujourd'hui (13/07/2009)je clic sur la combobox

La combobox me délivrera comme date maximum 31/07/2009.

Alors qu'elle devrai normalement delivrer 13/08/2009


J'espère avoir été claire.

Pourriez vous m'aider SVP !!

Je ne connais pas du tout le CSharp mais j'ai quelque notion de VBA ,Java et PHP.


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
#region Methodes
 
            /// <summary>
            /// Rempli la ComboBox cbDate avec les dates de la table CALENDRI inférieure à Date du jour +31
            /// </summary>
            /// <param name="chaineConnexion">La chaine de connexion à la base de données</param>
            public void remplirDate(String chaineConnexion)
            {
                DateTime time = DateTime.Now;
                int date = date2int(time);
                date = date +31;
                String rqt;
                rqt = "SELECT calendri.CALDAT as dateAffichees , calendri.CALDAT as dateDonnees FROM calendri WHERE (((calendri.CALDAT)<>0 And (calendri.CALDAT)< " + date + ")) ORDER BY calendri.CALDAT DESC";
                remplirComboDate(cbDate, rqt, new OleDbConnection(chaineConnexion));       
            }
 
            public string dateFrToEng(string date)
            {
                string annee;
                string mois;
                string jour;
                annee = date.Substring(6, 4);
                mois = date.Substring(3, 2);
                jour = date.Substring(0, 2);
                return annee + "/" + mois + "/" + jour;
            }
 
 
 
/// <summary>
            /// Rempli une ComboBox avec le premier champ (format aaaammjj) de la requete qui est affiché sour un format
            /// de date courte et le deuxième champ servira de données
            /// </summary>
            /// <param name="cb">La ComboBox à remplir</param>
            /// <param name="sql">La requête à utiliser</param>
            /// <param name="connexion">La connexion à la base de données</param>
            public void remplirComboDate(ComboBox cb, String sql, OleDbConnection connexion)
            {
                OleDbCommand cmd = new OleDbCommand(sql, connexion);
                connexion.Open();
                OleDbDataReader oddr = cmd.ExecuteReader();
                ArrayList liste = new ArrayList();
                int i;
                while (oddr.Read())
                {
                    i = int.Parse(oddr.GetValue(0).ToString());
                    liste.Add(new AddValue(int2date(i).ToShortDateString(), oddr.GetValue(1)));
                }
                cb.DataSource = liste;
                cb.DisplayMember = "Display";
                cb.ValueMember = "Value";
                cmd.Connection.Close();
            }
 
#region Evénements
            private void MainForm_Load(object sender, EventArgs e)
            {
                remplirDate(chaineConnexion95);
            }