Requête SQL

Résolu
softlane Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
softlane Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je développe une application en VB.net et lors de l'exécution, je reçois le message d'erreur suivant: "Type de données incompatible dans l'expression du critère" je voudrais savoir qu'est-ce qui pose problème.
Je signale que c'est une application de gestion des vacation et je souhaite remplir le datagrid à partir du nom de l'enseignant et de la date de vacation. cette date qui est comprise entre la valeur du DateTimePicker1 et celle du DateTimePicker2 présents sur le formulaire.

Voici la partie de code qui pose problème. (la ligne en gras et italique)

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

'Chargement des données dans le datagrid

connexion.ConnectionString = "Provider= Microsoft.jet.OLEDB.4.0; Data Source=C:\Users\Cheick Adam DIABY\Documents\bdgestion.mdb"
connexion.Open()
'"SELECT * FROM Vacations,Enseignants where nom +' '+ prénoms='" & ComboBox1.SelectedItem & "' and Vacations.matricule= Enseignants.matricule"
Str = "SELECT * FROM Vacations,Enseignants where [nom] +' '+ [prénoms]= '" & ComboBox1.SelectedItem & "' and (date_vacation between '" & DateTimePicker1.Value & "' and '" & DateTimePicker2.Value & "' )and Vacations.matricule= Enseignants.matricule"

Dim da As New DataTable

Dim oLdbDataAdapter As New OleDbDataAdapter(Str, connexion)
oLdbDataAdapter.Fill(da)

DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = da
DataGridView1.Refresh()
connexion.Close()
End Sub

Mon application marche a part ce problème.
merci de m'aider.

3 réponses

le père
 
Bonjour

je ne connais pas grand chose en .net, mais ce ne serait pas [nom] &' ' & [prénoms] au lieu de [nom] +' '+ [prénoms] ?
La concaténation des chaîne, c'est plutôt & que +, je crois
0
william7007 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   46
 
slt
'" & DateTimePicker2.Value & "' )and Vacations.matricule= Enseignants.matricule"

fait aussi attention à la separation du ) et du and sinon problème
cdlt.
0
softlane Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
Je tiens à vous remercier les gars. j'ai réussi à trouver une solution à mon problème et pour ceux que ça aiderait, voici le code qu'il fallait taper:
"SELECT * FROM Vacations,Enseignants where [nom] +' '+ [prénoms]= ' " & ComboBox1.SelectedItem & " ' and date_vacation between #" & DateTimePicker1.Value & "# and #" & DateTimePicker2.Value & "# and Vacations.matricule= Enseignants.matricule"
Comme quoi pour les dates, à la place des ' (côtes) il faut mettre des # (dièses)

Merci beaucoup pour votre contribution sans laquelle je n'y serai jamais arrivé.
0