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éro d'ordre d'enregistrement


Sujet :

IHM

  1. #1
    Membre actif Avatar de SeaWolf601
    Inscrit en
    Août 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 254
    Points : 256
    Points
    256
    Par défaut Numéro d'ordre d'enregistrement
    Hello,

    ça fait 3 jours que je cherche et ça m'ennerve parceque je suis sur que la solution est simple comme "bonjour".

    Bref, voila mon soucis, j'aimerai pouvoir numéroter des lignes dans un formulaire continu.

    Donc au final que la position de l'enregistrement apparaisse.
    Puisque si je fais un tri Croissant ou décroissant, par exemple, que la premiere ligne soit toujours Numérotée "1" et pas "x".

    Quelqu'un a une idée ?

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Si ton formulaire est en lecture seule (et à condition qu'il y ait unicité de valeurs sur ta clé de tri), tu peux ajouter le compteur à la source à l'aide d'une sous-requête.

    QQ chose du genre:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT T1.*, (SELECT COUNT(*) FROM Matable as T2 WHERE T2.MaCléTri <= T1.MaCléTri) as Numéro
    FROM Matable as T1
    ORDER BY T1.MaCléTri


    Sinon, tu devrais pouvoir mettre un DCOUNT(...) comme expression d'un controle indépendant... mais attention aux performances.

  3. #3
    Membre actif Avatar de SeaWolf601
    Inscrit en
    Août 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 254
    Points : 256
    Points
    256
    Par défaut
    Hello Mout,

    Et merci de ta réponse, j'avais pensé à une requete en effet mais ça ne convient pas.
    Les enregistrement vont "defiler" à vitesse grand V dans ce formulaire.
    Il n'y en aura jamais plus d'une dizaine mais ils vont se modifier TRES regulierement.
    Et la fonction Dcount vas me permettre de compter, non ?
    Donc pas de me donner un numéro d'ordre.... ou alors je vois pas comment.

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    A coller dans un module standard :

    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
    'Numérotation des lignes d'un formulaire - auteur inconnu
    Public Function LineNumber(F As Form, KeyName As String, KeyValue As Variant) As Long
     
        Dim rs As Object
        Dim LinesCount As Integer
     
        On Error GoTo Err_LineNumber
        Set rs = F.Recordset.Clone
     
        Select Case rs.Fields(KeyName).Type
     
            Case dbText, dbMemo, dbChar, dbByte
                rs.FindFirst "[" & KeyName & "] = '" & KeyValue & "'"
     
            Case Else
                rs.FindFirst "[" & KeyName & "] = " & KeyValue
     
        End Select
     
        Do Until rs.BOF
     
            LinesCount = LinesCount + 1
            rs.MovePrevious
     
        Loop
     
    Bye_LineNumber:
        LineNumber = LinesCount
        Exit Function
     
    Err_LineNumber:
        LinesCount = 0
        Resume Bye_LineNumber
     
    End Function
    Dans ton formulaire, un champ indépendant et dans la propriété Source contrôle (ici avec sous-formulaire) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LineNumber([Formulaires]![NomDeTonFormulaire]![NomDeTonSousformulaire].[Formulaire];"strId";[Id])
    Domi2

  5. #5
    Membre actif Avatar de SeaWolf601
    Inscrit en
    Août 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 254
    Points : 256
    Points
    256
    Par défaut
    Merci Domi,

    Une chose m'echappe dans le Source Controle.

    A quoi correspond le "strId" ?

  6. #6
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Le nom du champ qui contient l'Id...

    Tu peux le rendre non-visible...

    Domi2

  7. #7
    Membre actif Avatar de SeaWolf601
    Inscrit en
    Août 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 254
    Points : 256
    Points
    256
    Par défaut
    Je dois cafouiller quelque part ça me mets 0.

  8. #8
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonsoir,

    Désolé, je me suis mal relu...

    En admettant que ton nom de champ clé-primaire dans ta table s'appelle NomId :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LineNumber([Formulaires]![NomDeTonFormulaire]![NomDeTonSousformulaire].[Formulaire];"NomId";[NomId])
    Il ne faut pas passer le nom du champ du formulaire qui contient l'Id en argument.

    C'est mieux ?

    Domi2

Discussions similaires

  1. Ordre des enregistrements dans un DataGridView
    Par tssi555 dans le forum VB.NET
    Réponses: 6
    Dernier message: 25/08/2008, 13h15
  2. [debutant]récupérer le numéro d'ordre d'un champ de formulaire
    Par dimi2 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/07/2008, 19h28
  3. Réponses: 3
    Dernier message: 13/06/2006, 14h16
  4. Ordre d'enregistrement d'un INSERT
    Par minusette dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/04/2006, 16h19
  5. ordre des enregistrements
    Par LadyArwen dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/03/2006, 14h38

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