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 :

Trie d'une table depuis un formulaire en VBA


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2021
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2021
    Messages : 35
    Par défaut Trie d'une table depuis un formulaire en VBA
    Bonjour,

    Toujours dans le cadre de mon apprentissage des recordset et recodsetclone pour manipuler les enregistrements d'une table et les copier vers une une autre...
    Pouvez-vous me dire pourquoi, dans le code ci-dessous, cette ligne ne fonctionne pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Me.T_Prenom1.Form.SetOrderBy "Prenom" '(avant de transferer mes enregistrements, je souhaite trier T_Prenom1 par Prenom, via code VBA )
    Sans cette ligne, le transfert des enregistrements de T_Prénom1 vers T_Prénom2 fonctionne bien.

    Je vous mets mon fichier.zip en pièce jointe pour test si vous le souhaitez.

    Prenom.zip

    D'avance MERCI pour vos explications,
    cordialement,
    Serge.



    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
    Private Sub Btn_Transfert_Click()
     
    Dim dbs As DAO.Database: Set dbs = CurrentDb
    Dim rst As DAO.Recordset
    Dim sqlPrenom1, sqlPrenom2 As String
     
    sqlPrenom2 = "DELETE * FROM T_Prenom2;"
    'dbs.Execute sqlPrenom2, dbFailOnError
    DoCmd.RunSQL sqlPrenom2
     
    sqlPrenom2 = "SELECT * FROM T_Prenom2;"
    Set rst = dbs.OpenRecordset(sqlPrenom2, 2, 512)
     
    If Not Me.T_Prenom1.Form.RecordsetClone.EOF Then
    'Me.T_Prenom1.Form.SetOrderBy "Prenom" '(avant de transferer mes enregistrements je souhaite trier T_Prenom1, via code VBA, , par Prenom)
        With Me.T_Prenom1.Form.RecordsetClone
            .MoveFirst
            Do While Not .EOF
                rst.AddNew
                rst!ID = !ID
                rst!Prenom = !Prenom
                rst!Age = !Age
                rst!Couleur = !Couleur
                rst.Update
            .MoveNext
            Loop
        End With
    End If
     
    rst.Close
    dbs.Close
    Set rst = Nothing
    Set dbs = Nothing
     
    Me.T_Prenom2.Form.Requery
     
    End Sub

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    Sauf erreur de ma part SetOrderBy n'est pas une méthode de l'objet Form mais est associé à DoCmd.
    Donc quand tu exécutes tu dois avoir une erreur du type Méthode non supporté par l'objet.

    De mémoire pour un objet Form c'est OrderBy.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 287
    Par défaut
    salut
    cet objet Me.T_Prenom1.Form, se trouve ou dans votre form ? Il n'existe pas ! Vous avez glissé la T_Prenom1, dans le form !
    Il me semble que dans d'autres fils il vous a été conseillé de créer des sform en lieu et place de glisser des tbl !

    A lire Méthode DoCmd.SetOrderBy. Par feuille de données comprendre table !
    Je en sais pas si ChatGPT ferait mieux dans la traduction !

  4. #4
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2021
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2021
    Messages : 35
    Par défaut Trie d'une table depuis un formulaire en VBA
    Merci marot_r et hyperion13 pour vos réponses :

    marot_r ;
    effectivement SetOrderBy n'est pas une methode de l'object Form, mais avec OrderBy cela ne fonctionne pas non plus !

    hyperion13 ;
    oui effectivement dans un message précedant vous m'aviez déjà conseillé de passer par un sous-formulaire, mais comme je l'ais déjà évoqué, je ne souhaite pas utiliser cette possibilté.
    Je suis en phase d'apprentissage et je cherche à comprendre comment réaliser mon tri directement sur la table présente dans le formulaire via le code VBA, comme il est tout à fait possible de le faire en interactif (clic sur le champ puis tri par ordre croissant ou décroissant d'ailleurs).

    En tous cas MERCI pour vos réponses,
    cordialement,
    Serge

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    effectivement SetOrderBy n'est pas une methode de l'object Form, mais avec OrderBy cela ne fonctionne pas non plus !
    Et cela ne fonctionne pas comment ?
    • Il ne se passe rien ? Si oui, as-tu vérifier si le code est exécuté ?
    • Il y a une erreur ? Si oui, laquelle ?
    • Il se passe quelque chose mais pas ce qui est attendu ? Si oui, que se passe-t'il ?
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 287
    Par défaut
    re
    une idée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DoCmd.OpenTable "T_Prenom1"
    DoCmd.SetOrderBy "Prenom"
    DoCmd.Close acTable, "T_Prenom1", acSaveYes
    Me.Table_T_Prenom1.Requery

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/09/2021, 18h56
  2. [AC-2016] Pb de nouvel ajout dans une table depuis un formulaire
    Par bulbiza dans le forum Access
    Réponses: 10
    Dernier message: 08/10/2017, 18h19
  3. [AC-2013] Enregistrement dans une table depuis un formulaire
    Par juju6612 dans le forum Access
    Réponses: 17
    Dernier message: 01/08/2016, 09h47
  4. [MySQL] Requête des données d'une table depuis un formulaire
    Par hnicola dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 10/09/2009, 23h26
  5. Réponses: 5
    Dernier message: 09/10/2008, 19h14

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