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 :

Erreur 2431 avec DefaultValue


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Par défaut Erreur 2431 avec DefaultValue
    Bonjour.

    Je suis sous Access 2000, et j'ai dans divers formulaires un bouton "Valeurs par défaut" qui doit réinitialiser des champs à leur valeur par défaut définie dans la table.
    Or, il se trouve que pour un champ X, je n'ai pas de valeur par défaut dans l'espion, alors que tous les autres champs du Recordset en ont une, et qu'elle est bien présente dans la table. Access me donne donc une erreur '2431' pour ce champ. Voici comment je mets à jour mes valeurs par défaut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CHAMP = Eval(Recordset("CHAMP").DefaultValue)
    Dans la table, le champ a bien une valeur par défaut.
    Je n'ai pas trouvé de référence à ce problème.

    Par avance, merci.

    Le chevalier au taureau.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 137
    Par défaut
    Bonjour,

    La fonction Eval n'est pas destinée à ce genre d'utilisation.

    Il faut jamais utiliser des mots clefs comme nom d'objet utilisateur. Recordset en est un.

    Peut-on voir un peu plus de ton code (la partie déclarative par exemple) ?

    Nous ne sommes malheureusement pas encore extra-lucide.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre expérimenté

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Par défaut
    Bonjour,

    Merci de chercher à me dépanner.

    Alors, j'ai utilisé la fonction Eval parce que Access, parfois, me considère un réel comme une chaîne de caractères.

    C'est du code derrière un bouton d'un formulaire. Le Recordset est le Recordset du formulaire, ce n'est pas moi qui ait nommé ceci, ça fait partie des membres de mon formulaire.

    C'est un formulaire généré par Access, je n'ai pas changé les noms des champs, j'ai simplement ajouté un bouton "Valeurs par défaut". Le seul code que j'ai est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Option Compare Database
     
    Private Sub btn_Default_Click()
          FREQUENCY = Eval(Recordset("FREQUENCY").DefaultValue)
          I_DROP_MIN = Eval(Recordset("I_DROP_MIN").DefaultValue)
          I_DROP_MAX = Eval(Recordset("I_DROP_MAX").DefaultValue)
          I_RAISE_MIN = Eval(Recordset("I_RAISE_MIN").DefaultValue)
          I_RAISE_MAX = Eval(Recordset("I_RAISE_MAX").DefaultValue)
          K_CONSUMPTION = Eval(Recordset("K_CONSUMPTION").DefaultValue)
    End Sub
    Tous ces champs sont déclarés comme réels simples dans la table. Tous passent bien, sauf K_CONSUMPTION. Certes, si je n'utilise pas Eval, Access génère une erreur de type. K_CONSUMPTION ne passe pas. Dans l'espion, Recordset("K_CONSUMPTION").DefaultValue est vide ("").

    Je ne sais pas quelles informations vous voudriez. S'il faut aussi la définition de la table et du formulaire, je ne sais pas comment les récupérer.

    Merci d'avance,

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 137
    Par défaut
    Bonjour,

    N'utilise pas Eval, utilise plutot un traitement pour la détection des types de données ou force simplement le réel.

    Regarde du coté de Cdbl() ou Csng() pour forcer un string en réel.

    cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. debutant: erreur LNK2001 avec la librairie GSL
    Par drill3 dans le forum MFC
    Réponses: 6
    Dernier message: 25/04/2005, 13h58
  2. erreurs opengl avec devcpp
    Par Vermin dans le forum OpenGL
    Réponses: 2
    Dernier message: 13/04/2004, 14h50
  3. Erreur EACCESSVIOLATION avec des compsts créés dynamiquement
    Par tsikpemoise dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/02/2004, 19h05
  4. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 22h20
  5. Erreurs IIS avec Multiples Frames avec xmlrad
    Par powerlog dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/07/2003, 13h15

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