Ma requêtes SQL ne retourne rien ...

emarck Messages postés 23 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 15 octobre 2017 - 21 févr. 2011 à 20:04
emarck Messages postés 23 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 15 octobre 2017 - 22 févr. 2011 à 20:28
Bonjour,
Je fais actuellement un programme tout simple ou je désire faire une requêtes slq avec plusieurs WHEN imbriqué.

Après plusieurs tentative, mon application compile sans erreur. Voici ma requète:

strSql "SELECT * FROM VDRN WHERE VDRN.Municipalite '" & ComboBox1.Text & "' AND VDRN.nom_rue = '" & rue_old.Text & "'AND VDRN.Type='" & type_old.Text & "'AND VDRN.no_civique= '" & no_civique_old.Text & "'AND VDRN.code_postal= '" & code_postal_old.Text & "' AND VDRN.Direction= '" & direction_old.Text & "' AND VDRN.Article = '" & article_old.Text & "' AND VDRN.suffix = '" & suffix_old.Text & "' AND VDRN.suite= '" & suite_old.Text & "'"

Ou VDRN est la seul table de la bd et toutes les infos sont sur une même lignes.

Lorsque j'exécute l'application et que je remplis mes champs je sors de ma sub se_connecter et tombe dans le code ci-dessous:

Call se_connecter()

If RowNumber < 0 Then Exit Sub

'Lors de l'ouverture de la BD, s'il n'y a aucun enregistrement

If RowNumber > ObjetDataTable.Rows.Count - 1 Then Exit Sub


' Remplir les champs de ma form

'ObjetTable.Rows(Numéro de lignes).Item( Nom de colonne) donne le contenu
'd'un champ dans une ligne donnée
Me.no_civique.Text = ObjetDataTable.Rows(RowNumber).Item("no_civique_new").ToString()
Me.suffix_suite.Text = ObjetDataTable.Rows(RowNumber).Item("suffix_new").ToString
Me.type.Text = ObjetDataTable.Rows(RowNumber).Item("type_new").ToString
Me.article.Text = ObjetDataTable.Rows(RowNumber).Item("article_new").ToString
Me.rue.Text = ObjetDataTable.Rows(RowNumber).Item("nom_rue_new").ToString
Me.ville.Text = ObjetDataTable.Rows(RowNumber).Item("municipale_new").ToString
Me.code_postal_new.Text = ObjetDataTable.Rows(RowNumber).Item("code_postal_new").ToString




End Sub



à tout coup avec cette requête sql, le code stop et sort de ma sub, car cette ligne s'exécute. RowNumber reste toujours à zéro ???

If RowNumber > ObjetDataTable.Rows.Count - 1 Then Exit Sub

Lorsque je prends la même requêtes sql et que je l'exécute dans access 2007 elle me présente la ligne voulu dans ma table...

Si je réduit ma requête à un WHEN comme ceci:

strSql "SELECT * FROM VDRN WHERE VDRN.Municipalite '" & ComboBox1.Text & "'"

Le code roule sans problème et RowNumber à plus de zéro.

Est-ce-que vb.net serait capricieux avec les select contenant plusieurs condition de type WHEN ??


Merci de votre aide !
emarck

1 réponse

emarck Messages postés 23 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 15 octobre 2017
22 févr. 2011 à 20:28
Bonjour,
une petite mise à jour concernant mon problème...

J'ai jouer avec ma requête sql. En effet, j'ai retrancher des sections AND... Ensuite j'ai rajouter un AND supplémentaire et j'ai compilé.

La requêtes ci-dessous est le plus loin que j'ai peu aller en nombre de AND suite au WHERE.

strSql "SELECT * FROM VDRN WHERE VDRN.Municipalite '" & ComboBox1.Text & "' AND VDRN.nom_rue = '" & rue_old.Text & "'AND VDRN.Type='" & type_old.Text & "'AND VDRN.no_civique= '" & no_civique_old.Text & "' AND VDRN.code_postal= '" & code_postal_old.Text & "'"

Si je rajoutes un AND supplémentaire après code_postal_old.text & "'" la requête ne fait pas d'erreur, mais mon résultat reste toujours à zéro aucun enregistrement est retourné.

C'est dommage que je ne puisse pas en ajouter, car dans l' idéal, j'aurais 4 AND supplémentaire pour extraire l'enregistrement désiré.

Le pire est que le tout fonctionne en access...

Donc ma solution actuelle, se résume comme suit:

Utilisé ma requêtes courte :
strSql "SELECT * FROM VDRN WHERE VDRN.Municipalite '" & ComboBox1.Text & "' AND VDRN.nom_rue = '" & rue_old.Text & "'AND VDRN.Type='" & type_old.Text & "'AND VDRN.no_civique= '" & no_civique_old.Text & "' AND VDRN.code_postal= '" & code_postal_old.Text & "'"

Et dans le cas ou j'ai plus d'un enregistrement en retour, faire un second tri de c'est entregistrements en validant les champs du formulaire par rapport au données des différents enregistrements....

Si vous avez des suggestions je suis preneur !

emarck
0
Rejoignez-nous