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 :

Formulaire : insertion automatique


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 25
    Points : 23
    Points
    23
    Par défaut Formulaire : insertion automatique
    *Bonjour,*

    j'ai un formulaire de saisie client avec comme champs : code_client,nom,prénom etc....

    Dans le formulaire "Commande", lorsque je saisie une commande, comment faire pour que le nom et prénom du client apparaissent automatiquement après avoir saisie leur code ?

    *Merci.*

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Points : 28
    Points
    28
    Par défaut
    bonjour,

    je ne sait pas comment est constituer ta fenêtre mais tu peut gérer un évènement sur perte de focus et dans cette évènement tu fait un code du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private sub champclient_lostfocus()
    Dim rst As Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT nom, prenom FROM matable WHERE code_client='" & NomDuChamp & "';")
    champNom = rst!Nom
    champPrenom = rst!prenom
    rst.close: Set rst = Nothing
    End Sub

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    J'ai bien appliqué ta fonction.

    lorsque le code client existe dans la base tout va bien.
    mais lorsque je rentre un code client inconnu il me génère une erreur ?

    Comment fait on pour gérer dans le cas ou le code client n'existe pas ?

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Si la structure de ta base est correcte, tu n'as pas besoin de code pour faire ce que tu veux.

    Une simple requête comme source de ton formulaire "Commandes" reprenant les infos qui vont bien de la table "Commandes" et de la table "Clients" suffit.

    lorsque je rentre un code client inconnu il me génère une erreur ?
    C'est normal. Dans une relation 1 à plusieurs (un client peut avoir plusieurs commandes), on commence toujours par renseigner le côté 1 de la relation.

    On peut toujours trouver une solution, mais c'est juste pour essayer de refaire (plus ou moins mal) ce qu'Access fait très bien tout seul.

    Avant d'aller plus loin, un peu de lecture : Comprendre les jointures dans Access.

    Il serait également intéressant que tu postes une image de tes tables et relations.

    Domi2

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Points : 28
    Points
    28
    Par défaut
    Bonjour,

    Ou sinon par code tu vérifie par ton recordset n'est pas vide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private sub champclient_lostfocus()
    Dim rst As Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT nom, prenom FROM matable WHERE code_client='" & NomDuChamp & "';")
    If NOt rst.EOF Then
     champNom = rst!Nom
     champPrenom = rst!prenom
    Else
     'msg d'erreur indiquant que le code client n'est pas présent ou tout autre action
    End If
    rst.close: Set rst = Nothing
    End Sub
    Sinon les explications de Domi2 son aussi pertinente voilà moi ce que je te propose comme solution
    Les cartes sont entre tes mains

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/08/2009, 21h25
  2. Réponses: 4
    Dernier message: 07/01/2009, 14h25
  3. Insertion automatique d'un formulaire
    Par nesumi dans le forum Word
    Réponses: 11
    Dernier message: 16/09/2008, 07h11
  4. Réponses: 7
    Dernier message: 19/03/2008, 14h31
  5. Réponses: 1
    Dernier message: 25/10/2006, 18h06

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