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 :

Numérotation automatique jeux d'enregistrements [AC-2007]


Sujet :

IHM

  1. #1
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut Numérotation automatique jeux d'enregistrements
    Bonjour le Forum,
    Je n'ai pas trouvé le bon chemin, pour numéroter les jeux d'enregistrements dans un formulaire en continu, issu d'une requête.
    voici son SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Adhérents.Nom_Inscrip, Adhérents.Prénom_Inscrip
    FROM Adhérents RIGHT JOIN Bureaux ON Adhérents.RefAdherent = Bureaux.Nom_Bur
    GROUP BY Adhérents.Nom_Inscrip, Adhérents.Prénom_Inscrip;
    Dans ce formulaire je souhaiterais trois champs : Numérotation (flèche rouge sur photo)- Nom et Prénom (issu de requête). La numérotation doit commencer par 1 et pas à pas de 1 jusqu'à autant de jeux d'enregistrement.
    J'ai trouvé la solution pour un État (cumul) mais pas pour formulaire.
    Une idée serait la bienvenue.
    Merci d'avance.
    Cordialement
    Images attachées Images attachées  

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    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 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonsoir,
    une solution est proposée ici pour le même besoin: https://www.developpez.net/forums/d8...-form-continu/

  3. #3
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Bonjour Tee_Granbois
    Merci de me répondre et de me donner une idée.
    J'ai regardé le problème de Julie et les réponses de Muhad'hid et de Lucas-18 (I-2-3).
    La différence qu'il existe avec Lucie , c'est qu'elle part avec déjà une numérotation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Exemple :
    1 Anne (poubelle)
    2 Bambi (poubelle)
    3 Diane (poubelle)
     
    Si on efface la ligne 2 Bambi grace à la cmd Poubelle alors :
     
    1 Anne (poubelle)
    2 Diane (poubelle)
    Or que moi j'ai n'ai pas de numérotation du fait que je prends que le nom et prénom d'une table. La référence de Clef (50 ou voir plus) ne m'intéresse pas car je souhaite la numérotation de 1 à 15.
    J'ai essayé avec une requête de création de table, mais aucune clef primaire n'est insérée, de ce fait pas de numérotation que je pourrais me servir.
    Pourquoi c'est si simple dans un État et non pas dans un formulaire ?

    Je continue mes recherches.
    Cordialement

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    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 769
    Points : 14 810
    Points
    14 810
    Par défaut
    cela fonctionne si tu crées une clé composée dans la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Adhérents.Nom_Inscrip, Adhérents.Prénom_Inscrip, Adhérents.Nom_Inscrip & "-" & Adhérents.Prénom_Inscrip as CleComp
    FROM Adhérents RIGHT JOIN Bureaux ON Adhérents.RefAdherent = Bureaux.Nom_Bur
    GROUP BY Adhérents.Nom_Inscrip, Adhérents.Prénom_Inscrip, Adhérents.Nom_Inscrip & "-" & Adhérents.Prénom_Inscrip;
    ensuite, tu utilises CleComp dans la fonction NombreLigne() de la solution donnée dans le lien

  5. #5
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Salut
    Dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function NombreLignes(Reset As Boolean) As Long
    Static I As Integer
    If Reset Then
       I = 0
       Exit Function
    End If
    I = I + 1
    NombreLignes = I
    End Function
    Dans votre formulaire Post1
    insérer une zone de texte indépendante et dans Source contrôle, passez =NombreLignes(Faux)

  6. #6
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Bonjour Tee_Grandbois
    Merci pour ta réponse
    J'ai modifié le code comme ceci
    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
    Function NombreLigne(Frm As Form, CleComp As String, _
                        ClefValue As Variant) As Long
        Dim Rs As Object
        Dim ComptLigne As Integer
        On Error GoTo Err_NombreLigne
        Set Rs = Frm.Recordset.Clone
        Select Case Rs.Fields(CleComp).Type
            Case dbText, dbMemo, dbChar, dbByte
                Rs.FindFirst "[" & CleComp & "] = '" & ClefValue & "'"
            Case Else
                Rs.FindFirst "[" & CleComp & "] = " & ClefValue
        End Select
        Do Until Rs.BOF
            ComptLigne = ComptLigne + 1
            Rs.MovePrevious
        Loop
    Sortie_NombreLigne:
        NombreLigne = ComptLigne
        Exit Function
    Err_NombreLigne:
        ComptLigne = 0
        Resume Sortie_NombreLigne
    End Function
    Dans mon formulaire j'ai crée un champ où j'ai placé (avec l'aide du générateur d'expression : Fonctions) =NombreLigne([«Frm»];[«CleComp»];[«ClefValue»])
    Voici le résultat obtenu : #Nom*?
    J'ai compilé le code , aucune erreur n'est signalée.
    Je ne dois pas savoir utiliser ce code, ni dans la requête ni dans le formulaire.
    Corrige moi SVP
    Cordialement

  7. #7
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Bonjour Hypérion 13
    Je te remercie de ta réponse qui fonctionne dans l'esprit de ma sollicitation.
    Le soucis dans ton code est que chaque fois que j'ouvre le formulaire la numérotation s'additionnent de plus 11 car j'ai 11 jeux d'enregistrements.
    Est-il possible que cette numérotation reste constante aux nombres de jeux présents dans le formulaire, de 1 à 11 pour ce cas ci à chaque ouverture.
    Cordialement

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    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 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonjour,
    Dans mon formulaire j'ai crée un champ où j'ai placé (avec l'aide du générateur d'expression : Fonctions) =NombreLigne([«Frm»];[«CleComp»];[«ClefValue»])
    Voici le résultat obtenu : #Nom*?
    voici le bon code (si le champ de la requête est bien Clecomp), [Forrmulaire] doit être constant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NombreLigne([Forrmulaire];"Clecomp";[CleComp])
    pour la solution d'hyperion13 :
    Est-il possible que cette numérotation reste constante aux nombres de jeux présents dans le formulaire, de 1 à 11 pour ce cas ci à chaque ouverture.
    à mettre au chargement du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Load()
    NombreLignes(True)
    End Sub

  9. #9
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Re
    Je dois reconnaître que de côtoyer ce forum nous sommes entre de bonnes mains. Nous en apprenons toujours. Vous êtres réellement des experts.
    J'ai utilisé le code d'Hyperion 13 avec ton modificatif au chargement.
    Tout fonctionne à merveille.
    Je voudrais poser une question en ce qui concerne les codes VBA. Est-ce que la longueur d'un code pèse sur le volume du fichier, en terme d'octet ?
    Encore une fois merci à vous deux, je pouvoir mettre la discussion en clôture.
    Cordialement

  10. #10
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Re
    passez

  11. #11
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Re Hyperion13
    Je te remercie pour ton code qui fonctionne très bien.
    Je l'ai mentionné dans le post #9
    Je voudrais te demander qu'est-ce-que tu entends par Tu as été génial de même que Tee_Grandbois.
    Cordialement

  12. #12
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    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 769
    Points : 14 810
    Points
    14 810
    Par défaut
    Est-ce que la longueur d'un code pèse sur le volume du fichier, en terme d'octet ?
    oui un octet est un octet, mais cela prendra beaucoup moins de place que tout autre objet.

  13. #13
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Ok
    Merci pour ta réponse.
    Cordialement

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

Discussions similaires

  1. Numérotation automatique d'enregistrement dans une requête
    Par Mobydisk21 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 05/12/2018, 12h58
  2. [AC-2010] Nouvel enregistrement sans avoir de numérotation automatique
    Par KevinA4 dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/03/2017, 15h43
  3. Fichier avec numérotation automatique et enregistrement
    Par ilankolins dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/11/2012, 20h55
  4. Réponses: 3
    Dernier message: 30/09/2010, 13h06
  5. Réponses: 37
    Dernier message: 13/04/2007, 12h07

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