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 :

Requète avec mot clé venant d'un champ de form


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Requète avec mot clé venant d'un champ de form
    Bonjour à tous.

    Je sais ma question a du être posée déja.

    Mais malgré une recheche active je n'ai pas trouvé.

    Pourriez vous m'aider.

    Voila

    Je fais un formulaire [frm_find_prob] vide avec une zone de texte appelée [find_prob].

    Une requête qui s'appuye sur une table

    Dans ma requête comme critère sur le champ problème je souhaite faire
    un truc dans le genre:

    comme forms![frm_find_prob]![*find_prob*]

    de manière à retourner tous les champs ou se trouvent le mot clé entré dans mon formulaire.

    Merci infiniment par avance à tous.

    Bonne journée.

    Patrick.

  2. #2
    Membre averti Avatar de binouzzz19
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    385
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    Points : 368
    Points
    368
    Par défaut
    et en mettant dans ta requete un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "select ... from ... where ... like '%" & forms![frm_find_prob]![find_prob] &  "%';"

  3. #3
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Bonjour,

    voici un exemple que j'ai dans un projet en cours. Tu as un champ de recherche comme le tien dans lequel on rentre un critère. Si la requête trouve un seul enregistrement, on alimente des champs du formulaire avec les données trouvées. Si la requête trouve plusieurs enregistrements, on alimente une combobox qui va permettre au user de faire son choix dedans.

    Tu as des commentaires dans le code pour te dire quelles portions font quoi.

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    Private Sub Rechercher_Click()
     
    Dim Critere As String
    Dim StrSQL As String
    Dim Rst As Recordset
    Dim NbEnregistrements As Integer
     
    'La requête qui suit sélectionne tous les articles dont la référence OU la désignation
    'contiennent le critère renseigné par l'utilisateur.
    'On ouvre ensuite un recordset avec cette requête, et on teste le nombre de lignes.
     
    Critere = Me.Controls("Recherche").Value
    StrSQL = "SELECT * FROM Articles WHERE Designation LIKE '*" & Critere & "*' OR Reference LIKE '*" & Critere & "*'"
    Me.RecordSource = StrSQL
    Set Rst = Me.RecordsetClone
     
    'S'il n'y a aucune ligne, on affiche un message.
     
    If Rst.BOF And Rst.EOF Then
        MsgBox "Aucun article ne correspond à votre recherche"
        Exit Sub
    Else
        Rst.MoveLast
        NbEnregistrements = Rst.RecordCount
     
    'S'il n'y a qu'une ligne, on renseigne les différents champs du formulaire avec les données
    'de l'article trouvé.
     
        If NbEnregistrements = 1 Then
            Me.Controls("Recherche").Value = ""
            Me.Controls("Reference").Value = Rst.Fields("Reference")
            Ref = Rst.Fields("Reference")
            Me.Controls("Designation").Value = Rst.Fields("Designation")
            Me.Controls("Stock").Value = Rst.Fields("Stock")
            Me.Controls("Fournisseur").Value = Rst.Fields("Fournisseur")
            Me.Controls("CodeFournisseur").Value = Rst.Fields("CodeFournisseur")
            Me.Controls("PrixUnitaire").Value = Rst.Fields("PrixUnitaire")
            Me.Controls("Unite").Value = Rst.Fields("Unite")
            Me.Controls("StockMini").Value = Rst.Fields("StockMini")
            Me.Controls("Divers").Value = Rst.Fields("Divers")
        End If
     
    'S'il y a plusieurs lignes, on affiche la liste déroulante, et on l'alimente avec
    'les désignations des différents articles trouvés par la requête.
     
        If NbEnregistrements > 1 Then
        Me.Controls("Liste").Visible = True
        Me.Controls("NouvelleRecherche").Visible = True
        Me.Controls("Liste").SetFocus
        Me.Controls("Recherche").Visible = False
        Me.Controls("Rechercher").Visible = False
        Rst.MoveFirst
        Me.Controls("Liste").Value = Rst.Fields("Designation")
        While Not Rst.EOF
            Me.Controls("Liste").AddItem Rst.Fields("Designation")
            Rst.MoveNext
        Wend
        End If
    End If
     
    End Sub

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut StrSQL = "SELECT * FROM tbl_main WHERE Description probleme LIKE '*" & Critere & "*'"
    Les foudres des developpeurs vont s'abbatre sur moi :-(

    Voila le message d'insultes

    Erreur d'execution '3075':

    Erreur de syntaxe (operateur absent) dans l'expression 'Description probleme LIKE '*Disque*".

    Merci (Mais le gland n'est pas encore prêt à devenir un chêne :-(

  5. #5
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Vu que tu as un espace dans le nom de ton champ (decription probleme), il faut que tu le mettes entre crochets : [decription probleme] Sinon SQL est perdu.

    Le plus simple étant encore de ne pas utiliser d'espaces dans ton nommage...

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Résolu
    MErci infiniment pour ton aide.

    Patrick.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [A-03] Requête avec toutes les valeurs d'un champ
    Par badeux dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 10/10/2008, 11h22
  2. Requête avec conditions multiples sur le même champ
    Par skerdreux dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/06/2008, 19h15
  3. Réponses: 10
    Dernier message: 12/06/2008, 15h06
  4. Requête avec plusieurs paramètres d'un même champ d'une table
    Par jb.julien dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 21/08/2007, 09h43
  5. Problème de requête avec cumul des conditions sur un champ
    Par UtopieAmbiante dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/01/2006, 10h52

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