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 :

Copier une table à l'ouverture d'un formulaire et la lier à ce dernier [AC-2007]


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Femme Profil pro
    préparation licence comptable
    Inscrit en
    Juillet 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : préparation licence comptable

    Informations forums :
    Inscription : Juillet 2016
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Copier une table à l'ouverture d'un formulaire et la lier à ce dernier
    Bonjour
    J'ai un formulaire indépendant avec affichage par défaut : formulaires continus
    Dans le corps du formulaire (Détail) j'ai un champ [Code] indépendant et un champ [Intitule] indépendant.
    Je souhaite que ce formulaire affiche les enregistrements (les uns sous les autres donc puisque formulaires continus) de la table [ModePaiemnt]. Le but étant de lire, pouvoir modifier les enregistrements et/ou en ajouter.
    Mais je veux pouvoir contrôler la MAJ de la table c'est à dire que j'ai deux boutons l'un qui validera et donc mettra à jour la table de tous ce qui a été fait dans le formulaire et un autre qui au contraire annulera toutes interventions sur l'ensemble des enregistrements et laissera la table comme à l'ouverture du formulaire.
    Pour les formulaires à enregistrement unique je sais avec VBA comment faire pour annuler. Mais ici je souhaite un formulaire continu et donc lorsque je modifie un enregistrement et que je passe à un autre cela MAJ automatiquement la table... ce que je ne veux pas. Donc après maintes recherches, l'idéale (pour moi) serait qu'à l'ouverture le code créée une copie de ma table [ModePaiemnt] et la lie à ce formulaire, comme ça toutes les interventions se font sur cette copie. Ainsi, si je valide = je supprime la table d'origine, et renomme à l'identique la copie et si j'annule = je garde la table d'origine et supprime la copie.

    Bon pour ceux qui sont arrivés à suivre voici enfin la question !
    mon code se trouvant dans le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    option compare database
    option explicit
    
    private sub Form_open(Cancel as integer)
    DoCmd.CopyObject ,"ModePaiemntCopie",acTable,"ModePaiemnt"
    MsgBox "La table a bien été copiée"
    Me.RecordSource="ModePaiemntCopie"
    Me.Code.ControlSource=ModePaiemntCopie!Code
    Me.Intitule.ControlSource=ModePaiemntCopie!Intitule
    end sub
    Seulement quand je veux ouvrir mon formulaire, j'ai un message d'erreur de compilation : Variable non définie , voir partie rouge gras du code.

    Merci pour votre aide .... pour ce premier point.

  2. #2
    Futur Membre du Club
    Femme Profil pro
    préparation licence comptable
    Inscrit en
    Juillet 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : préparation licence comptable

    Informations forums :
    Inscription : Juillet 2016
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bon, avec encore du tatonage j'en suis venue au code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    option compare database
    option explicit
     
    private sub Form_open(Cancel as integer)
    DoCmd.CopyObject ,"ModePaiemntCopie",acTable,"ModePaiemnt"
    MsgBox "La table a bien été copiée"
    Me.RecordSource="ModePaiemntCopie"
    Me.Code.ControlSource="ModePaiemntCopie!Code"
    Me.Intitule.ControlSource="ModePaiemntCopie!Intitule"
    end sub
    Donc là ma table est bien copiée mais dans le formulaire je n'ai qu'une seule ligne (au lieu de la douzaine) et #Nom? est affiché dans mes deux textbox

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Test en rajoutant à la fin ceci :

    Mou

    Ou sinon en changeant d’événement (load par exemple).

    Philippe

  4. #4
    Futur Membre du Club
    Femme Profil pro
    préparation licence comptable
    Inscrit en
    Juillet 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : préparation licence comptable

    Informations forums :
    Inscription : Juillet 2016
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Je viens d'essayer Me.requery --> pareil
    Me.recalc --> pareil
    et j'ai fait de même dans un Form_Load au lieu de Form_open --> toujours pareil

  5. #5
    Futur Membre du Club
    Femme Profil pro
    préparation licence comptable
    Inscrit en
    Juillet 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : préparation licence comptable

    Informations forums :
    Inscription : Juillet 2016
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    J'avance pas à pas ...
    les dernières modif faites = j'ai enlevé le nom de la table dans controlsource

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    option compare database
    option explicit
     
    private sub Form_open(Cancel as integer)
    DoCmd.CopyObject ,"ModePaiemntCopie",acTable,"ModePaiemnt"
    Me.RecordSource="ModePaiemntCopie"
    Me!Code.ControlSource="Code"
    Me!Intitule.ControlSource="Intitule"
    end sub
    Bon donc maintenant le probleme (oui y en a encore un...) c'est que seule le dernier enregistrement est affiché (je n'ai qu'une ligne)?

  6. #6
    Futur Membre du Club
    Femme Profil pro
    préparation licence comptable
    Inscrit en
    Juillet 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : préparation licence comptable

    Informations forums :
    Inscription : Juillet 2016
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bon il se trouve que j'ai modifié les paramètres du formulaire : pour les barres de défilement j'ai noté les deux , avant j'avais mis aucune, car le formulaire étant en taille ajustée il devait toujours tout afficher (en tout cas quand le form est lié directement à la table sans code ça marchait tres bien).
    Donc là je peux faire défiler et voir effectivement tous les enregistrements...... mais sur une seule ligne.

    les paramètres de la partie détail du formulaire sont pourtant :
    hauteur automatique =oui
    auto extensible=oui
    auto réductible=oui

    mais rien à faire il reste sur une ligne....grrr

    Me reste plus qu'à trouver comment lui faire appliquer le paramètre formulaire continus correctement.

  7. #7
    Futur Membre du Club
    Femme Profil pro
    préparation licence comptable
    Inscrit en
    Juillet 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : préparation licence comptable

    Informations forums :
    Inscription : Juillet 2016
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bon à rien y comprendre ... Il faudrait mettre en parametre du formulaire taille ajustée= non
    mais du coup à l'affichage j'ai bien toutes mes lignes comme il faut , mais les dimensions d'affichage du formulaire sont supérieures à celles que j'ai dans le mode création?

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

Discussions similaires

  1. [AC-2007] Alimenter une table à l'ouverture d'un formulaire
    Par CrasherSEP dans le forum VBA Access
    Réponses: 4
    Dernier message: 26/03/2014, 08h28
  2. copier une table dans une autre
    Par Dionisos dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/07/2005, 11h24
  3. copier une table
    Par aragom dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 14/04/2005, 14h04
  4. copier une table vers une autre base de données
    Par Herveg dans le forum Oracle
    Réponses: 3
    Dernier message: 11/01/2005, 14h20
  5. Comment Copier une table dans un fichier?
    Par thx2003 dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/12/2003, 12h09

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