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 :

Les tableaux vba sous access 2007


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2003
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 173
    Points : 99
    Points
    99
    Par défaut Les tableaux vba sous access 2007
    Bonjour à tous.
    j'ai un problème avec de code suivant qui génère "Erreur d'exécution '9' l'indice n'appartient pas à la sélection"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    chrSQL = "select numproduit from produits"
    Set rSt = CurrentDb.OpenRecordset(chrSQL)
    rSt.MoveLast
    rSt.MoveFirst
     
    Dim nProduit() As Integer
    For i = 0 To rSt.RecordCount
        nProduit(i) = rSt("numproduit")
        rSt.MoveNext
    Next
    C'est nProduit(i) qui génère l'erreur.
    Je n'arrive pas à voir d'où est l'erreur.
    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Tu n'as pas défini la dimension de ton tableau !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2003
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 173
    Points : 99
    Points
    99
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Bonjour,

    Tu n'as pas défini la dimension de ton tableau !
    Bonjour et merci ClaudeLELOUP pour la réponse en effet je n'ai pas défini la dimension du tableau la dimension du tableau est déterminée suivant le nombre d'enregistrement trouvé par la requête.

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Je veux bien comprendre... mais c'est la cause de ton erreur !

    Ne peux-tu t'en tirer en indiquant une dimension arbitraire suffisamment grande pour ne pas risquer le dépassement ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre éclairé
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Points : 850
    Points
    850
    Par défaut
    Bonjour le forum.
    Quitte à déclarer ton tableau à la volée ,tu pourrais à la ligne 7
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim nProduit(1 to rSt.RecordCount) As Integer
    A+

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Voir dans l'aide (F1), l'instruction « ReDim [Preserve] ».

    Le principe : on définit une tableau à dimension dynamique (comme tu l'as fait) et avant chaque ajout on le redimensionne avec l'instruction

    ReDim [Preserve]

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Compare Database
    Option Explicit
     
     
    Public Sub tst()
     Dim sTab() As String
     Dim n As Integer
     n = 5
     ReDim sTab(n)
     sTab(0) = "aa"
     Debug.Print sTab(0)
    End Sub
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2003
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 173
    Points : 99
    Points
    99
    Par défaut
    Merci beaucoup !

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

Discussions similaires

  1. activer les macros sous access 2007 avec code VBA
    Par aymane19 dans le forum VBA Access
    Réponses: 3
    Dernier message: 31/08/2012, 14h21
  2. Graphiques dans les formulaires sous Access 2007
    Par Qualensys dans le forum IHM
    Réponses: 1
    Dernier message: 16/03/2009, 14h53
  3. Mes codes VBA ne fonctionnent pas sous access 2007
    Par ralfus dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/11/2008, 11h36
  4. execute une macro via vba sous access
    Par nes dans le forum Access
    Réponses: 4
    Dernier message: 28/03/2006, 23h15
  5. Comment gérer les codes postaux sous access?
    Par Jac_S_69 dans le forum Access
    Réponses: 3
    Dernier message: 01/12/2005, 21h38

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