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 :

pb access bouton mise à jour champ dans sous-formulaire


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Points : 40
    Points
    40
    Par défaut pb access bouton mise à jour champ dans sous-formulaire
    Bonjour,

    Je souhaite par l'intermédiaire d'un bouton de commande dans un sous formulaire remplacer une valeur dans un champ, lui même lié à la table correspondante.

    La base :
    T_ZONES est la table des zones (qui sont en fait des circonscriptions scolaires) identifiées par IDZONE
    T_ECOLES est la table des écoles identifiées par IDECOL, et liée à T_ZONES par le champ IDZONE (présent dans les 2 tables).
    Relation de 1 à Plusieurs (Une zone peut contenir plusieurs écoles), intégrité référentielle et mise à jour en cascade...

    Côté formulaires :
    F_ZONES est le formulaire de consultation générale, contenant lui même un sous-formulaire S_ECOLES.

    C'est sur le sous formulaire que j'ai mis notamment un bouton 'cmdSupZone' censé remplacer la valeur du champ IDZONE du sous-formulaire S_ECOLES, mettant dans le champ la valeur "non affecté".
    L'école ainsi changée n'apparaîtrait plus dans le sous-formulaire, et la valeur "non affecté" devrait se retrouver dans la la table T_ECOLE...

    Je suis un peu perdu, si quelqu'un peut m'aider un peu pour mettre au point la procédure...

    J'ai tenté ça...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub cmdSupZone_Click()
    Dim SQL As String
    SQL = "UPDATE T_ZONES INNER JOIN T_ECOLES "
    SQL = SQL + "ON T_ZONES.IDZONE = T_ECOLES.IDZONE "
    SQL = SQL + "SET T_ECOLES.IDZONE = 'non affecté'"
    SQL = SQL + " WHERE ((([Formulaires]![F_ECOLES]![IDECOL])"
    SQL = SQL + "=[T_ECOLES]![IDECOL]));"
    DoCmd.RunSQL SQL
    End Sub
    Mais ça ne marche pas... Il me demande un paramètre (?), puis met à jour 0 lignes !

    Merci de m'aider à y voir plus clair

    J'ai aussi essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub cmdSupZone_Click()
        Dim DB As DAO.Database
        Dim RS As DAO.Recordset
        Set DB = CurrentDb
        Set RS = DB.OpenRecordset("ECOLES", dbOpenDynaset)
     
        RS.Edit
        RS("IDZONE") = "non affecté"
        RS.Update
        RS.Requery
        Set RS = Nothing
        Set DB = Nothing
    End Sub
    C'est toujours pas bon !!


    Ibill

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 555
    Points
    24 555
    Par défaut
    Bonjour,

    Pour 1 ligne (1 ecole) faire simplement une affectation dans le controle du sous-form.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    form_monsousform.moncontrole = "non affecté"
    form_monsousform.requery
    on peut coder l'appel du sousform différemment suivant on le bouton se trouve.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.moncontrole = "non affecté"
    me si le bouton se trouve dans le sousform.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.monsouform.form.moncontrole = "non affecté"
    me.monsouform.form. si le bouton se trouve dans le formulaire parent.

    Pour ces syntaxes regarde le tuto sur les appels formulaires.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Points : 40
    Points
    40
    Par défaut ...merci
    J'ai mis résolu... quand je pense que j'ai retourné ça dans tous les sens !!!

    Merci encore

    Ibill

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

Discussions similaires

  1. [AC-2010] mise à jour champ dans plusieurs sous-formulaires
    Par philenull dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/03/2011, 22h46
  2. Réponses: 3
    Dernier message: 28/07/2010, 12h29
  3. Mise à jour champ CLOB sous SQL*Plus
    Par fva1969 dans le forum Sql*Plus
    Réponses: 0
    Dernier message: 24/03/2010, 22h35
  4. Réponses: 9
    Dernier message: 22/06/2005, 08h45

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