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

Access Discussion :

Je voudrais mettre à jour mon sous-formulaire Access selon les critères de recherche


Sujet :

Access

  1. #1
    Futur Membre du Club Avatar de creytas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Je voudrais mettre à jour mon sous-formulaire Access selon les critères de recherche
    Bonjour à tous, je suis dans la conception d'un formulaire qui affiche les résultats d'une requête dans un sous-formulaire. Je voudrais mettre à jour mon sous-formulaire Access selon les critères de recherche, avec du code et des requêtes SQL, mais j'ai pas pû le faire, ni avec la manipulation de la propriété SourceObject du sous-formulaire dans le code lors de l'événement LostFocus du champ recherche, ni avec la solution basée sur le recordset (Do until rs.EOF ... Loop).
    J'ai vraiment besoin d'aide please.

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    bonjour,
    ce n'est pas le SourceObject, c'est le RecordSource:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.leSousForm.Form.RecordSource = LecodeSQL
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Futur Membre du Club Avatar de creytas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonjour,
    ce n'est pas le SourceObject, c'est le RecordSource:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.leSousForm.Form.RecordSource = LecodeSQL
    le hic c'est que quand je lance l'execution j'ai une érreur d'execution '3464': type de données incompatible dans l'expression du critère.
    la valeur du recordset rs étant Nothing

    mon code est structuré comme suit:

    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
     
         Private Sub txt_recherche_LostFocus()
              Dim req1 As String, req2 As String
              Dim db As DAO.Database, rs As DAO.Recordset
              If (txt_recherche <> "") Then
                  req1= "ma requete"
                  Set db= CurrentDb
                  Set rs= db.OpenRecordset(req1)
                   With rs
                        If .EOF Then
                            MsgBox "operation introuvable"
                            Exit Sub
                        Else
                            Me.grid_operation.Form.RecordSource= req1
                        End If
                   End With
              Else
                  grid_operation.Requery
              End If
         End Sub
    grid_operation est le sous-formulaire à mettre à jour par rapport au champ de recherche txt_recherche

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    où sont les critères de recherche qui doivent filtrer la requête ?
    en règle générale, on construit une requête paramétrée qui ressemble à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim strSQL As String
    strSQL = "select * from latable Where Lechamp ='" & Me.txt_recherche & "'"   ' on suppose que Lechamp est du texte, sinon enlever les apostrophes
     
    Me.grid_operation.Form.RecordSource = strSQL
    et il est recommandé d'utiliser l'évènement AfterUpdate plutôt que LostFocus
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

Discussions similaires

  1. [AC-2016] Mettre à jour un sous formulaire
    Par Valombre80 dans le forum Access
    Réponses: 2
    Dernier message: 16/01/2018, 20h18
  2. [AC-2013] Mettre à jour un sous formulaire via une liste déroulante
    Par ROUSSIGNE dans le forum IHM
    Réponses: 3
    Dernier message: 30/01/2017, 16h25
  3. [AC-2007] Mettre à jour un sous-formulaire à partir d'un comboBox
    Par marycaLou dans le forum IHM
    Réponses: 2
    Dernier message: 17/12/2012, 22h03
  4. Mettre à jour un sous formulaire
    Par Phyl dans le forum IHM
    Réponses: 7
    Dernier message: 27/09/2007, 12h54
  5. Mettre a jour un sous formulaire
    Par dynxd dans le forum Access
    Réponses: 4
    Dernier message: 30/09/2005, 00h21

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