PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → combo avec requete
combo avec requete
Débuté par Nico, 14 avr. 2004 18:30 - 4 réponses
Posté le 14 avril 2004 - 18:30
bonjour a tous,

j'ai 3 combo : client, pays et ville. tous les 3 sont alimentés par un fichier
via une requete et dependent l'un de l'autre. Mon probleme est que les doublons
ne sont pas supprimés. ex mon fichier :

Dupont | France | Paris
Durand | France | Marseilles
Dudul | France | Paris

dans le cas ci dessus, le combo "nom" apparaitrait correctement mais le "pays"
m'afficherait 3 fois France (de meme pour ville)! comment faire pour qu'ils
n'apparaissent qu'une seule fois ?

Merci de votre aide !

Nico
Posté le 15 avril 2004 - 11:22
Salut,

Tu pourrais donner plus de détails sur la(les) requêtes que tu utilises?
Est-ce que tu te sers d'une requête par combo où est-ce que c'est la même
pour toutes tes combos.

Il faudrait pour chaque combo:
SELECT DISTINCT <mon_champ> from <mon_fichier>.
Le distinct te permet de supprimer tes doublons. Mais seulement si tu ne
prends qu'un champ dans ta requête. Si tu prends plusieurs champs dans ta
requête, le DISTINCT ne te permettra que de supprimer les doublons d'enregistrements
(lignes entières identiques).

Si tu utilises la même requête pour toutes les combos, tu peux essayer d'utiliser
une requête paramétré avec un GROUP BY et un HAVING.

TCHO. Aurélien.

"Nico" <nico_h_08@yahoo.fr> wrote:


bonjour a tous,

j'ai 3 combo : client, pays et ville. tous les 3 sont alimentés par un fichier
via une requete et dependent l'un de l'autre. Mon probleme est que les doublons
ne sont pas supprimés. ex mon fichier :

Dupont | France | Paris
Durand | France | Marseilles
Dudul | France | Paris

dans le cas ci dessus, le combo "nom" apparaitrait correctement mais le

"pays"
m'afficherait 3 fois France (de meme pour ville)! comment faire pour qu'ils
n'apparaissent qu'une seule fois ?

Merci de votre aide !

Nico
Posté le 15 avril 2004 - 14:17
Merci pour ta réponse, ça m'a donné des indications mais je suis pas le pro
du sql et je galere toujours ! J'utilise une meme requete pour les 6 combos,
chaque combo étant liée par le fichier correspondant :


SELECT DISTINCT Annonce.IDAnnonce AS IDAnnonce,
Annonce.univers AS univers,
Annonce.activite AS activite,
Annonce.formule AS formule,
Annonce.pays AS pays,
Annonce.destination AS destination,
Annonce.adrenaline AS adrenaline
FROM Annonce
WHERE Annonce.activite LIKE {reqActivite}
AND Annonce.pays LIKE {reqPays}
AND Annonce.adrenaline LIKE {ReqAdre}
AND Annonce.univers LIKE {ReqUnivers}
AND Annonce.formule LIKE {ReqFormule}
AND Annonce.destination LIKE {ReqDestination}
ORDER BY IDAnnonce ASC

Chaque combo dépend de la selection des autres.

Merci de ton aide



"aurlas" <aurlas@free.fr> wrote:


Salut,

Tu pourrais donner plus de détails sur la(les) requêtes que tu utilises?
Est-ce que tu te sers d'une requête par combo où est-ce que c'est la même
pour toutes tes combos.

Il faudrait pour chaque combo:
SELECT DISTINCT <mon_champ> from <mon_fichier>.
Le distinct te permet de supprimer tes doublons. Mais seulement si tu ne
prends qu'un champ dans ta requête. Si tu prends plusieurs champs dans ta
requête, le DISTINCT ne te permettra que de supprimer les doublons d'enregistrements
(lignes entières identiques).

Si tu utilises la même requête pour toutes les combos, tu peux essayer d'utiliser
une requête paramétré avec un GROUP BY et un HAVING.

TCHO. Aurélien.

"Nico" <nico_h_08@yahoo.fr> wrote:


bonjour a tous,

j'ai 3 combo : client, pays et ville. tous les 3 sont alimentés par un

fichier
>>via une requete et dependent l'un de l'autre. Mon probleme est que les
doublons
ne sont pas supprimés. ex mon fichier :

Dupont | France | Paris
Durand | France | Marseilles
Dudul | France | Paris

dans le cas ci dessus, le combo "nom" apparaitrait correctement mais le
"pays"

m'afficherait 3 fois France (de meme pour ville)! comment faire pour qu'ils
n'apparaissent qu'une seule fois ?

Merci de votre aide !

Nico

Posté le 15 avril 2004 - 16:54
Comment remplis tu tes combos? "manuellement"? ou elles sont simplement
liées à la requête?

En les remplissant "manuellement avec des ListeAjoute() tu peux faire un
petit test avant d'ajouter une ligne vérifiant qu'elle n'a pas déjà été
ajoutée...

du genre:

pour tout NomRequete
//On teste si on a déjà ajouté une ligne du même nom
si ListeCherche(MaCombo,NomRequete.champ)<1 alors
//sinon on ajoute la ligne
ListeAjoute(MaCombo,NomRequete.champ^)
fin
Fin


Cette solution marche bien si on n'a pas trop d'enregistrement...
@ suivre

Tiens moi au courant

Guillaume

"Nico" <nico_h_08@yahoo.fr> a écrit dans le message de
news:407e62a7$1@news.pcsoft.fr...


Merci pour ta réponse, ça m'a donné des indications mais je suis pas le

pro
> du sql et je galere toujours ! J'utilise une meme requete pour les 6
combos,
chaque combo étant liée par le fichier correspondant :


SELECT DISTINCT Annonce.IDAnnonce AS IDAnnonce,
Annonce.univers AS univers,
Annonce.activite AS activite,
Annonce.formule AS formule,
Annonce.pays AS pays,
Annonce.destination AS destination,
Annonce.adrenaline AS adrenaline
FROM Annonce
WHERE Annonce.activite LIKE {reqActivite}
AND Annonce.pays LIKE {reqPays}
AND Annonce.adrenaline LIKE {ReqAdre}
AND Annonce.univers LIKE {ReqUnivers}
AND Annonce.formule LIKE {ReqFormule}
AND Annonce.destination LIKE {ReqDestination}
ORDER BY IDAnnonce ASC

Chaque combo dépend de la selection des autres.

Merci de ton aide



"aurlas" <aurlas@free.fr> wrote:


Salut,

Tu pourrais donner plus de détails sur la(les) requêtes que tu utilises?
Est-ce que tu te sers d'une requête par combo où est-ce que c'est la même
pour toutes tes combos.

Il faudrait pour chaque combo:
SELECT DISTINCT <mon_champ> from <mon_fichier>.
Le distinct te permet de supprimer tes doublons. Mais seulement si tu ne
prends qu'un champ dans ta requête. Si tu prends plusieurs champs dans ta
requête, le DISTINCT ne te permettra que de supprimer les doublons

d'enregistrements
(lignes entières identiques).

Si tu utilises la même requête pour toutes les combos, tu peux essayer

d'utiliser
une requête paramétré avec un GROUP BY et un HAVING.

TCHO. Aurélien.

"Nico" <nico_h_08@yahoo.fr> wrote:


bonjour a tous,

j'ai 3 combo : client, pays et ville. tous les 3 sont alimentés par un
fichier

via une requete et dependent l'un de l'autre. Mon probleme est que les
doublons

ne sont pas supprimés. ex mon fichier :

Dupont | France | Paris
Durand | France | Marseilles
Dudul | France | Paris

dans le cas ci dessus, le combo "nom" apparaitrait correctement mais le
"pays"

m'afficherait 3 fois France (de meme pour ville)! comment faire pour

qu'ils
n'apparaissent qu'une seule fois ?

Merci de votre aide !

Nico


Posté le 20 avril 2004 - 18:05
merci pour votre aide ! j'ai opté pour la solution de Aurélien qui me semblait
la plus adaptée.


"Guillaume" <gruelle@coletica.fr> wrote:

Comment remplis tu tes combos? "manuellement"? ou elles sont simplement
liées à la requête?

En les remplissant "manuellement avec des ListeAjoute() tu peux faire un
petit test avant d'ajouter une ligne vérifiant qu'elle n'a pas déjà été
ajoutée...

du genre:

pour tout NomRequete
//On teste si on a déjà ajouté une ligne du même nom
si ListeCherche(MaCombo,NomRequete.champ)<1 alors
//sinon on ajoute la ligne
ListeAjoute(MaCombo,NomRequete.champ^)
fin
Fin


Cette solution marche bien si on n'a pas trop d'enregistrement...
@ suivre

Tiens moi au courant

Guillaume

"Nico" <nico_h_08@yahoo.fr> a écrit dans le message de
news:407e62a7$1@news.pcsoft.fr...


Merci pour ta réponse, ça m'a donné des indications mais je suis pas le
pro

du sql et je galere toujours ! J'utilise une meme requete pour les 6
combos,

chaque combo étant liée par le fichier correspondant :


SELECT DISTINCT Annonce.IDAnnonce AS IDAnnonce,
Annonce.univers AS univers,
Annonce.activite AS activite,
Annonce.formule AS formule,
Annonce.pays AS pays,
Annonce.destination AS destination,
Annonce.adrenaline AS adrenaline
FROM Annonce
WHERE Annonce.activite LIKE {reqActivite}
AND Annonce.pays LIKE {reqPays}
AND Annonce.adrenaline LIKE {ReqAdre}
AND Annonce.univers LIKE {ReqUnivers}
AND Annonce.formule LIKE {ReqFormule}
AND Annonce.destination LIKE {ReqDestination}
ORDER BY IDAnnonce ASC

Chaque combo dépend de la selection des autres.

Merci de ton aide



"aurlas" <aurlas@free.fr> wrote:


Salut,

Tu pourrais donner plus de détails sur la(les) requêtes que tu utilises?
Est-ce que tu te sers d'une requête par combo où est-ce que c'est la

même
pour toutes tes combos.

Il faudrait pour chaque combo:
SELECT DISTINCT <mon_champ> from <mon_fichier>.
Le distinct te permet de supprimer tes doublons. Mais seulement si tu

ne
>> >prends qu'un champ dans ta requête. Si tu prends plusieurs champs dans
ta
requête, le DISTINCT ne te permettra que de supprimer les doublons
d'enregistrements

(lignes entières identiques).

Si tu utilises la même requête pour toutes les combos, tu peux essayer
d'utiliser

une requête paramétré avec un GROUP BY et un HAVING.

TCHO. Aurélien.

"Nico" <nico_h_08@yahoo.fr> wrote:


bonjour a tous,

j'ai 3 combo : client, pays et ville. tous les 3 sont alimentés par

un
fichier
via une requete et dependent l'un de l'autre. Mon probleme est que les
doublons

ne sont pas supprimés. ex mon fichier :

Dupont | France | Paris
Durand | France | Marseilles
Dudul | France | Paris

dans le cas ci dessus, le combo "nom" apparaitrait correctement mais

le
"pays"
m'afficherait 3 fois France (de meme pour ville)! comment faire pour
qu'ils

n'apparaissent qu'une seule fois ?

Merci de votre aide !

Nico