Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Erreur syntaxe SQL

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

carlos

XLDnaute Impliqué
Bonjour,
Pouvez vous m'aider à trouver l'erreur de syntaxe?
L'erreur se situe au niveau --> or APS2 = '" & APS.Value.
Cible = "SELECT DISTINCT APS1,Sexe ,APS2 FROM [BaseEleve$] WHERE APS1 = '" & APS.Value & "'" or APS2 = '" & APS.Value & "'" & ";"
Merci
Carlos
 
Re : Erreur syntaxe SQL

Re,

Le mieux est de déboguer soit-même. Je crois bien que c'est du SQL sous Access (le ";" de la fin m'y fait penser).

Dans ton vba, juste après l'instruction "Cible= ...", place :

Debug.Print Cible
Stop

Tu vas :
- exécuter la procédure qui va s'arrêter sur 'stop'
- stopper le code (réinitialiser la macro), copier-coller le rendu de la fenêtre d'exécution dans Excel
- ouvrir Access, créer un requête vide qu'on passe en mode sql, coller puis exécuter la requête

Le message d'erreur d'Access sera certainement plus explicite et on pourra essayer de corriger directement.


Poulpor
 
Re : Erreur syntaxe SQL

Bonjour Poulpor,David84

la proposition de David84 marche très bien pour :
APS1 est du string
APS2 est du string

Par contre pour cette syntaxe j'ai un souci :

Dpt est parfois en texte parfois en byte ( poulpor)
CentreAPS1 est en texte
Cible = "SELECT DISTINCT Dpt, CentreAPS1 FROM [BaseEleve$] WHERE Dpt = '" & Dpt.Value & "' and CentreAPS1 = '" & CentreAPS1.Value & "';"
Merci à vous deux de votre aide
Carlos
 
Re : Erreur syntaxe SQL

Bonjour MJ13
Je peux effectivement fixer le type sur byte.
Comment faire marcher alors le byte et le string sous la syntaxe suivante ?
Dpt en byte
CentreAPS1 en string
Cible = "SELECT DISTINCT Dpt, CentreAPS1 FROM [BaseEleve$] WHERE Dpt = '" & Dpt.Value & "' and CentreAPS1 = '" & CentreAPS1.Value & "';"
Merci Carlos
 
Re : Erreur syntaxe SQL


Pourquoi ne pas convertir Dpt en texte ?
Code:
Cible = "SELECT DISTINCT Dpt, CentreAPS1 FROM [BaseEleve$] WHERE Dpt = '" & CStr(Dpt.Value) & "' and CentreAPS1 = '" & CentreAPS1.Value & "';"
Tester également en utilisant la propriété Text à la place de Value
Code:
Dpt.Text ou CStr(Dpt.Text)
A+
 
Re : Erreur syntaxe SQL

Re

Merci pour ta proposition
J'ai testé les 3 formule s de type pour le DPt.Rien à faire .
Je vais retravaillé dessus pour comprendre un peu mieux comment fonctionnent les SQL.
Merci Davis 84, je te recontacte des que j'ai mieux compris .
 
Re : Erreur syntaxe SQL

Bonsoir,

POur connaître les noms et les types des champs:

Code:
Sub LectureAccess()
  'Microsoft ActivexDataObject 2.8 Library dans outils/référence
  repertoire = ThisWorkbook.Path & "\"
  Dim rs As ADODB.Recordset
  Set cnn = New ADODB.Connection
  cnn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & repertoire & "Access2000.mdb"
  Set rs = cnn.Execute("SELECT * FROM Client")
  For i = 0 To rs.Fields.Count - 1
    Cells(i + 2, 1) = rs(i).Name
    Cells(i + 2, 2) = rs(i).Type
  Next i
  rs.Close
  cnn.Close
  Set rs = Nothing
  Set cnn = Nothing
End Sub

JB
 
Re : Erreur syntaxe SQL

Bonjour à tous
Merci Poulpor78 pour ta réponse.

J'ai fait le choix de mettre tout mes champs de ma base de donnée excel en type string.
Ce sera plus facile à gérer je pense.

Je suis face à une nouvelle difficulté .
Une première combobox qui s'appelle Dpt récupère tous les départements du champs DPt(string).

Cible = "SELECT DISTINCT Dpt,CentreAPS1,CentreAPS2 FROM [BaseEleve$] WHERE Dpt = '" & Dpt.Value & "';"

En même temps il distribue dans une second combobox ( Centre) tous les noms des centres qui sont dans le champs CentreAPS1.

Centre.AddItem Rs.Fields(1).Value 'Ca marche bien

J'aimerais qu'il rajoute aussi dans le combobox Centre ,les centres qui sont aussi en CentreAPS2

Comment faire ?
Merci et bonne journée
Carlos.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
313
Réponses
5
Affichages
968
Réponses
10
Affichages
792
Réponses
3
Affichages
882
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…