J'essaie de faire des comparaisons de date entre une valeur de type textbox acceptant et un type de date dans Excel. Le problème est que les comparaisons de chaînes directes ne semblent pas fonctionner. J'ai besoin de sélectionner uniquement les lignes du fichier Excel où la date est inférieure à la date spécifiée par les formulaires de Eindows textBox. Toute aide serait grandement appréciée. Mon extrait de code:Comparer la valeur de date obtenue à partir de TextBox sous Windows Form, à la valeur Date stockée dans la feuille Excel
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\empdetails.xls;Extended Properties=ImportMixedTypes=Text;Excel 8.0;HDR=Yes;IMEX=1;";
OleDbDataAdapter adap = new OleDbDataAdapter("Select * from [Sheet1$] where Date < "+ txtDate.Text + "", connStr);
DataTable viewemployees= new DataTable();
adap.Fill(viewemployees);
dataGridView1.DataSource=viewemployees;
Date
est une colonne nommée d'accepter les valeurs de type date dans Excel. Format: mm/jj/aaaa.
txtDate
est une zone de texte acceptant des valeurs de même format de date. Comment puis-je utiliser des formules dans une requête par rapport à Excel? Pas sûr à ce sujet mais je pense que DateValue peut être d'une certaine aide ici?
utiliser l'objet DateTime et « .TryParse » les deux valeurs. Cela vous permettra de «comparer» directement les deux dates et vous évite d'avoir à écrire toutes sortes de codes d'analyse. –