IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

syntax des requêtes Sql selon les données à traiter


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Par défaut syntax des requêtes Sql selon les données à traiter
    Bonjours,

    J'ai une interrogation et un problème ^^ :

    Voici une requête "SELECT" qui permet d'afficher dans une autre form VB6 certaines informations MAIS ma requête sélectionne les résultats selon 5 critères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Modifier = "select * from Reservation where NomOrganisme = '" & LabelOrganisme.Caption & "' and VilleOrganisme = '" & LabelVille.Caption & "' and [N°FicheReservation] = '" & LabelFiche.Caption & "' and DateSeance = #" & CDate(LabelDate) & "# and HoraireSeance = '" & LabelHoraire.Caption & "'"
    Mon interrogation est : Pourquoi mettre des "and" entre les conditions alors que j'ai fais un autre projet où je mettais simplement des "," et ça marchais.

    Mon problème : Prenons cette même requête, grâce à cette requête je remplis plusieurs textbox dans une form.
    Dans ma table Réservation j'ai par exemple 3 organisme de même nom, de même ville mais pas de même numero de Seance, ni date seance etc..
    Donc logiquement avec toutes mes conditions si je choisi le deuxième Organisme, ça afficherais les informations de cet Organisme malgré que trois organismes ont le même nom et ville ALORS que ici ... Non il m'affiche toujours les informations du premier organisme enregistré dans la table.
    Pourquoi?Comment? ^^

    Merci pour vos réponse

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Bonjour,

    quel est le rapport avec VB6 ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Par défaut
    Parce que j’exécute ce code sous vb6 et non sous vba.
    Après je ne sais pas, je pensais que comme tout mon projet est géré par VB6 je pouvais poster ici...

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut
    Citation Envoyé par pra3t0r Voir le message
    Bonjours,

    J'ai une interrogation et un problème ^^ :
    ....
    Mon interrogation est : Pourquoi mettre des "and" entre les conditions alors que j'ai fais un autre projet où je mettais simplement des "," et ça marchais.
    ....
    Je n'ai jamais tenté de mettre des , dans la partie Where d'une instruction SQL, alors j'ai essayé, et j'ai un message d'erreur de syntaxe.
    Ce qui me laisse a penser que les conditions multiples d'une requête SQL ne peut être que And ou Or.
    Pour le Select la virgule permet de designer les différents champs que l'on désir obtenir, idem dans le choix du classement pour la partie Order By.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Par défaut
    bonjours,

    Merci pour l'explication =)

    Et donc pour mon problème avec cette requête c'est dû à quoi?
    J'ai mis assez de conditions pour qu'il me prenne seulement le résultat que je veux afficher dans ma form alors que ici, il me prend coute que coute le premier résultat qu'il trouve dans ma base de donnée..

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Par défaut
    J'ai peut être trouver une solution alternative à mon problème de requête :
    Au lieu d'avoir 300 conditions ^^ je fais apparaitre dans ma table organisme un numéro. Chaque numéro étant différent cela devrait résoudre le pb.
    Alors j'ai mis dans ma MsFlexgrid (qui comportait jusqu'ici l'organisme, la ville et l'arrondissement) une colonne "Num"

    Voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Dim requete As String
     
    MSFlexGrid1.Cols = 4
    MSFlexGrid1.ColWidth(0) = 500
    MSFlexGrid1.ColWidth(1) = 1500
    MSFlexGrid1.ColWidth(2) = 1500
    MSFlexGrid1.ColWidth(3) = 1500
    MSFlexGrid1.Row = 0
    MSFlexGrid1.Col = 0
    MSFlexGrid1.Text = "Num :"
    MSFlexGrid1.Col = 1
    MSFlexGrid1.Text = "Organisme :"
    MSFlexGrid1.Col = 2
    MSFlexGrid1.Text = "Ville :"
    MSFlexGrid1.Col = 3
    MSFlexGrid1.Text = "Arrondissement :"
     
    Set base = OpenDatabase(App.Path + "\CirqueDB97")
        requete = "select NOrganisme, NomOrganisme, VilleOrganisme, Arrondissement from ORGANISME"
    Set rs = base.OpenRecordset(requete)
     
     
    Do While rs.EOF = False
        MSFlexGrid1.AddItem rs("NOrganisme") + Chr(9) + rs("NOMORGANISME") + Chr(9) + rs("VilleOrganisme") + Chr(9) + rs("Arrondissement")
        rs.MoveNext
    Loop
    Mon soucis maintenant c'est quand je lance ma form.. => error type mismatch >.< ; J’enlève le NOrganisme(valeur numerique automatique dans Access) ça marche, je l'affiche sans les autres ça marche ! bref j'arrive pas à les afficher tous les 4... pourquoi?

  7. #7
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Peut être dût au signe + ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        MSFlexGrid1.AddItem rs.Fields("NOrganisme") & Chr(9) & rs.Fields("NOMORGANISME") & Chr(9) & rs.Fields("VilleOrganisme") & Chr(9) & rs.Fields("Arrondissement")
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/04/2015, 13h27
  2. Réponses: 4
    Dernier message: 25/08/2014, 12h45
  3. Code Igniter Intercepter les erreurs lors des requêtes vers bases de données
    Par ilalaina dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 06/10/2009, 07h52
  4. [SQL] Gérer les erreurs des requêtes SQL
    Par eagleleader dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/10/2007, 13h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo