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 :

[access] Prise en compte d'une variable dans l'enregistrement d'un champ d'une table


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Points : 31
    Points
    31
    Par défaut [access] Prise en compte d'une variable dans l'enregistrement d'un champ d'une table
    Bonjour,

    J'ai un petit souci sur lequel je bloque et j'espère que vous allez pouvoir m'aider

    Ma BDD doit gérer le réseau d'un batiment. J'ai un 1er formulaire qui sert à rechercher par numéro de prise (une prise est alimentée par un port d'un switch). Ce formulaire marche très bien et j'ai créer un code VBA qui me sert à ce que l'interface me propose de créer une prise si celle recherchée n'existe pas.

    Exemple : j'entre dan mon 1er formulaire la prise 6201A, access me dit qu'elle n'existe pas et me demande si je veux la créer. Je dit oui et un nouveau formulaire s'ouvre.

    Sur ce formulaire j'ai mon champ prise rempli automatiquement par une variable qui est le numéro de prise précédemment recherché (donc celle qui n'existe pas). Les autres champs présent dans ce 2e formulaire sont : N° de switch concerné, le port concerné et une remarque.

    Mon souci est que quand j'enregistre les infos que j'ai rentrée sur ma nouvelle prise, il me l'enregistre bien dans ma table T_PRISE mais remplace les infos du 1er enregistrement car ma variable de départ (donc le numéro de prise nouveau) n'est pas ajoutée dans le champ Prise ma table T_PRISE. En gros, je veux qu'Access comprenne que ma variable doit etre enregistrée dans ma Table T_PRISE dans le champ Prise (qui est ma clé primaire soit dit en passant)

    J'espère que je raconte pas trop de charabia et que quelqu'un saura m'aider

    merci d'avance

  2. #2
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Imaginons que ta variable contenant le n° de prise recherchée s'appelle "vNoPrise". Dans ton formulaire, imaginons que la zone de texte qui contient la valeur de cette variable s'appelle "ctlNoPrise".

    Essaie d'ajouter sur l'évènement "ouverture" de ton formulaire :
    me.ctlNoPrise.defaultvalue = vNoPrise.

    En espérant t'aider.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Points : 31
    Points
    31
    Par défaut
    Merci pour ta réponse

    Je pense que ta solution marcherai si... je voulai récupérer ma variable de mon 1er formulaire et l'afficher dans ma zone de texte de mon 2e formulaire. Mais malheuresement ce n'est pas ce que je veux faire...

    En effet, j'arrive à faire cela en mettant la chose suivante dans la source controle de mon champ texte (du 2e formulaire) :

    =[Formulaires]![F_PRISE]![Resultat]
    => F_PRISE est mon 1er formulaire, et Resultat est la zone de texte dans ce formulaire où s'affiche le résultat de ma variable

    Ce que je veux, c'est dans mon 2e formulaire (où g 4 champs : Prise (dont la valeur est donc récupérée de F_PRISE), Switch, Port, Remarques), l'utilisateur entre le switch, le port et la remarque. Ensuite quand il clic sur le bouton "enregistrer", que les infos s'enregistrent dans ma table T_PRISE qui contiennent les 4 champs de mon formulaire. Sauf que je n'arrive à dire à Access que la récupération de la variable (donc le num de prise) doit etre enregistrer dans mon champ Prise de ma table (champ qui est la clé primaire), ce qui fait qu'il me remplace les champs Switch, Port et remarque du 1er enregistrement contenu dans la table...

    Je sais pas si j'arrive à me faire comprendre car c'est difficile à expliquer...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Points : 31
    Points
    31
    Par défaut
    Quelqu'un paut m'aider ??

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Points : 31
    Points
    31
    Par défaut
    Bonjour

    En fait j'ai trouvé la facon de solutionner mon souci mais pas comment mettre en oeuvre cette solution alors que ça doit etre tout bete...

    En fait, la solution serai de dire à mon formulaire de directement se placer sur un nouvel enregistrement dès l'ouverture, j'ai cherché mais encore rien trouvé jusque là...

    si quelqu'un peut m'eclairer...

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Points : 31
    Points
    31
    Par défaut
    Mouai bon, à force j'ai trouvé la solution tout seul

    merci quand meme...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/06/2014, 13h02
  2. Réponses: 2
    Dernier message: 25/03/2009, 15h32
  3. [MySQL] Affecter chaque enregistrement d'un champ a une variable
    Par DjChat dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/05/2008, 16h31
  4. Réponses: 13
    Dernier message: 01/09/2007, 20h49
  5. Réponses: 7
    Dernier message: 02/08/2006, 15h51

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