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

Requêtes et SQL. Discussion :

variable dans requete syntaxe


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Points : 26
    Points
    26
    Par défaut variable dans requete syntaxe
    Dans un formulaire, un champ est alimenté par le resultat d'une requete du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.pd40p = DLookup("total", "td40p")
    Cette requete est basée sur le nom du formulaire ouvert que je récupére dans une variable "ActualForm"
    Le code de la requete est de ce type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT blabla
    FROM Table1
    WHERE (((Table1.Champ1)=[forms].[Form1].[Champ1])
    je souhaite remplacer Form1 dans la requete par la variable Public ActualForm pour avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE (((Table1.Champ1)=[forms].[ActualForm].[Champ1])

    mais ne trouve pas la bonne syntaxe.

    Merci de votre précieuse aide

    Krassi

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 219
    Points : 227
    Points
    227
    Par défaut As tu essayé Me?
    As tu essayé Me?

    Alex

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Dans ta requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE (((Table1.Champ1)=[forms].[ActualForm].[Champ1])
    [forms].[ActualForm].[Champ1])

    te donne une donnée, il faut la traiter comme une variable et faire une concaténation de chaine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE (((Table1.Champ1)=" & [forms].[ActualForm].[Champ1]) & "
    Si c'est du texte, il faut mettre ' avant et après les ""

    Starec

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    J ai un message erreur "type donnée incompatible dans l'expression du critère

  5. #5
    Invité
    Invité(e)
    Par défaut
    Re

    Ta valeur de champ1 est elle numérique ou texte ?

    Starec

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    Texte

    Krassi

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Starec
    Bonjour

    Dans ta requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE (((Table1.Champ1)=[forms].[ActualForm].[Champ1])
    [forms].[ActualForm].[Champ1])

    te donne une donnée, il faut la traiter comme une variable et faire une concaténation de chaine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE (((Table1.Champ1)=" & [forms].[ActualForm].[Champ1]) & "
    Si c'est du texte, il faut mettre ' avant et après les ""

    Starec
    A la dernière ligne j'ai mis mettre des ' avant et aprés les "

    Starec

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    NIN désolé mais c'est du numérique

    Krassi

  9. #9
    Invité
    Invité(e)
    Par défaut
    Re

    Et ton champ de ta table ?

    Starec

  10. #10
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    same same c'est aussi du numérique

    Krassi

  11. #11
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    J ai essaye de contourner le pb de syntaxe en créant une nouvelle variable SrtgReq qui donne par espion "[forms].[ActualForm].[Champ1]"
    quand j essaye de l'integrer dans ma requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE ((Table1.Champ1)=" & StrgReq & ")
    jai toujours ce message d'erreur : données incompatibles ...
    De meme si je fais avec des ' '
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE ((Table1.Champ1)="' & StrgReq & '")

    Krassi

  12. #12
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Je supposes que ActualForm est déclaré en tant que Form.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ... WHERE (((Table1.Champ1)=" & forms(ActualForm)!Champ1 & "

  13. #13
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    Merci à tous pour le temps passé mais les solutions proposées ne fonctionnent pas, quelque soit la formule utilisée, j'ai toujours ce même foutu message :données incompatibles ...

    Krassi

  14. #14
    Invité
    Invité(e)
    Par défaut
    Re

    Essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    forms![ActualForm]!Champ1
    Starec

  15. #15
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    Je crois que j'ai essayé toutes les possibilités:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    forms![ActualForm]!Champ1 
    forms.[ActualForm]!Champ1
    forms![ActualForm].Champ1 
    [forms]![ActualForm]![Champ1]
    [forms].[ActualForm]![Champ1]
    " & [forms]![ActualForm]![Champ1] & "
    "' & [forms]![ActualForm]![Champ1] & '"
    " & [forms].[ActualForm]![Champ1] & " etc
    et ca ne marche pas,

    Ca me broutte réellement et je crois que je vais faire plus bestial en écrivant en dur toutes les requetes ou ActualForm varie

    Merci encore


    Krassi

  16. #16
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    bjr,

    on ne peut pas utiliser une variable directement
    par contre on peut utiliser une fonction
    il suffit donc de créer une fonction qui renvoit la valeur de la variable

  17. #17
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    on ne peut pas utiliser une variable directement
    Alors dites moi pourquoi ceci marche bien?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Option Compare Database
    Public mform As String
    
    
    Public Sub test()
    Dim mbd As Database
    
    Set mbd = CurrentDb()
    Set DTab1 = mbd.OpenRecordset("Select * From Table1 Where (Champ1=" & Forms(mform)!Texte2 & ")")

  18. #18
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par krassi
    Je crois que j'ai essayé toutes les possibilités:
    forms![ActualForm]!Champ1
    forms.[ActualForm]!Champ1
    forms![ActualForm].Champ1
    [forms]![ActualForm]![Champ1]
    [forms].[ActualForm]![Champ1]
    " & [forms]![ActualForm]![Champ1] & "
    "' & [forms]![ActualForm]![Champ1] & '"
    " & [forms].[ActualForm]![Champ1] & " etc
    Krassi
    J'i tout vu sauf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    " & forms(ActualForm)![Champ1] & "

  19. #19
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Citation Envoyé par DMboup
    Alors dites moi pourquoi ceci marche bien?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Option Compare Database
    Public mform As String
    
    
    Public Sub test()
    Dim mbd As Database
    
    Set mbd = CurrentDb()
    Set DTab1 = mbd.OpenRecordset("Select * From Table1 Where (Champ1=" & Forms(mform)!Texte2 & ")")
    ah ben c'est dans du VBA alors oui ça marche

Discussions similaires

  1. [MySQL] Syntaxe insertion variable dans requete SQL
    Par przvl dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/06/2015, 15h34
  2. variable dans requete SQL pour delphi
    Par socooooool dans le forum Bases de données
    Réponses: 9
    Dernier message: 25/01/2013, 11h27
  3. Variables dans requetes db2
    Par godzilla dans le forum DB2
    Réponses: 1
    Dernier message: 28/07/2006, 16h33
  4. problème de variable dans requetes mysql
    Par Nelmo dans le forum MFC
    Réponses: 6
    Dernier message: 20/05/2006, 23h30
  5. [MySQL] Problme de variables dans requete
    Par eown dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/04/2006, 17h05

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