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 :

Remplissage et validation d'un formulaire en VBA


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur aeronautique
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur aeronautique

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Par défaut Remplissage et validation d'un formulaire en VBA
    Bonjour,

    Je suis nouveau sur le forum et j'aurais besoin d'un peu d'aide.

    Je modifie actuellement un fichier access pour que le formulaire se remplisse automatiquement à partir d'un fichier Excel.
    Le formulaire est doté d'un sous formulaire lié à une table qui affiche les sous ensembles d'une pièce. Il est mis-à-jour en sélectionnant dans un ComboBox (cboYSN) le numéro de série de la pièce.

    Mon problème est le suivant:
    je n'arrive pas en VBA à charger le sous formulaire en fournissant le numéro de série au ComboBox.

    J'ai essayé sans succès de combiner les methodes suivantes pour entrer/trouver la valeur et la faire valider: Me!cboYSN.Value = ... , DoCmd.FindFecord, Form.refresh, Form.requery, Sendkeys etc

    En fait je ne sais pas vraiment comment le sous-formulaire est chargé ce qui m'empèche d'avancer.

    J'espère que c'est assez clair. Merci d'avance pour vos lumières.

    Christophe

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 129
    Par défaut
    Bonjour,

    2 possibilités :

    Soit le sous-formulaire est complètement indépendant du formulaire principal : il faut alors modifier Form_MonSousFormulaire.RecordSource = "select... where..." ou Form_MonSousFormulaire.filter (il y a plusieurs syntaxes possibles pour l'appel d'un objet d'un autre formulaire)

    Soit il est dépendant par un lien père/fils alors la simple modification du champ père actualise le sous formulaire

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur aeronautique
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur aeronautique

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Par défaut
    Merci pour votre réponse.

    On est dans le deuxième cas: le sous formulaire est lié à un champ appelé YSN dans le formulaire.

    Cependant, quand je modifie ce champ directement (à la main ou en VBA), le sous formulaire se charge bien mais si je veux accéder au sous-formulaire, je reçois un message comme quoi tout enregistrement ou modification est impossible et créerait des problèmes de doublons ou d'index (je n'ai plus le message en tête, je peux le copier lundi).

    A la main, quand j'utilise le ComboBox "cboYSN", le champ YSN se met à jour et le sous formulaire se charge avec possibilité de modifier les champs du sous-formulaire. C'est ce que j'essaie de reproduire en VBA.

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 129
    Par défaut
    Citation Envoyé par ctheau Voir le message
    Cependant, quand je modifie ce champ directement (à la main ou en VBA), le sous formulaire se charge bien mais si je veux accéder au sous-formulaire, je reçois un message comme quoi tout enregistrement ou modification est impossible et créerait des problèmes de doublons ou d'index (je n'ai plus le message en tête, je peux le copier lundi)
    Il s'agit d'un champ indépendant ?
    Au vu du message le problème semble plutot dans le formulaire principal

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur aeronautique
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur aeronautique

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Par défaut
    Bonjour,

    Je ne pense pas:
    - le champ a une source de controle: YSN
    - C'est bien YSN qui est le lien avec le sous-formulaire (Link Master Fields et Link Child Fields = YSN)
    - le comboBox est indépendant et le code associé au click est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub cboYSN_Click()
        On Error GoTo Err_cboYSN
        Me!YSN.SetFocus
        DoCmd.FindRecord cboYSN, , True, , True
        Me!cboYSN.SetFocus
        Exit Sub
    Err_cboYSN:
     
        End Sub

    Lorsque j'entre une valeur dand le champs YSN et que je veux accéder au sous-formulaire, je reçois le message en PJ.
    Si je selectionne la même valeur via le comboBox, la modification est possible.
    Nom : Capture.PNG
Affichages : 157
Taille : 28,5 Ko

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 129
    Par défaut
    cboYSN doit être indépendant sinon la saisie tente de créer un nouvel enregistrement et access refuse de quitter le formulaire car cela validerait la création. Le sous-formulaire n'y est pour rien.

Discussions similaires

  1. Vérification de validation d'un formulaire
    Par tom06440 dans le forum Langage
    Réponses: 8
    Dernier message: 21/09/2005, 14h29
  2. Valider l'enregistrement en cours VBA
    Par avril.stephane dans le forum Access
    Réponses: 3
    Dernier message: 24/08/2005, 15h13
  3. enlever la croi pour fermer un formulaire en vba?
    Par xtaze dans le forum Access
    Réponses: 6
    Dernier message: 15/06/2005, 17h16
  4. Créer un formulaire avec VBA ?
    Par Jean Bonnisme dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/10/2004, 10h40
  5. Réponses: 11
    Dernier message: 16/09/2004, 11h39

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