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 :

Remplissage automatique d'un champ


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 96
    Points : 35
    Points
    35
    Par défaut Remplissage automatique d'un champ
    Bonjour,

    Je suis en train de boucler la réalisation d'une application de gestion des consommables pour ma société.

    Je peux gérer le stock par article, le stock par emplacement (je suis dans un entrepôt), créer/modifier/supprimer une fiche article, imprimer des inventaires, redresser le stock d'une palette, déstocker une palette, etc...

    Il ne me manque qu'une seule chose très importante : stocker une palette

    Et là je bloque.

    Vous pouvez voir en pièce jointe le schéma relationnel de ma base de données. Tout se joue au niveau de la table "Palettes" qui contient donc le stock. Cette table est reliée aux autres tables (produit, structure) par le numéro (clé primaire des 2 tables en numéro automatique).

    Lorsque je crée mon formulaire de stockage de palette, je veux pouvoir entrer le détail de cette palette (numéro palette est automatique, #Numéro produit je l'obtiens par une liste déroulante sur la table produit qui me récupère le numéro du produit et me le stocke dans mon champ #Numéro produit dans la table "Palettes", Stock je le saisie évidemment, #Activité par une liste déroulante, PCB et SPCB par la saisie).

    Pas de problème donc pour les champs décris entre parenthèses mais se pose le problème de l'identification de l'emplacement.

    En effet, dans la table "Palettes", l'emplacement est identifié uniquement par son numéro unique (numéro auto de la table structure). Pour vous donner un ordre d'idée, j'ai 90 344 emplacements différents dans ma table "Structure". Il est donc impossible de l'obtenir en le saisissant (retenir 90 000 numéro par coeur est difficile ), inenvisageable de l'obtenir en allant consulter à chaque fois la table "Structure" et inapproprié de l'obtenir par une liste déroulante (trop d'entrées).

    Mon souhait serait donc de pouvoir saisir les 5 composants de mon emplacement (allée, face, colonne, niveau, emplacement) dans ce formulaire (par un champ, une invite ou je ne sais quoi d'autre) et qu'il vienne automatiquement remplir le numéro unique de l'emplacement saisi. Une sorte de recherche en fait.

    Une fois ce numéro trouvé à partir des 5 composants saisis, je dois pouvoir sauvegarder mon enregistrement.

    Est-ce possible et si oui comment ? Il ne me reste plus que ça à terminer et ça commence vraiment à me prendre la tête

    Je vous remercie par avance pour votre aide.

    Si vous avez besoin de plus de détails, n'hésitez pas

    Cordialement

    Axel
    Images attachées Images attachées  

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Logiquement, tu devrais pouvoir t'en sortir avec 5 zones de texte (voire des listes déroulantes) correspondant aux allée, face, colonne, niveau, emplacement. Ces zones doivent être indépendantes (non reliées à la source).
    Tu ajoutes un bouton pour exécuter la recherche (ou tu lances la recherche dés que les 5 informations sont renseignées.
    Le code se traduira par une petite recherche, via un recordset ou via un dlookup...

    Le code pourrait ressembler à ceci (code tapé directement dans ce message... non testé)
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Dim sWhere as string
     
    'vérifier que les 5 critères sont saisis
     if Nz(Me!txtAllée,"")  ="" then
                   Msgbox "..."
                   Me!txtAllée.SetFocus
                   exit sub
     endif
     
     ...
     
    'effectuer la recherche
     
     
    'je suppose ici que tes champs sont des numériques
    sWhere = "Allée = " & Me!txtAllée  & _
                  " AND face = " & Me!txtface & _
                  ... etc
     
    lg = Nz(Dlookup("[#Numéro palette]","Palettes",sWhere),0)
     
    if lg > 0 then 
         Me![#Numéro Structure=] = lg
     
         'il vaut mieux vider les champs indépendant pour éviter toute confusion...
         Me!txtAllée =Null
         Me!txtface =Null
         '...
    end if

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 96
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    Merci pour cette réponse rapide. J'aimerais tester de suite mais avant, je préfèrerais comprendre un peu. Je suis plutôt novice en VBA et autant dire que ton code VBA est un peu ardu pour moi.

    La première partie si je comprends bien vérifie que tous les critères soient remplis. Dans ce cas, pourquoi seul txtAllee apparait ? Après tout, c'est un des 4 autres qui pourrait être vide, non ? Dans ce cas aussi, pourquoi faire un Nz au lieu d'un simple <> "" ?

    La suite pareil, je ne connais pas vraiment le fonctionnement de dlookup dans ce cas précis (j'ai cherché sur Google et il dit que ça permet de rechercher dans une table, dans ce cas, pourquoi recherches-tu dans Palettes au lieu de rechercher dans Structure ? Le champ recherché est bien le Numéro emplacement qui se trouve dans la table Structure).

    Un peu confus tout ça pour moi

    Si tu pouvais m'expliquer pas à pas ton code, ça m'aiderait grandement pour pouvoir m'en sortir seul plus tard

    Aussi tu parlais de la possibilité de faire soit un bouton de recherche, soit une recherche après la saisie du dernier critère. Je préfèrerais la 2ème solution. Comment l'appliquer ici ?

    Enfin, dans ces conditions, le champ recherché ne doit pas apparaitre dans le formulaire mais simplement être stocké dans le champ de l'enregistrement.

    Merci grandement pour ton aide.

  4. #4
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Citation Envoyé par jedimaster10 Voir le message
    ...
    La première partie si je comprends bien vérifie que tous les critères soient remplis. Dans ce cas, pourquoi seul txtAllee apparait ? Après tout, c'est un des 4 autres qui pourrait être vide, non ? Dans ce cas aussi, pourquoi faire un Nz au lieu d'un simple <> "" ?
    ...
    Pas le temps de t'expliquer dans le détail, mais ce n'est qu'une idée de code à suivre les ... supposent que tu dois compléter

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 96
    Points : 35
    Points
    35
    Par défaut
    Ok, je vais essayer de comprendre avec l'aide de sites de supports sur les différentes fonctions

    Au cas où, j'ai trouvé une solution de secours en supprimant la table structure et en rabattant la notion d'emplacement directement dans la table palettes

    Merci

Discussions similaires

  1. Remplissage automatique d'un champ
    Par ced_noob dans le forum Access
    Réponses: 4
    Dernier message: 09/09/2014, 11h50
  2. remplissage automatique d'un champ texte
    Par zerros dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/05/2010, 15h06
  3. Réponses: 1
    Dernier message: 09/10/2009, 10h45
  4. [A-07] remplissage automatique d'un champs
    Par alex77140 dans le forum VBA Access
    Réponses: 3
    Dernier message: 21/02/2009, 00h07
  5. [AJAX] Remplissage automatique d'un champ à partir d'un évênement
    Par joss91 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/01/2008, 19h10

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