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 :

Convertir String en Object ?


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Par défaut Convertir String en Object ?
    Bonjour.
    Je débute en VBA (depuis 15 jours pour le taf, jamais fait de VB), et je bute sur un petit problème...
    Je désire passer plusieurs paramètres à un formulaire lors de son ouverture, chose que je peux faire grâce à la propriété OpenArgs de DoCmd.OpenForm.
    Entre autres, je désire passer à ce formulaire l'adresse d'un champ dans lequel il devra copier une valeur. Le problème étant que je récupère l'adresse sous forme de String. Est t-il possible de convertir ma chaîne en Object, et si oui comment ?
    Si non, avez vous une autre idée ?
    Merci

    PS : J'ai bien vu qu'on pouvait utiliser Controls sur un formulaire pour y trouver un champ spécifique...
    Par exemple, Me.Controls("Nomduchamp").Value = 3.
    Y a t-il un équivalent pour trouver sur une application access un formulaire précis à partir d'une chaîne de caractères ? J'ai bien tenté Forms.Controls("Nomduformulaire!Nomdusousformulaire!Nomduchamp"), mais ça me donne une erreur "Propriété ou méthode non gérée par cet objet"...

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Qu'entends-tu par 'l'adresse d'un champ' la position en mémoire où est stocké la valeur du champ ?

    Pour référencé un champ dans un autre formulaire la syntaxe est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Forms]![NomDuForm]![NomDuCHamp]=TaValeur
    Traduction :
    Dans la collection des formulaires ouverts (Forms) cherche le formulaire dont le nom est 'NomDuForm' et affecte TaValeur au champ 'NomDuChamp'.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Par défaut
    J'ai du mal expliquer
    En fait, je veux pouvoir réutiliser un formulaire de recherche de fichier dans différents contextes.
    Ainsi, lorsque je l'appelle, je lui passe en paramètre via OpenArgs le titre du formulaire ("Exporter vers...", "Sélectionner un fichier", "Nainportekwa", ...), le contenu des labels, et l'adresse vers laquelle il faudra que mon formulaire copie le contenu d'un de ses champs de texte.
    OpenArgs contient alors quelque chose comme : "titre|Exporter vers...;description|Veuillez sélectionner le fichier vers lequel vous souhaitez exporter;adresse|Forms!FProjetListe!FProjetListeSFDetail!LabelBesoinSauve".
    Je récupère dans mon formulaire de recherche chacun des paramètres, et les affecte au bon emplacement (dans l'évènement "Form_Load"). Mon problème est de pouvoir placer une valeur dans "Forms!FProjetListe!FProjetListeSFDetail!LabelBesoinSauve", puisqu'il s'agit d'une chaine de caractère et non d'un objet...
    La collection Forms me permet d'accéder aux formulaires ouverts, et la collection Controls me permet d'accéder aux contrôles d'un formulaire, mais je n'ai pas encore trouvé comment accéder aux sous-formulaires...

    Edit : Problème résolu. Il suffit de faire Forms.Item("Nomduformulaire").Controls("Nomdusousformulaire").Controls("Nomdelobjet") pour obtenir l'objet en question. Plus qu'à réussir à coder quelque chose qui me transforme n'importe quelle chaîne en quelque chose comme ça

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

Discussions similaires

  1. [Débutant] Convertir String to combobox object
    Par eemii dans le forum C#
    Réponses: 7
    Dernier message: 08/10/2013, 18h24
  2. Convertir un String en Object
    Par TrollTop dans le forum VC++ .NET
    Réponses: 6
    Dernier message: 17/10/2007, 15h25
  3. Réponses: 9
    Dernier message: 31/05/2006, 17h11
  4. Convertir String en Char: comment?
    Par nmathon dans le forum Langage
    Réponses: 2
    Dernier message: 22/08/2005, 20h58
  5. [C#] Fonction pour convertir string[] vers ArrayList
    Par luimême dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/04/2005, 13h25

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