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 :

Répéter champs précédent lors d'un nouvel enregistrement


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur Maintenance
    Inscrit en
    Mars 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2017
    Messages : 53
    Points : 46
    Points
    46
    Par défaut Répéter champs précédent lors d'un nouvel enregistrement
    Bonjour,

    J'ai fait une base de donnée access pour gérer ma maintenance, aujourd'hui j'ai un sous formulaire pour lister mes étapes de process.

    Je voudrais qu'à chaque fois que j'ajoute une étape cela me récupère la valeur du champ de l'enregistrement précédent. L'équivalent du CTRL+'

    Sachant que les valeurs sont issues d'une liste déroulante qui prend les infos d'une requête.

    Je voudrais quelque chose du type:

    Si Enregistrement précédent <> NULL (pour pas faire bugguer le premier enregistrement)

    alors [Numero de serie].value de "nouveau enregistrement" = [Numero de serie].value de "enregistrement précédent"

    Nom : recopie.PNG
Affichages : 654
Taille : 20,3 Ko


    J'ai essayé des bidouillages avec rechDom dans valeur par défaut mais sans succès.

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour Vitaliq,

    Ton image ressemble beaucoup à un formulaire + un sous-formulaire. Si c'est le cas le principe champ père/fils remplirait automatiquement ton champ numéro de série.

    Bonne journée

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur Maintenance
    Inscrit en
    Mars 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2017
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    Oui effectivement c'est un formulaire avec sous formulaire sauf que mon numéro de série n'existe pas dans le formulaire principal, il vient d'une requête (INNER JOIN)

  4. #4
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour Vitaliq,

    Alors qu'est-ce qui fait le lien entre ton formulaire et ton sous-formulaire? Je crois qu'à partir de ce lien on peut récupérer le numéro de série. Voici un exemple à insérer dans valeur par défaut du champ numéro de série:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RechDom("[LeChampARécupérer]";"[LaTable]";"[LeLienDansLaTable]=" & [LeLienDansLeFormulaire])
    Bonne journée

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur Maintenance
    Inscrit en
    Mars 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2017
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    D'accord, je suis en train d'essayer, avec le rechDom encore

    Voici les relations sur la partie qui nous intéresse Nom : extract relations.png
Affichages : 682
Taille : 33,3 Ko

    En gros j'ai mes installations (affaires) qui comportent plusieurs matériels

    Une affaire peut avoir plusieurs incidents et chaque incident a plusieurs étapes (histo incident)

    Le tout est bouclé pour ne pouvoir affecter que les matériels relatifs à l'affaire à un incident.


    Voici le formulaire complet, lorsqu'on affecte une affaire (1), ça nous filtre la liste des numéros de série possibles de la liste via une requête
    Nom : formulaire liste.png
Affichages : 654
Taille : 34,8 Ko

  6. #6
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour Vitaliq,

    Si je comprend bien, tu as le # de série dans la liste déroulante "Nom Affaire". Si tel est le cas tu n'as qu'à inscrire le # de série comme suit dans ton sous-formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_BeforeUpdate(Cancel As Integer)
     
        If IsNull(Me.LeChampNoSerie) Then
        Me.LeChampNoSerie = Forms!LeFormulairePrincipal.LeChampNomAffaire.Column(x)
        End If
     
    End Sub
    où x représente le numéro de la colonne dans laquelle il y a l'information (la numérotation des colonnes commence à 0).

    Bonne journée

  7. #7
    Membre du Club
    Homme Profil pro
    Ingénieur Maintenance
    Inscrit en
    Mars 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2017
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    Merci, j'ai adapté ton code en ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Numero_serie_BeforeUpdate(Cancel As Integer)
    Me.[Numero_serie].DefaultValue = """" & Me.[Numero_serie] & """"
    End Sub
    Et ça fonctionne plus ou moins bien.

    Cela dit je suis certain qu'on pouvait le faire avec rechDom car lorsque je ne spécifiais pas de critère, il m'affichait le premier de la liste. Mais bon la syntaxe de cette fonction m'a bien saoulé j'ai pas réussi

Discussions similaires

  1. [AC-2003] Doublon d'un NuméroAuto lors d'un nouvel enregistrement
    Par jori dans le forum Modélisation
    Réponses: 8
    Dernier message: 04/03/2010, 17h48
  2. Réponses: 6
    Dernier message: 26/02/2009, 09h41
  3. Réponses: 4
    Dernier message: 01/06/2008, 16h54
  4. Réponses: 4
    Dernier message: 10/08/2006, 17h58
  5. Réponses: 9
    Dernier message: 10/01/2006, 16h27

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