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 Mobile Discussion :

Requête imbriquée avec Windev Mobile [WM24]


Sujet :

Windev Mobile

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 121
    Points : 53
    Points
    53
    Par défaut Requête imbriquée avec Windev Mobile
    Bonjour à toutes et à tous,

    J'ai une requête imbriquée

    Code SQL : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    SELECT
     
    P.IDproduit
    , P.produit_ref_produit
    , P.produit_nom_produit
    , PC.Couleur_Nom
     
    FROM
     
    (SELECT
    produit.IDproduit
    , produit.produit_ref_produit
    , produit.produit_nom_produit
    , produit.IDcouleur
     
    FROM
     
    Produit
     
    WHERE
     
    produit.IDproduit = %1
    ) P
     
    ,
     
    (SELECT
    produit_couleur.IDcouleur
    , produit_couleur.Couleur_Nom
     
    FROM
    produit_couleur
    ) PC
     
    WHERE
    P.IDcouleur = PC.IDcouleur

    qui fonctionne correctement en mode débogage sur simulateur. Par contre après installation de l'application sur le mobile et test, il y a une erreur :

    Fichier <SELECT> inconnu dans l'analyse, ou requête ou ...
    J'ai lu dans une autre discussion que les requêtes imbriquées ne fonctionnent pas en WM. Ce que je n'ai trouvé de préciser dans la doc.
    Est-ce que quelqu'un peut me confirmer ou infirmer cette notion?
    Dans ce cas est-ce qu'il y a un moyen de contourner?

    Merci

    Grégus

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 121
    Points : 53
    Points
    53
    Par défaut
    Merci Winjerome pour la correction de la coloration, j'avais eu un doute.

    Petite précision, la requête est dans le code en sortie d'un champ de saisie, et je l’exécute avec HExécuteRequêteSQL

  3. #3
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 371
    Points : 627
    Points
    627
    Billets dans le blog
    1
    Par défaut
    En effet, ce type de requête ne fonctionne pas en WM
    As tu penser à faire un filtre puis une requête sur le filtre
    Sinon avec l'éditeur de requête tu créer ta requête que tu transforme en table
    Puis tu fais une requête dessus
    Je ne sais pas si une requête paramétré peut , peut être, t'aider

    Tout ça pour te dire qu'il existe sûrement une solution de contournement

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 121
    Points : 53
    Points
    53
    Par défaut
    Bonsoir Popoy,

    Merci pour ta réponse et de m'avoir confirmé qu'une requête imbriquée ne fonctionne pas en WM.

    Je vais regarder comment je peux faire avec deux des alternatives que tu me proposes.

    As tu penser à faire un filtre puis une requête sur le filtre
    Sinon avec l'éditeur de requête tu créer ta requête que tu transforme en table
    Puis tu fais une requête dessus
    Je vais regarder comment je peux faire avec ces deux alternatives que tu me proposes.

    Ce sont deux méthodes que je n'ai jamais utilisées. Je souhaitais que ça fonctionne pour hier, comme toujours. Ça va me prendre un peu plus de temps du coup.

    Merci encore

  5. #5
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 371
    Points : 627
    Points
    627
    Billets dans le blog
    1
    Par défaut
    J'ai oublié une solution si ta base de données est distante c'est de passer par un webservice
    Mais je ne crois pas que ce soit le cas ici et cela complique encore plus.
    Mais c'est juste pour être complet dans les solutions
    Si j'en trouve une autre, je te la rajouterai

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 121
    Points : 53
    Points
    53
    Par défaut
    Bonjour Popoy et merci pour tes réponses.

    Dans mon parcours initiatique à Windev je suis encore très loin, mais alors très loin d'utiliser un webservice. Même si j'ai lu beaucoup de message qui conseillent de les utiliser et que je pense en avoir compris l'idée, je n'ai encore jamais considéré une ligne de code ni un exemple simple de cette fonctionnalité. Pour l'instant mon niveau me permet de rester à des choses simples, mais je découvre et progresse régulièrement.

    Je vais passer cette discussion en résolu, parce que figure-toi, que je me suis posé une question toute simple et tellement bête : "Est-ce que j'avais besoin d'une requête imbriquée?" .
    J'ai donc reconsidéré ma requête et je suis arrivé au besoin souhaité en écrivant simplement :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    P.IDproduit
    , P.produit_ref_produit
    , P.produit_nom_produit
    , PC.Couleur_Nom
    , F.Fournisseur_Nom
     
    FROM
    produit P
    LEFT OUTER JOIN produit_couleur PC ON PC.IDcouleur = P.IDcouleur
    LEFT OUTER JOIN fournisseur F ON F.IDfournisseur = P.IDfournisseur
     
    WHERE
     
    P.IDproduit = %1

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 195
    Points : 156
    Points
    156
    Par défaut
    Bonjour

    Idem en version 28 j'ai le même comportement avec une requête qui fonctionne bien en simulateur ou le centre de contrôle, mais pas sur le terminal android

    ma reqûete est de type :
    SELECT
    ...
    FROM (
    SELECT ...
    FROM .. )
    GROUP BY ..

    Où avez-vous vu l'information que ce type de requête n'etait pas possible sur android? je ne trouve pas d'info sur cette page : https://doc.pcsoft.fr/?2034009
    On avait déjà eu ce soucis par le passé et on a solutionné en exécutant 2 requêtes mais c'est pas génial

    Cela vaut peut-être la peine de demander à pcsoft de réagir

  8. #8
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 371
    Points : 627
    Points
    627
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Nico_tournai Voir le message
    Bonjour

    Idem en version 28 j'ai le même comportement avec une requête qui fonctionne bien en simulateur ou le centre de contrôle, mais pas sur le terminal android

    ma reqûete est de type :
    SELECT
    ...
    FROM (
    SELECT ...
    FROM .. )
    GROUP BY ..

    Où avez-vous vu l'information que ce type de requête n'etait pas possible sur android? je ne trouve pas d'info sur cette page : https://doc.pcsoft.fr/?2034009
    On avait déjà eu ce soucis par le passé et on a solutionné en exécutant 2 requêtes mais c'est pas génial

    Cela vaut peut-être la peine de demander à pcsoft de réagir
    Salut,
    Parfois rien n'est écrit dans l'aide
    C'est un constat après plusieurs tests sur différents appareils.
    Le principal c'est de trouver une solution de contournement.
    Par exemple j'ai constaté qu'il n'est pas possible de renvoyer une variable tableau
    Alors que cela est possible en java
    En remplacement je passe par une chaîne séparé par une virgule.
    Là aussi rien n'est écrit dans l'aide.

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

Discussions similaires

  1. Archive java (.jar) / .sis avec Windev Mobile
    Par compdev dans le forum Développement Mobile en Java
    Réponses: 2
    Dernier message: 19/05/2009, 10h25
  2. Réponses: 3
    Dernier message: 04/07/2008, 17h03
  3. Construction d'une requête "imbriquée" avec Oracle
    Par kyra78 dans le forum Langage SQL
    Réponses: 0
    Dernier message: 05/02/2008, 14h29
  4. [MySQL] Erreur SQL 1064 : Requête imbriquée avec jointure !
    Par patchankito dans le forum Langage SQL
    Réponses: 5
    Dernier message: 31/01/2006, 10h37
  5. [DB2] Requête imbriquée avec opérateur IN
    Par JFDelges dans le forum Langage SQL
    Réponses: 23
    Dernier message: 21/12/2005, 11h27

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