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

VBA Access Discussion :

mettre a jour l'affichage d'un sous formulaire suite a l'insertion de donnees par vba


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 94
    Points : 68
    Points
    68
    Par défaut mettre a jour l'affichage d'un sous formulaire suite a l'insertion de donnees par vba
    Bonjour,

    J'ai un formulaire F1, contenant un sous formulaire F2 et un bouton.

    F2 est affiché sous forme de datasheet et contient deux colonnes, la premiere est une date la seconde un entier.
    F2 est bounded, cad qu'il est lié a une requete, donc qu'il a un recorset lié.

    ce que je souhaite faire c'est inserer un enregistremement dans F2.

    donc dans mon code de clic sur le bouton j'ai un truc genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim F As Form
       Set F = Me.F2.Form
       Dim R As Recordset
       Set R = F.Recordset
       R.AddNew
        R(0) = Date
        R(1) = 1
        'R.Update 'si je ne met pas cette ligne le nouvel enregistrement n'est pas affiché
    mon probleme est le suivant : je ne vois pas mon nouvel enregistrement sauf si je fais un update du recordset
    or moi je souhaite que ce soit l'utilisateur qui confirme l'enregistrement


    merci de votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Salut,

    pour celà, tu dois faire un "espace" avec des champs qui vont simuler le datasheet. 2champs et un bouton "enregistrer" sur lequel tu vas faire un "INSERT", après confirmation, en VBA.

    Suis-je assez clair?

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 94
    Points : 68
    Points
    68
    Par défaut
    suggere tu que j'ajoute deux text box dans lequel l'utilisateur va saisir les valeurs puis les enregistrer dans F2 ?

    Si c'est ca, cette solution ne m'interesse pas pour diverses raison, ce que je veut faire c'est simuler une partie de la saisie manuelle d'un utilisateur dans un datasheet.

    le deroulement normal, si tout est saisi a la main est le suivant:
    1- l'utilisateur saisi les valeurs dans la ligne
    2-en quittant la ligne on déclenche l'evenement update du recordset

    ce que je souhaite faire c'est coder la partie 1 et "redonner la main" a access pour la partie 2

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    alors utilise le rollback... parce que si tu saisis dans le datasheet, tu vas automatiquement enregistrer les valeurs dans ta table...

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 94
    Points : 68
    Points
    68
    Par défaut
    mon probleme n'est pas de gerer le moment ou les données sont enregistrées mais d'AFFICHER les donnees dans le datasheet.

    lorsque l'utilisateur saisit manullement les données ne sont pas enregistrées dès que l'utilisateur quitte la premiere colonne mais lorsqu'il quitte la ligne: c'est ce que je veut faire

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Pas clair tout ça:
    l'enregistrement est saisi dans F1 ou F2?

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 94
    Points : 68
    Points
    68
    Par défaut
    toutes mes excuses si je n'ai pas été suffisament clair.


    ce que je souhaite faire c'est inserer un enregistremement dans F2.
    en meme temps plus clair que ca ... je vois pas comment je peut faire

    mais bon on peut encore simplifier l'ennoncé du probleme:
    imaginons que je n'ai qu'un seul formulaire F affiché sous forme de datasheet.

    Dans l'evenement load du formulaire je commence a remplir mon nouvel enregistrement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       Dim R As Recordset
       Set R = F.Recordset
       R.AddNew
        R(0) = Date
        R(1) = 1
    donc a cet instant les valeurs sont dans le recordset.
    ce que je souhaite faire c'est afficher ces valeurs qui n'on pas encore été updatées.

    EDIT:
    Bon aller je me fait un petit auto reply pour ceux que ca interesse et ceux qui on participé et que je remercie

    en fait il ne faut pas essayer de mettre les données dans le recordest si on veut laisser access gèrer l'update.

    la solution est donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim R As Recordset
    Set R = F.Recordset
    R.AddNew
    F.controls("nomDuchampDate").value = date
    F.controls("nomDuchampEntier").value = 1

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/07/2012, 16h46
  2. Mettre a jour l'affichage d'un JPanel
    Par lorilan dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 28/06/2011, 07h13
  3. Réponses: 2
    Dernier message: 16/05/2008, 12h34
  4. Mettre à jour des champs dans un sous formulaire
    Par Patros dans le forum Access
    Réponses: 3
    Dernier message: 09/08/2006, 16h16
  5. Modification du type d'affichage d'un sous-formulaire
    Par jarod_bx dans le forum Access
    Réponses: 1
    Dernier message: 10/11/2005, 19h34

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