REQUETE EN ADO AVEC UN LEFT OU SUBSTR DANS LES CLAUSES

matnac Messages postés 1 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 9 novembre 2012 - 9 nov. 2012 à 14:29
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 9 nov. 2012 à 20:27
Bonjour,

Je cherche à effectuer une requête sur une base de données externes (ADO) en filtrant les données d'une colonne de données de type string. Je crois savoir que la fontion Left() ne fontionne pas pour le ADO. Synthaxe ???

Voici un code test qui cible bien mon problème.


Private Sub TESTSQLADO()

Dim rstProductData As New ADODB.Recordset
Dim cnn As New ADODB.Connection

Dim SELECTED_PR As String
Dim TORSION_SHAFT As String


cnn.ConnectionString = "DSN=Cedo2012-09;"
cnn.CursorLocation = adUseClient
cnn.Open


'TORSION_SHAFT = "SHAFT-TUBE-1.00-102"

' FONCTIONNE!!!!!! rstProductData.Open "SELECT * FROM Product WHERE PrNumber='" & TORSION_SHAFT & 102 & "'", cnn, adOpenKeyset, adLockOptimistic
' FONCTIONNE!!!!!! rstProductData.Open "SELECT * FROM Product WHERE PrNumber='" & TORSION_SHAFT & "'", cnn, adOpenKeyset, adLockOptimistic

rstProductData.Open "SELECT PrNumber from Product WHERE Left(PrNumber,19)='SHAFT-TUBE-1.00-102'", cnn, adOpenKeyset, adLockOptimistic


With rstProductData
SELECTED_PR = !PrNumber

End With

MsgBox SELECTED_PR
End Sub

Merci

1 réponse

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
9 nov. 2012 à 20:27
Bonjour,

Quel SGBD utilises-tu, car tous les SGBD n'utilisent pas la même syntaxe pour Left.

Sinon, utilises l'opérateur LIKE.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Rejoignez-nous