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

Access Discussion :

[Access 2003] déclaration d'une variable dans un formulaire


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 16
    Points : 7
    Points
    7
    Par défaut [Access 2003] déclaration d'une variable dans un formulaire
    Bonjour,

    J'ai un formulaire de saisie pour entrer un nouvel enregistrement dans ma base. J'ai mes critères département, canton et commune qui sont sous forme de liste modifiable et qui ne fonctionnent pas. Lorsque je souhaite renseigner l'une des 3 listes modifiable, le message suivant apparait :

    "Vous avez essayé d'affecter la valeur Null à une variable qui n'est pas du type de donnée Variant ".

    Si je clique ok la commune que je souhaitais mettre apparait correctement. Si je complète les autres renseignements de mon formulaire, je me rends compte, en ouvrant la table dans laquelle le nouvel élément doit être entré, que j'ai deux nouveaux renseignements au lieu d'un : un avec seulement la localisation (donc commune, canton et département) et l'autre avec mes autres renseignements que j'aurai spécifié. Il me scande les informations.

    D'après le message d'erreur, je pense qu'il faut que je déclare les listes modifiables comme variable ! mais comment et où ? Dim (quoi?) as variant et où est ce que je le tape ?

    Merci pour l'info

  2. #2
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    Salut

    Pour récapituler: tu as un formulaire avec 3 combo (dept, cantons, communes). Tu veux sélectionner une valeur dans chaque, et valider pour implémenter un autre formulaire. C'est ça ?

    - les 3 combo sont-elles liées entre elles ?
    - As-tu 1 table pour Dept, 1 pour Canton et 1 pour Commune ou 1 seule et unique table ?
    - Comment répercutes-tu ces 3 valeurs dans ton formulaire final ?

    La pensée n'est qu'un éclair au milieu de la nuit. Mais c'est cet éclair qui est tout.
    Henri Poincaré

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    En fait, j'ai un formulaire de saisi. Pour renseigner la localisation du nouvel enregistrement que je veux créer, je spécifie le département, le canton et la commune par le biais d'une liste déroulante.

    Le problème est que lorsque je souhaite renseigner la commune ou le canton ou le département, que je clique sur la flèche de ma liste déroulante et que je sélectionne un des choix de ma liste, le message d'erreur cité dans le message précédent apparait.

    Lorsque je clique sur ok de mon message d'erreur, il prend quand même en compte le nom du département, du canton ou de la commune que je souhaite attribuer à mon nouvel enregistrement.

    Si je clique sur l'aide du messga d'erreur, il m'indique que le type de données que je souhaite rentrer doit être déclaré en temps que variable.

  4. #4
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    tu as donc 1 combo pour le trinôme Dept/Canton/Commune ?

    cette combo est-elle liée à un champs de ta table ?
    sinon comment implémentes-tu la table ?
    La pensée n'est qu'un éclair au milieu de la nuit. Mais c'est cet éclair qui est tout.
    Henri Poincaré

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    A vrai dire, je ne sais pas ce qu'est un combo. Je suis vraiment novice en programmation.
    J'ai 3 zones de liste déroulante (département, canton et commune) que j'ai créé manuellement qui sont chacun tiré de différentes tables de ma base.

    Je ne sais pas si c'est compréhensible Ce n'est pas simple à expliquer

  6. #6
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    désolé pour le vocabulaire ... pour moi une combo c'est une zone de liste.

    chaque combo est donc tirée d'une table.
    Vérifie le contenu de chaque liste. En gle tu as un index (que tu n'affiche pas)+ le libellé du Dept (par ex). Et normalement c'est la valeur de l'index que tu stocke dans la table.

    1ère cause d'erreur tu veux stocker une valeur de type différent.

    Si tu as imbriqué tes listes déroulantes, à savoir que quand tu sélectionnes un Dept, tu limites les cantons à ce Dept idem entre canton et Commune,
    Vérifie là aussi les critères de tri au sein des combo. Les valeurs sont peut être de type différent ...
    La pensée n'est qu'un éclair au milieu de la nuit. Mais c'est cet éclair qui est tout.
    Henri Poincaré

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Je n'ai pas vraiment saisi toutes explications.
    Je me rends compte que le problème que je t'ai exposé se retrouve dans plusieurs autres listes déroulantes.
    Suite à ton message, je pensais que le priblème venait du nombre de colonnes et des colones liées (dans les propriétés). Pour mes listes déroulantes département, canton et commune, j'ai deux colonnes (donc dans propriété, onglet format, Nombre de colonne : 2) et une colonne liée (dans Propriété, onglet Données, Colonne liée : 1). Par contre, dans les autres menus déroulant m'affichant le même message d'erreur, j'ai 1 colonne et une colonne liée.
    Je suis complètement perdue. Ma base doit être terminée dans un mois et je suis loin d'avoir terminé.
    Peut-être que je m'y suis mal prise pour réaliser ma fiche de saisie ? En fait, j'ai une base avec près de 30 tables. Pour une fiche de saisie, j'ai besoin de 13 de mes tables. le nombre de champ étant trop important pour basé mon formulaire sur une requête (qui m'aurai regroupé tous mes champs), j'ai fonctionné avec des sous-formulaires.
    Pour appeler chaque champs, j'ai tous simplement fais glisser mes champs à partir de la liste de champs de la source de contrôle que j'ai défini dans les propriétés.
    Je pense avoir utilisé la bonne méthode. (je dis bien je pense car il s'agit de ma première base et je n'avais jamais ouvert access auparavant).
    Pourrais-tu me préciser d'où vient le problème que tu m'as exposé tout à l'heure et quelle démarche je dois suivre pour le résoudre ?
    Je te remercie.

  8. #8
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    Il me semble que tu t'es aventurée dans un gros truc pour commencer l'apprentissage

    qq conseils:
    - l'aide dans Access: faisant usage à outrance
    - les tuto du site sont supers: bonne lecture
    - la FAQ regorge de prb communs, n'hésite pas à fouiller.

    bien, conceptes généraux:

    tu veux à travers un formulaire visionner le contenu d'une table, tes champs feront référence à ceux de la table.
    Une zone de liste c'est pareil, sa "source de controle" sera le champs.
    Assez souvent la combo est basée sur une table annexe contenant un ID + détails. Le "contenu" de la combo comprendra l'ID + détail1 + détails 2 ...
    La combo renvoie par défaut la valeur de sa première colonne. Le champs de la table doit alors être du même type (c'est IMPORTANT)

    Entraîne toi sur une table test comprenant qq champs et essaie de saisir ce fonctionnement, tu ratrapperas le temps après
    La pensée n'est qu'un éclair au milieu de la nuit. Mais c'est cet éclair qui est tout.
    Henri Poincaré

Discussions similaires

  1. Déclaration d'une variable dans un bloc
    Par Nadd dans le forum Débuter
    Réponses: 11
    Dernier message: 09/03/2010, 16h24
  2. 2003 VBA: Evaluer une variable dans OpenForm
    Par Jean_Benoit dans le forum Access
    Réponses: 3
    Dernier message: 24/02/2007, 23h01
  3. Réponses: 2
    Dernier message: 08/06/2006, 11h09
  4. Réponses: 5
    Dernier message: 01/06/2006, 11h36
  5. Réponses: 2
    Dernier message: 12/05/2006, 14h20

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