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 :

Tester existence d'un champ dans un recordset


Sujet :

Access

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 65
    Par défaut Tester existence d'un champ dans un recordset
    Bonjour,

    J'ai une requête "croisée dynamique" qui fonctionne très bien... J'analyse et j'extrais de cette requête, en VBA, tout un tas d'informations que j'exporte vers Excel. Ceci fonctionne parfaitement sauf dans le cas où une des colonnes analysées en VBA n'existe pas dans ma requête. Dans ce cas, c'est la procédure entière qui n'est pas réalisée...

    Comment tester l'existance de ceci :
    Merci d'avance !

  2. #2
    Membre expérimenté Avatar de temar
    Profil pro
    Étudiant
    Inscrit en
    Août 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2004
    Messages : 316
    Par défaut
    Salut !

    Peut-être qu'en vérifiant si il a une valeur nulle, ça marcherait ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 65
    Par défaut
    Merci pour ta réponse !

    Hélas non, ça ne fonctionne pas. Comme le champ lui-même n'existe pas, il ne peut même pas avoir de valeur nulle...

    Quelqu'un a-t-il une autre idée ?

  4. #4
    Membre expérimenté Avatar de temar
    Profil pro
    Étudiant
    Inscrit en
    Août 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2004
    Messages : 316
    Par défaut
    Un coup d'oeil rapide dans l'aide de VBA, et j'ai trouvé la propriété ActualSize d'un RecordSet.
    J'ai jamais utilisé, mais regarde un peu si tu peux en tirer quelque chose.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 65
    Par défaut
    J'essaie de regarder ceci, mais ça ne donne aucun résultat pour l'instant.

    J'ai trouvé la propriété index de recordset, mais je n'arrive pas à visualiser ce qu'il contient, dans une msgbox...
    Si au moins je pouvais trouver la liste des champs de mon recordset, je pourrais faire qqch...

    Merci pour les réponses en tous cas !

  6. #6
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    En testant si le champ appartient à la collection Fields du recordset, et en gérant l'erreur s'il n'existe pas. Tu peux même créer une petite fonction

    Pubic Function IsFieldExistInRS(oRs as DAO.Recordset, strFieldName as string) as Boolean
    ....

    End function

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 65
    Par défaut
    Merci Tofalu,

    Mais comment faire pour vérifier l'existence de mon champ :

    dans :

    Merci d'avance, je sens qu'on touche au but !

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    pour éviter cet écueuil le mieux est de donner à la requête analyse croisée
    des en têtes de colonnes fixes

    cela se fait en sql avec une clause pivot in ("champ1","champ2"...

    ou en faisant clic droit en mode qbe dans la zone où sont les tables et en
    mettant à jour la propriété en tête de colonne


    on peut aussi si on a le goût de la plaisanterie écrire
    pivot in (select et ici on va chercher la totalité des valeurs possibles

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 65
    Par défaut
    Elle est belle, la vie !
    Merci à tous, et principalement à Random qui m'a donné un bon tuyau, répondant parfaitement à mon besoin. Un peu moins technique, mais parfaitement fonctionnel.
    Pour info, le mode qbe fonctionne très bien, je ne suis pas très doué en sql !
    Bonne soirée.

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

Discussions similaires

  1. tester existence d'un élément dans champ TCD
    Par NATOU2 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/10/2008, 16h20
  2. Tester l'existence d'un champ dans une table
    Par Raphael_74 dans le forum WebDev
    Réponses: 1
    Dernier message: 29/02/2008, 15h58
  3. [ODBC] Tester existence d'un champs dans un recorset
    Par Sheraf dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/05/2006, 10h44
  4. Tester l'existence d'un champ dans une requête
    Par Reidid dans le forum Access
    Réponses: 3
    Dernier message: 23/01/2006, 22h02
  5. Tester l'existence d'un champ dans une table
    Par Oluha dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/09/2005, 11h19

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