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

IHM Discussion :

Formulaire de recherche


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 34
    Points
    34
    Par défaut Formulaire de recherche
    Salut,

    J'ai un souci avec mon code. J'ai crée un champ dans lequel j'indique le N° de TVA par lequel je souhaite ouvrir mon formulaire et ce par un click sur un btn de commande.

    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
    Private Sub Click1_Click()
     
    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("Call_1")
    rs.Index = "PrimaryKey" '
    rs.Seek "=", Recherche_TVA
     
    If rs.NoMatch Then
     
    MsgBox "Le N° de TVA " & Recherche_TVA & " n'existe pas !", vbCritical, "Mémo"
     
    Me.Recherche_TVA.SetFocus
     
    Else
        Dim strwhere As String
        strwhere = "N° de TVA = " & Recherche_TVA
     
        DoCmd.OpenForm "Call_1", , , strwhere
    End If
    rs.Close
    Set rs = Nothing
     
    End Sub
    Champ de ma table Call_1 : N° de TVA
    Nom du champ par lequel j'encode le N° de TVA par lequel s'ouvre mon formulaire : Recherche_TVA
    Nom du btn de commande qui ouvre le formulaire : Click1


    Merci pour votre aide

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour;

    ??? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rs.Seek "=", Recherche_TVA
    Ne pas oublier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[nom_champ] =" & Me.[MonControle]
    Voir : http://access.developpez.com/faq/?page=Forms#PassValeur

    Cordialement.

    Ps : Call_1 désigne combien d'objets? + Kamicaze d'utiliser "Call"
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 34
    Points
    34
    Par défaut Problème de Mise en forme conditonelle
    Merciiiiiii

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,

    Super.
    Si c'est résolu...Tag du même nom.

    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    Je n'ai toujours pas trouvé la solution à mon problème ...

    Voici le code que j'ai pour l'instant :

    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
    Private Sub Click1_Click()
     
    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("Introduction mémo")
    rs.Index = "PrimaryKey" '
    rs.Seek "[N°_de_TVA] =" & Me.[Recherche_TVA]
     
    If rs.NoMatch Then
     
    MsgBox "Le N° de TVA " & Recherche_TVA & " n'existe pas !", vbCritical, "Mémo"
     
    Me.Recherche_TVA.SetFocus
     
    Else
        Dim strwhere As String
        strwhere = "N°_de_TVA = " & Recherche_TVA
     
        DoCmd.OpenForm "Introduction mémo", , , strwhere
    End If
    rs.Close
    Set rs = Nothing
     
    End Sub

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,
    Citation Envoyé par LUCAS-28 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        ............
    Else
        Dim strwhere As String
        strwhere = "N°_de_TVA = " & Recherche_TVA
    Il manque un Me!

    Cordialement.

    Ps : Ou Me. (Selon l'humeur)
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par francishop Voir le message
    Bonsoir,
    Il manque un Me!

    Cordialement.

    Ps : Ou Me. (Selon l'humeur)
    Ok je vais essayer ce soir en rentrant ...

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    Ca ne marche pas ...

  9. #9
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Attention, si ta RechercheTVA est une string, il est nécessaire d'utiliser des Cotes dans ta syntaxe WHERE ainsi tu aurais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strwhere = "N°_de_TVA = '" & Recherche_TVA & "'"
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    Je n'y arrive pas avec vos propositions. J'ai mis le fichier en annexe, pourriez-vous y jet un coup d'oeil svp et me dire aussi comment ouvir le formulaire non en clickant sur un btn de commande, mais en appuyant enter ou une autre touche par exemple.

    Merci de votre aide

    Copie de Mémo.rar

  11. #11
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,
    Citation Envoyé par LUCAS-28 Voir le message
    comment ouvir le formulaire non en clickant sur un btn de commande, mais en appuyant enter ou une autre touche par exemple.
    Bien.Bien. Mais un peu "compliqué" ton code. Pourquoi ne pas faire simple? Par exemple : (Ce code peut être mis, presque, sur n'importe quel événement.)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Recherche_TVA_LostFocus()
    Dim strFiltre As String
      'Filtre sur le N° de TVA
        On Error Resume Next
          strFiltre = " "
          If Not IsNull(Me.Recherche_TVA) Then
            strFiltre = "Nz([N° de TVA]) LIKE '*" & Nz(Me.Recherche_TVA) & "*'"
          End If
              ' Si on désire fermer le formulaire de recherche
            'DoCmd.Close
     
             ' Ouvrir le formulaire Introduction mémo
         DoCmd.OpenForm "Introduction mémo", acNormal, , strFiltre
    End Sub
    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  12. #12
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,
    J'avais peut-être un peu trop "simplifié". J'y reviens :
    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
    Private Sub Commande1_Click()
    Dim oDb As DAO.Database
    Dim oRstFiltre As DAO.Recordset
    Dim strFiltre As String
    'Instancie la base de données
    Set oDb = CurrentDb
    'Ouvre le curseur retournant le N° de TVA
    Set oRstFiltre = oDb.OpenRecordset("SELECT * FROM [Introduction mémo] WHERE [N° de TVA]='" & Recherche_TVA & "'", dbOpenDynaset)
     
        If oRstFiltre.RecordCount <> 0 Then
         strFiltre = "Nz([N° de TVA]) LIKE '" & Nz(Me.Recherche_TVA) & "'"
         DoCmd.OpenForm "Introduction mémo", acNormal, , strFiltre
         Else
         MsgBox "Le N° de TVA " & Recherche_TVA & " n'existe pas !", vbCritical, "Mémo"
         End If
     
    'Libération des objets
    oRstFiltre.Close
    oDb.Close
    Set oRstFiltre = Nothing
    Set oDb = Nothing
    End Sub
    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    J'ai essayé avec ton code Francishop mais ca ne va pas ...

  14. #14
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour;

    Pièce jointe 19780

    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    Merci Francishop ca marche nickel !!!

    Dernière question : pour faire la meme recherche mais avec le nom du client et pouvoir juste taper une partie du nom (%partiedunom% ou partiedunom%), comment dois-je m'y prendre ?

  16. #16
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,
    Pour exemple je reprends :
    Citation Envoyé par francishop Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            strFiltre = "Nz([N° de TVA]) LIKE '*" & Nz(Me.Recherche_TVA) & "*'"
    * veut dire "Tout". Donc placé avant-->Recherche tout ce qui est placé avant de "Ce que je te dis" Et aprés.....

    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    Et concrètement, ça donnerait quoi ?

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    Malgré mes tentatives, je n'y arrive pas. QQun pourrait-il m'aider svp ?

  19. #19
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,

    On va respecter ta logique et continuer tel que :
    Sur ton formulaire inscrit une liste déroulante qui n'a pas de source contrôle.
    En contenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [Introduction mémo].ID, [Introduction mémo].[Nom du client]
     FROM [Introduction mémo];
    Nom de baptême --> cboClient

    Sur double Click
    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
    Private Sub cboClient_DblClick(Cancel As Integer)
        Dim oDb As DAO.Database
        Dim oRstFiltre As DAO.Recordset
        Dim strFiltre As String
            'Instancie la base de données
            Set oDb = CurrentDb
            'Ouvre le curseur retournant le N° du client
            Set oRstFiltre = oDb.OpenRecordset("SELECT * FROM [Introduction mémo] WHERE [Id]=" & Me.cboClient, dbOpenDynaset)
     
        If oRstFiltre.RecordCount <> 0 Then
          strFiltre = "Nz([ID]) LIKE " & Nz(Me.cboClient)
          DoCmd.OpenForm "Introduction mémo", acNormal, , strFiltre
         Else
          'On fait référence à la liste déroulante-->Première Colonne=Id Deuxième= Le nom
          'Note que placé sur cette liste déroulante il serait surprenant qu'un nom "étranger" s'y inscrive.
          'Ceci est juste pour le cas ou tu persistes à saisir dans un champ "Libre"
          MsgBox "Le client " & Me.cboClient.Column(1) & " n'existe pas !", vbCritical, "Mémo"
         End If
     
        'Libération des objets
      oRstFiltre.Close
      oDb.Close
     Set oRstFiltre = Nothing
     Set oDb = Nothing
    End Sub
    Sur ouverture du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Open(Cancel As Integer)
    Me.cboClient = Me.cboClient.ItemData(0)
    End Sub
    Cordialement
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  20. #20
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,
    Citation Envoyé par LUCAS-28 Voir le message
    Dernière question : pour faire la meme recherche mais avec le nom du client et pouvoir juste taper une partie du nom (%partiedunom% ou partiedunom%), comment dois-je m'y prendre ?
    Je n'ai pas répondu intégralement... J'y remédie :

    Sur le formulaire une zone de texte -->txtclient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub txtclient_DblClick(Cancel As Integer)
     Dim strFiltre As String
         Me.Requery
         strFiltre = "[Nom du client] Like '*" & Me.txtclient & "*'"
         DoCmd.OpenForm "Introduction mémo", acNormal, , strFiltre
    End Sub
    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

Discussions similaires

  1. Formulaire de recherche multitables
    Par SpyesX dans le forum Access
    Réponses: 7
    Dernier message: 24/11/2005, 11h50
  2. [MySQL] Formulaire de recherche PHP + un script d recherche en HTML
    Par Dsphinx dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/11/2005, 19h44
  3. alléger un formulaire de recherche
    Par jarod71 dans le forum Langage
    Réponses: 4
    Dernier message: 28/10/2005, 11h11
  4. Réponses: 3
    Dernier message: 20/10/2005, 12h42
  5. Réponses: 5
    Dernier message: 18/10/2005, 14h09

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