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); }
Partager