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 :

Comment ajouter une ligne à un sous-formulaire?


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut Comment ajouter une ligne à un sous-formulaire?
    Bonjour,
    Etant débutante sur Access, je rencontre de nombreux petits problèmes dans la conception de mon application (je cherche à créer une petite application pour gérer la compta d'une PME). Parmi ces problèmes:
    1) je cherche à afficher deux lignes (l'une en dessous de l'autre) dans un sous-formulaire de type tabulaire (pour le moment je n'ai qu'une ligne et qd je veux ajouter un enregistrement, l'enregistrement précédent "disparaît" pour laisser la ligne vide pour le nouvel enregistrement). pour que ca soit plus clair, je joins le sous-formulaire en question.
    2) je voudrai que lors de la saisie ds mon formulaire, je puisse ajouter une facture en pièce jointe
    3) j'aimerai taper une formule ds la valeur par défaut; je voudrai que la valeur par défaut d'un champs soit égale à la valeur d'un autre champs de la même table (j'ai essayé en tapant ds la propriété DefautValue le nom du 2nd champs entre crochet et précédé d'un signe =)
    Merci pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 59
    Points
    59
    Par défaut Attention au format du fichier joint...
    Je ne dispose malheureusement que d'Access 2003.
    Ton fichier joint a été créé avec Access 2007... Impossible à ouvrir pour moi.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Ok, voici une version adaptée à Access 2003
    Merci
    Fichiers attachés Fichiers attachés

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 59
    Points
    59
    Par défaut Pas très clair...
    "1) je cherche à afficher deux lignes (l'une en dessous de l'autre) dans un sous-formulaire de type tabulaire"...
    Il suffit, en mode modification du formulaire, de placer tes champs sur deux lignes ???

    "2) je voudrai que lors de la saisie ds mon formulaire, je puisse ajouter une facture en pièce jointe"...
    Créé un autre formulaire présentant ta facture et insère ce nouveau formulaire dans ton formulaire principal "FormMovement" (mais ceci ne sera évidement pas possible avec un affichage de type tabulaire ; pour cela il faudrait simplement créer un bouton qui appelle ton formulaire de facturation).

    "3) j'aimerai taper une formule ds la valeur par défaut; je voudrai que la valeur par défaut d'un champs soit égale à la valeur d'un autre champs de la même table"
    Il suffit de déclarer dans ce champ, la même valeur par défaut qui a déjà été déclarée pour l'autre champ. !

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Je vais essayer d'éclaircir mes points:
    1) en fait je ne veux pas afficher les champs sur deux lignes mais faire apparaitre en mode formulaire deux lignes de mon sousformulaire afin de voir en même temps les deux enregistrements.
    2) c bon, j'ai fini par trouver la solution a ce point
    3) soient "date 1" et "date 2", deux champs d'un formulaire, je voudrai que la valeur par défaut de "date 2" soit égale à la valeur entrée pour "date 2". le champs "date 1" n'a pas de valeur par défaut...comment faire?

  6. #6
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Cela peut paraître simple mais je suis réellement bloquée...quelqu'un peut-il m'aider?
    Merci d'avance

  7. #7
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,


    1) en fait je ne veux pas afficher les champs sur deux lignes mais faire apparaitre en mode formulaire deux lignes de mon sousformulaire afin de voir en même temps les deux enregistrements
    Je viens de regarder ta base, Je ne trouve pas de sous formulaire mais un seul formulaire.
    Si tu souhaites que plusieurs lignes s'affichent, il te suffit de changer la propriété : Affichage par défaut de ton formulaire.
    Tu passes en mode création
    Tu affiches la fenêtre des propriétés
    Dans l'onglet : Format -> Propriété : Affichage par défaut -> Choisir Formulaires continus.

    3) soient "date 1" et "date 2", deux champs d'un formulaire, je voudrai que la valeur par défaut de "date 2" soit égale à la valeur entrée pour "date 2". le champs "date 1" n'a pas de valeur par défaut...comment faire?
    Je ne comprends pas trop ce que tu veux dire ! Peut-être saisir une fois la date 2 et ne plus la saisir dans les autres enregistrements ?
    Dans ce cas lors de la saisie, lorsque tu te trouves dans le champ date2, tu fais le raccourci clavier tu maintiens CTRL et tu appuies sur la touche "

    Sinon, dans la structure de ta table, sur le Champ "Date2", tu peux modifier la propriété "Valeur par défaut"

  8. #8
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Merci Jeannot pour ton aide.
    Le formulaire joint à mon message est bien en fait un sous formulaire (d'un autre formulaire); mais pour simplifier je n'ai envoyé que le formulaire (désolé, c vrai que j'aurai du le préciser ).
    Ok pour ta réponse sur ce point, cela marche! je me doutai que ca devait être simple!!
    Par contre, concernant le point 3 je ne me suis pas bien fait comprendre. concrétement, il existe deux champs à renseigner lors de la saisie du formulaire en question (qui n'est pas celui joint précédemment):
    - InvoiceDate (date de facturation) : champs dont une valeur sera obligatoirement saisie
    - RecordDate (date d'enregistrement qui correspond à la date à laquelle la charge doit être affectée): cette date est la plupart du temps égale à la date de facturation. pour éviter de retaper une deuxième fois la date, je voudrai que la valeur par défaut de recordDate soit la valeur saisie ds InvoiceDate.
    Voilà, j'espère avoir sufisamment précise et claire...si ce n'est pas le cas, n'hésitez pas à me le dire!!!

  9. #9
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Re,

    Voilà qui est plus clair.

    Il te faudra donc écrire une petite procédure en VBA du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RecordDate = InvoiceDate
    Pour écrire cela,
    1) tu passes en mode création
    2) Tu cliques droit sur le champ "RecordDate"
    3) Tu choisis "Propriétés"
    4) Tu vas dans l'onglet : "Evènements"
    5) Au niveau de l'évènement "sur sortie" : tu choisis : Procédure évènementielle

    Dans la page de code affichée tu écris le code ci-dessus entre les deux ligne déjà affichées.

    A+

  10. #10
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Merci encore pour ton aide.
    J'ai essayé plusieurs fois mais cela ne marche pas. Je t'envoie en pièce jointe la structure de ma base (fais pas attention je travaille encore dessus et je suis certaine qu'il y a pas mal de choses à améliorer et corriger!! ). Je le rappelle, je débute sur Access...en tout cas si tu as des suggestions, elles sont bien entendu les bienvenues!Le but de cette application est de gérer simplement la compta d'une PME localisée en Arabie Saoudite (heureusement il n'y a pas de TVA ici et pas bcp de taxes!! ).

    Tu pourras voir le problème des dates ds le formulaire FormEntry. J'ai essayé le code que tu m'as communiqué mais cela ne donne rien... logiquement la date de facturation devrait se recopier dans le champs destiné à la saisie de la date d'enregistrement....peux tu débloquer ce soucis?
    Fichiers attachés Fichiers attachés

  11. #11
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    re,

    Je regarde dans l'après midi et je te tiens au courant

  12. #12
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Re,

    Je viens de regarder ta base et en même temps j'ai relu mon message

    Alors là, je te dois d'énormes excuses
    J'ai inversé les noms de champs

    il te faut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateOfInvoice = ReportDate
    Shame on me !

    J'ai essayé dans ta base, c'est OK

  13. #13
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Pas de soucis pour la confusion!
    Par contre, même en inversant les noms de champs, je n'obtiens pas le résultat escompté!!! alors là je ne comprends plus rien!
    Peux tu m'envoyer mon fichier avec les modifications que tu as apporté, comme ca j'essaierai de voir ton code et prquoi ca ne marche pas sur mon pc...
    Merci

  14. #14
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Je te joins la base avec le bout de code. Je pense à quelque chose : as-tu activé le code. Dans Access 2007, si tu ne l'actives pas les procédures ne fonctionnent pas.

    Procédure :
    1) Clique sur le bouton "Office"
    2) Clique sur "Options Access"
    3) Clique "Centre de Gestion de la confidentialité
    4) Clique "Parametres du Centre de la confidentialitéé
    5) Clique "Parametres des macros"
    6) Clique "Activer toutes les macros"

    Cette procédure évitera de cliquer à chaque fois sur le bouton "Options" qui s'affiche dans la barre "Avertissement"

    Bonne Journée

  15. #15
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Points : 7
    Points
    7
    Par défaut merci
    Merci jeannot et désolé de ne pas avoir répondu plus tôt....

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/10/2008, 10h46
  2. Comment ajouter une ligne dans une feuille ?
    Par vacknov dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 15/11/2007, 07h30
  3. Réponses: 8
    Dernier message: 26/05/2007, 17h43
  4. [C#]Comment ajouter une ligne vide a un datalist ?
    Par rfaouzi dans le forum ASP.NET
    Réponses: 4
    Dernier message: 08/11/2006, 10h34
  5. Débutant : Comment ajouter une ligne à un DataGrid sur VB ?
    Par gamool dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 23/11/2005, 23h53

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