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

ASP Discussion :

problème sur un tableau dynamique


Sujet :

ASP

  1. #1
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Points : 209
    Points
    209
    Par défaut problème sur un tableau dynamique
    salut,
    j'utilise un tableau défini comme suit;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    x = 0
    suival = ""
    dim type_client()
    do while not rst.eof
    	suival2 = rst("SocRel")
    	if suival <> suival2 then
    		if suival <> "" then
    			type_client(x - 1,1) = count
    		end if
    		count = 0
    		redim type_client(x,0)
    		type_client(x,0) = suival2
    		x = x + 1
    	end if
    	rst.movenext
    loop
    Mon objectif est d'associer un résultat de requète à un type de client.Mon souci intervient sur la ligne "type_client(x - 1,1) = count". J'obtiens une erreur: 'Indice en dehors de la plage: '[number: 1]' . Pourtant en vérifiant mes valeurs, count est bien un nombre, et x vaut 1 à ce moment la (donc 0 ici).
    Est-ce une erreur dans la définition de mon tableau, ou autre chose?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    salut,

    tu dois déclarer les tailles de ton tableau au début soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    
    x = 0 suival = "" dim type_client() redim type_client(1,1) do while not rst.eof suival2 = rst("SocRel") if suival <> suival2 then if suival <> "" then type_client(x - 1,1) = count end if count = 0 redim type_client(x,0) type_client(x,0) = suival2 x = x + 1 end if rst.movenext loop
    La guerre 14-18 avait fait un civil de tué pour dix militaires. 39-45 : un civil pour un militaire. Engagez-vous! Pour la prochaine, seuls les militaires seront survivants.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    c'est encore moi!!!!

    tu dois aussi faire ca si tu veux conserver tes valeurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    redim preserve type_client(x,0)
    et tu dévrais donner au moins une colonne a ton tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    redim preserve type_client(x,1)
    La guerre 14-18 avait fait un civil de tué pour dix militaires. 39-45 : un civil pour un militaire. Engagez-vous! Pour la prochaine, seuls les militaires seront survivants.

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Salut,
    Je ne comprends pas pourquoi ton erreur vient de cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    type_client(x - 1,1) = count
    alors que la condition :
    ne sera jamais vérifiée car tu initialises bien
    mais par la suite la valeur de la variable ne change pas!

  5. #5
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Points : 209
    Points
    209
    Par défaut
    j'ai rajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    x = 0
    suival = ""
    dim type_client()
    redim type_client(x,1)
    do while not rst.eof
    	suival2 = rst("SocRel")
    	if suival <> suival2 then
    		if suival <> "" then
    			type_client(x - 1,1) = count
    		end if
    		count = 0
    		redim preserve type_client(x,1)
    		type_client(x,0) = suival2
    		x = x + 1
    	end if
    	rst.movenext
    loop[/LEFT]
    mais j'ai toujours un problème d'indice hors plage sur la ligne "redim preserve type_client(x,1)"
    edit:
    Pymm, je n'ai pas mis tout mon code, mais suival est bien modifié ensuite et <> de "", donc le cas est bien traité

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    je crois que ca doit etre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    redim preserve type_client(x,2)
    en fait, le truc c'est que quand tu déclares, tu donnes le nombre de lignes et de colonnes, mais ATTENTION car le 0 compte pour 1 ligne ou 1 colonne!!
    Je sais pas si tu m'as compris mais bon...
    La guerre 14-18 avait fait un civil de tué pour dix militaires. 39-45 : un civil pour un militaire. Engagez-vous! Pour la prochaine, seuls les militaires seront survivants.

  7. #7
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Points : 209
    Points
    209
    Par défaut
    je crois que ce que tu me dis c'est que l'indicage d'un tableau de 10 élements va de 0 à 9. Mais cela ne marche pas mieux avec un 2

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    alors c'était l'inverse :

    redim preserve type_client(x + 1,2)
    La guerre 14-18 avait fait un civil de tué pour dix militaires. 39-45 : un civil pour un militaire. Engagez-vous! Pour la prochaine, seuls les militaires seront survivants.

  9. #9
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Je utilise peu les tableaux mais il me semble me souvenir que ne fonctionne que sur la dernière valeur càd :
    tab(x,y) tu ne peux faire qu'un redim tab(x,z) et non redim tab(z,y)

  10. #10
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Points : 209
    Points
    209
    Par défaut
    C'est bien ca Pymm. J'ai inversé et maintenant ca marche. Je trouve ca stupide mais bon....
    Tant que ca marche
    Merci à tous les deux pour votre aide

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

Discussions similaires

  1. [CS3] Problème sur un tableau dynamique
    Par Yep_yep dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 16/09/2009, 13h08
  2. problème sur la galerie dynamique flash php xml
    Par poliakov27 dans le forum Flash
    Réponses: 3
    Dernier message: 16/02/2009, 15h15
  3. Problème sur un tableau
    Par infofree dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 14/04/2008, 19h42
  4. affectation sur un tableau dynamique
    Par oranoutan dans le forum C
    Réponses: 35
    Dernier message: 27/06/2007, 01h16
  5. [phpToPDF] Affichage tableau dynamique
    Par fat dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 23/05/2007, 16h19

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