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 :

Dlookup dans une table dont les champs commencent par une valeur


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Juin 2010
    Messages : 136
    Points : 90
    Points
    90
    Par défaut Dlookup dans une table dont les champs commencent par une valeur
    Bonjour

    Je cherche naïvement a faire un Dlookup dans une table dans laquelle certains champs commencent par une valeur numérique (N° du trimestre ex 1T15, 2T15, ...)
    Je ne peux/veux pas changer les noms de ces champs compte tenu de les implications que cela aurait dans mon programme qui devient assez gros, ...

    sur l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DLookup(col.Name, Tble, ColCrit)
    pour une valeur de col.name = "1T15", par exemple , où les éléments Tble, ColCrit sont des variables ayant une valeur correcte, on reçoit le message
    Erreur de synthaxe (opérateur absent) dans l'expression < 1T15>
    Y a t il un moyen de faire cette recherche dans la table ?

    Merci

  2. #2
    Membre régulier
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Juin 2010
    Messages : 136
    Points : 90
    Points
    90
    Par défaut Complément
    Pour info,

    J'ai pu bien sur "bypasser" ce problème en indexant les n° de champs à partir du premier trimestre renseigné de la table via un scan de field(i), mais cela ne résous pas tous mes problèmes, la question est plus sur la manipulation de champs dont le premier caractère est numérique.

    Merci

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut utilisation de champ calcule
    Bonjour,

    Dans la table tu peux creer un champ calcule de type booleen
    [StartWithNum]=IIf((Left([Nom du champ],1)) In (0,9),True,False)

    ca va afficher 0 pour les champs qui commencent par un nombre et #Type! pour les autres,

  4. #4
    Membre régulier
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Juin 2010
    Messages : 136
    Points : 90
    Points
    90
    Par défaut
    Merci,

    Mais cela ne règle pas mon problème car les noms des champs qui sont les n° de trimestres par an sont standardisés et utilisés dans beaucoup d'applis et requêtes. Donc en fait ma question était plus de savoir s'il y avait moyen d'utiliser des noms de champs numériques (ou commençant par un chiffre) d'une façon générale.

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Absolument, tu peux creer un champ qui s'appelle 1

  6. #6
    Membre régulier
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Juin 2010
    Messages : 136
    Points : 90
    Points
    90
    Par défaut
    Comme je le disais initialement, la question n'est pas de créer des champs contenant une valeur numérique en 1er caractère, - ça marche effectivement - mais de pouvoir l'utiliser dans un Dlookup/Dsum,.... Alors que ça ne pose pas de problème d'utiliser ce type de champs danse requête.

    sur l'expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DLookup("somme", "Table", "Trimestre='" & Trim_ & "'")
    Trim_ étant une variable où la valeur est "1T15" on reçoit le message
    Type de donnée incompatible dans l'expression du critère
    Cela ne marche pas mieux avec [1T15]
    ... l'objet ne contient pas d'objet Automation <1T15>
    Alors que le champs 1T15 existe bien et que le même Dlookup marche normalement sur une recherche sur un champ tout caractère dans la même table.

Discussions similaires

  1. Utiliser les champs vides d'une table dans un code
    Par marcelstan dans le forum Access
    Réponses: 1
    Dernier message: 23/03/2015, 12h34
  2. [AC-2003] Requete qui écrit dans une table dont un champ est un format personnalisé
    Par ostrich95 dans le forum Requêtes et SQL.
    Réponses: 30
    Dernier message: 19/03/2014, 14h21
  3. [AC-2003] Ajout d'enregistrements dans une table dont un champ est le résultat d'une requête
    Par ostrich95 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 08/03/2014, 09h09
  4. Réponses: 12
    Dernier message: 12/07/2011, 18h19

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