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

WinDev Discussion :

[WD11] Requete paramétrée sur indice de champ tableau


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut [WD11] Requete paramétrée sur indice de champ tableau
    Bonjour,

    J'ai une application existante, avec un champ tableau dans une table hyperfile.
    Je souhaiterais créer une requete paramétrée sur l'indice de ce champs, et non sur la valeur d'une "case".

    Quand je fait ma requête comme suis :
    SELECT blabla FROM latable WHERE letableau[3] = {monparametre}
    cela fonctionne parfaitement, mais si j'essaye :
    SELECT blabla FROM latable WHERE letableau[{monparametre}] = 1
    j'ai une erreur à la compil, et plantage à l'exécution

    Quelqu'un saurait-il si c'est possible et comment faire ?

    Merci

  2. #2
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Non. Il ne faut plus utiliser de tableau dans les bases de données. Révise tes lois normales.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci

    Je suis parfaitement d'accord, cela m'a même surpris quand j'ai ouvert l'analyse...
    Mais il s'agit d'une application assez lourde dont je reprend le développement, j'essaye donc de faire avec l'existant.
    Certaines choses sont tellement bancales, je sens que je vais finir par être obligé de faire des modifications en profondeur.

  4. #4
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 474
    Points : 814
    Points
    814
    Par défaut
    Et si tu n'utilisais pas de requête propre à windev, mais que tu la déclarais dans une chaine pour l'éxecuter dans le code ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    C'est ce que j'essayes de faire
    Mais comme je ne connais pas encore Windev, je tatonne pour en faire la source de données d'une table dans une fenêtre

  6. #6
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 474
    Points : 814
    Points
    814
    Par défaut
    EN utilisant un code du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    truc est une chaine = "SELECT blabla FROM latable WHERE letableau[" + parametre + "] = 1"
    LaSource est une source de donnees
     
    SI HExécuteRequêteSQL(LaSource,truc) ALORS
    	// Code de remplissage	
    FIN
    HAnnuleDéclaration(LaSource)
    ça plante ?
    Ou est ce que c'est dans le code de remplissage que ça plante ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    La requête passe bien, c'est moi qui plante sur le remplissage de tableau avec les résultats

  8. #8
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 474
    Points : 814
    Points
    814
    Par défaut
    Et quelle est ta méthode de remplissage ? Mets un peu de code...

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Ca y est, j'ai trouvé :

    Dans le constructeur de la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    HLitPremier(sdTbl_pneus)
    	TANTQUE PAS HEnDehors
    		TableAjoute(MoiMême, sdTbl_pneus.IDPneus + TAB + sdTbl_pneus.Taille_Pneu + TAB + sdTbl_pneus.Diametre_jante + TAB + sdTbl_pneus.Ratio_Pneu + TAB + sdTbl_pneus.Type_de_pneu)
    		HLitSuivant(sdTbl_pneus)
    	FIN
    C'est le coup du "TAB", j'etais passé a coté dans l'aide.

    Le paramètre vient d'un combo, il me suffit de régénérer la requete en cas de changement et réinitialiser la fenetre.

    Merci

  10. #10
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Sinon il y a TableAjouteLigne qui prend les paramètres les uns après les autres sans les TAB.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Super merci
    Ca sera plus propre effectivement.

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

Discussions similaires

  1. [WD15] champ table sur requete paramétrée
    Par mechi dans le forum WinDev
    Réponses: 3
    Dernier message: 27/04/2011, 15h07
  2. Requete paramétrée sur vue provoque erreur incompréhensible
    Par Arnaud B. dans le forum HyperFileSQL
    Réponses: 1
    Dernier message: 20/02/2011, 16h47
  3. Requete paramétrée avec nombre de champs variable
    Par Braillane dans le forum Accès aux données
    Réponses: 3
    Dernier message: 07/02/2008, 23h09
  4. une requete effectuant une recherche sur tous les champs
    Par raynor911 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/02/2006, 15h06
  5. Requete : Condition sur la longueur du champ
    Par uskiki85 dans le forum Access
    Réponses: 1
    Dernier message: 23/01/2006, 16h00

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