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 :

Création d'un champ dans une table via VBA


Sujet :

VBA Access

  1. #1
    Membre averti Avatar de Oliv'83
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Mars 2008
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2008
    Messages : 421
    Points : 309
    Points
    309
    Par défaut Création d'un champ dans une table via VBA
    Bonjour à tous,

    Je veux créer un champ dans une table en passant par un formulaire.

    Dans ce formulaire j'ai 2 zones : strNomDuChamp (Zone de Texte) et ListeType (Zone de liste déroulante rattachée à une table qui contient deux champs).

    J'ai aussi un bouton avec notamment le code ci-dessous qui est rattaché :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MonChamp = MaTable.CreateField(Me.strNomChamp, Me.ListeType)
    La partie Me.strNomChamp fonctionne sans problème mais pas Me.ListeType...

    Pourtant quand je mets un : il me met bien la valeur que je souhaite (c'est à dire : dbBoolean ou dbInteger par exemple) mais ensuite le code Set MonChamp provoque un avertissement Erreur d'exécution '3421'.

    J'avoue que je ne comprends pas pourquoi ?

    Oliv'

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 424
    Points : 20 002
    Points
    20 002
    Billets dans le blog
    67
    Par défaut
    Salut,

    Il me semble, que dbBoolean ou dbInteger sont des constantes (numérique) et non des chaines de caractères comme dans ton cas

    A+

  3. #3
    Membre averti Avatar de Oliv'83
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Mars 2008
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2008
    Messages : 421
    Points : 309
    Points
    309
    Par défaut
    Salut User,

    Tu dois avoir raison mais lorsque l'on définit le champ normalement la syntaxe est par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MonChamp = MaTable.CreateField(Me.strNomChamp, dbBoolean)
    Donc il faut bien transmettre une chaine de caractères. Non ?

    Oliv'

  4. #4
    Membre averti Avatar de Oliv'83
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Mars 2008
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2008
    Messages : 421
    Points : 309
    Points
    309
    Par défaut
    Il semblerait que cela fonctionne si au lieu de transmettre la constante en toute lettre on transmet sa valeur :

    1 pour dbBoolean
    2 pour dbByte
    3 pour dbInteger
    ...

    Je teste cela demain matin et je vous tiens au courant.

    Bonne soirée

    Oliv'

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 424
    Points : 20 002
    Points
    20 002
    Billets dans le blog
    67
    Par défaut
    Citation Envoyé par Oliv'83 Voir le message
    Il semblerait que cela fonctionne si au lieu de transmettre la constante en toute lettre on transmet sa valeur :

    1 pour dbBoolean
    2 pour dbByte
    3 pour dbInteger
    ...

    Je teste cela demain matin et je vous tiens au courant.

    Bonne soirée

    Oliv'
    Oui, bien vu, ça devrait fonctionner :

    c'est ce que l'on fait habituellement dans les requêtes qui n'acceptent pas les constantes

  6. #6
    Membre averti Avatar de Oliv'83
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Mars 2008
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2008
    Messages : 421
    Points : 309
    Points
    309
    Par défaut
    Je confirme ce que je disais hier soir, cela fonctionne avec les valeurs.

    Bonne journée à tous et merci à User pour son aide.

    Oliv'

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

Discussions similaires

  1. Inserer une date dans une table via vba
    Par marcelstan dans le forum Access
    Réponses: 2
    Dernier message: 31/07/2014, 12h12
  2. [AC-2003] Création de nouveaux champs dans une table en VBA
    Par lambith dans le forum VBA Access
    Réponses: 24
    Dernier message: 31/03/2013, 10h56
  3. [MySQL] Création dynamique de champs dans une table
    Par kamnouz dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/05/2011, 12h09
  4. [A97] : Intégration de data dans une table via VBA
    Par JeremieT dans le forum VBA Access
    Réponses: 11
    Dernier message: 22/01/2008, 15h11
  5. Ajouter des CHAMPS dans une table via ASP
    Par hysteresis dans le forum Access
    Réponses: 1
    Dernier message: 27/09/2005, 16h39

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