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 :

Accès à une Table Indexée (index composite) en VBA ACCESS


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Accès à une Table Indexée (index composite) en VBA ACCESS
    Je dois lire en VBA ACCESS une Table ACCESS (via DAO), la Table "VISITES" correspondant à un suivi des contrôles techniques de véhicules industriels, table dont la clé primaire est un index composé de deux champs :
    a) Le numéro de série du véhicule qui doit subir un contrôle technique
    b) La date du contrôle technique
    Dans la procédure DAO de VBA ACCESS j’utilise deux techniques de déclaration de l’index :
    1°) Déclaration de l'Index Composite
    Dim rec As Recordset
    Set rec = CurrentDb.OpenRecordset ("VISITES")
    Rec.Index = "[NUMERO DE SERIE] & [DATE DE LA VISITE]"
    Rec.MoveFirst
    Dans ce cas il me retourne l'erreur suivante (concernant la déclaration de l'index) lors de l'exécution:
    "L'index déclaré est invalide"
    2°) Déclaration du premier champ clé d'index :
    Dim rec As Recordset
    Set rec = CurrentDb.OpenRecordset ("VISITES")
    Rec.Index = "[NUMERO DE SERIE]"
    Rec.MoveFirst

    Dans ce cas il me retourne le message d'erreur à l'exécution : "date absente dans l'index"
    Quelqu'un aurait-il une solution pour déclarer un index composite ?
    Un grand MERCI

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 345
    Points : 23 805
    Points
    23 805
    Par défaut
    En mode création de table tu affiche les indexs (l'éclair à côté de la clef)

    dans la 1ere colonne tu mets le nom de ton index composé (ex : monIndexComposé)
    dans la seconde colonne tu mets tous les noms des champs qui le compose)
    ensuite tu défini les propriétés de ton index (en bas à gauche)

    pour utiliser l'index, tu l'appel par son nom (ex : monIndexComposite)

    pour faire une recherche tu fais un seek() (voir l'aide)

    Généralement la clef primaire s'appelle PrimaryKey qu'elle soit composée ou nom.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. manipuler une table avec index
    Par aminfire dans le forum SAS Base
    Réponses: 0
    Dernier message: 03/09/2009, 12h17
  2. Recherche dans une table non indexée
    Par LuckyLuke56 dans le forum Bases de données
    Réponses: 4
    Dernier message: 25/05/2009, 11h29
  3. boutons radio dans une table, attribut "index" de t:radio
    Par NomUtilisateurDejaPris dans le forum JSF
    Réponses: 4
    Dernier message: 22/05/2008, 13h36
  4. Autorisation d'accès à une table par VBA
    Par electrosat03 dans le forum Access
    Réponses: 4
    Dernier message: 30/01/2007, 17h55
  5. Reconstruction d'une table avec index
    Par Ry_Yo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/04/2005, 09h12

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