Je construit une requête simple avec l'assistant, le fichier Client est la
source - que l'assistant me propose.
Depuis l'éditeur de requête, je clique sur la requête et choisi "Tester la
requête".
Le test bloque immédiatement et donne l'erreur;
Erreur d'initialisation de la requête...
Fichier Client inconnu.
Mais c'est l'assistant de Windev lui-même qui m'a proposé ce fichier.
Comment peut-il ne pas le voir?
Est-ce un (autre) bug de Windev?
Comment on fait?
----------------------
Autre question
Comment on fait pour signifier en SQL de Windev qu'on veut obtenir tous les
enregistrements dont une des rubriques texte contient du texte ou encore
qu'un rubrique n'est pas vide mais sans activer les NULL. L'assistant ne
semble pas offrir cela dans ses choix.
J'ai fait plusieurs tests (depuis WDMap) mais aucun ne fonctionne.
Fichier : Client
Rubrique à vérifier si pas vide : Rem
From: "Phil" Newsgroups: fr.comp.developpement.agl.windev Subject: [WD8] Requete Lines: 34 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1409 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 Message-ID: <onsmd.58996$ Date: Tue, 16 Nov 2004 14:17:29 -0500 NNTP-Posting-Host: 66.131.123.176 X-Complaints-To: X-Trace: weber.videotron.net 1100632660 66.131.123.176 (Tue, 16 Nov 2004 14:17:40 EST) NNTP-Posting-Date: Tue, 16 Nov 2004 14:17:40 EST Path: uni-berlin.de!fu-berlin.de!feed.ac-versailles.fr!teaser.fr!wesley.videotron.net!weber.videotron.net.POSTED!not-for-mail Xref: uni-berlin.de fr.comp.developpement.agl.windev:36391
Bonjour,
Je construit une requête simple avec l'assistant, le fichier Client est la source - que l'assistant me propose. Depuis l'éditeur de requête, je clique sur la requête et choisi "Tester la requête". Le test bloque immédiatement et donne l'erreur; Erreur d'initialisation de la requête... Fichier Client inconnu.
Mais c'est l'assistant de Windev lui-même qui m'a proposé ce fichier. Comment peut-il ne pas le voir? Est-ce un (autre) bug de Windev? Comment on fait?
je ne sais pas, je n'utilise pas du tout l'assistant de requète ... je préfère écrire mon propre code sql ...
----------------------
Autre question Comment on fait pour signifier en SQL de Windev qu'on veut obtenir tous les enregistrements dont une des rubriques texte contient du texte ou encore qu'un rubrique n'est pas vide mais sans activer les NULL. L'assistant ne semble pas offrir cela dans ses choix. J'ai fait plusieurs tests (depuis WDMap) mais aucun ne fonctionne.
Fichier : Client Rubrique à vérifier si pas vide : Rem
Select * from Client where ???
moi je ferais : select * from Client where Rem <> '' les '' sont deux guillemets simples (single quote)
Merci à l'avance.
Réal Phil
de rien ... j'espère que cela va fonctionner !
-- Marcel Berman c/o Managing Business SPRL Allée du Petit Paris, 11 B - 1410 - Waterloo Tel : +32 2 351.60.64 Fax : +32 2 351.45.78 Gsm : +32 475.799.477
salut !
On 16-Nov-2004, "Phil" <pasdespam_info@ultra.ca> wrote:
From: "Phil" <pasdespam_info@ultra.ca>
Newsgroups: fr.comp.developpement.agl.windev
Subject: [WD8] Requete
Lines: 34
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1409
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
Message-ID: <onsmd.58996$6X5.1535779@weber.videotron.net>
Date: Tue, 16 Nov 2004 14:17:29 -0500
NNTP-Posting-Host: 66.131.123.176
X-Complaints-To: abuse@videotron.ca
X-Trace: weber.videotron.net 1100632660 66.131.123.176 (Tue, 16 Nov 2004
14:17:40 EST)
NNTP-Posting-Date: Tue, 16 Nov 2004 14:17:40 EST
Path:
uni-berlin.de!fu-berlin.de!feed.ac-versailles.fr!teaser.fr!wesley.videotron.net!weber.videotron.net.POSTED!not-for-mail
Xref: uni-berlin.de fr.comp.developpement.agl.windev:36391
Bonjour,
Je construit une requête simple avec l'assistant, le fichier Client est la
source - que l'assistant me propose.
Depuis l'éditeur de requête, je clique sur la requête et choisi "Tester la
requête".
Le test bloque immédiatement et donne l'erreur;
Erreur d'initialisation de la requête...
Fichier Client inconnu.
Mais c'est l'assistant de Windev lui-même qui m'a proposé ce fichier.
Comment peut-il ne pas le voir?
Est-ce un (autre) bug de Windev?
Comment on fait?
je ne sais pas, je n'utilise pas du tout l'assistant de requète ... je
préfère écrire mon propre code sql ...
----------------------
Autre question
Comment on fait pour signifier en SQL de Windev qu'on veut obtenir tous
les
enregistrements dont une des rubriques texte contient du texte ou encore
qu'un rubrique n'est pas vide mais sans activer les NULL. L'assistant ne
semble pas offrir cela dans ses choix.
J'ai fait plusieurs tests (depuis WDMap) mais aucun ne fonctionne.
Fichier : Client
Rubrique à vérifier si pas vide : Rem
Select * from Client where ???
moi je ferais :
select * from Client where Rem <> ''
les '' sont deux guillemets simples (single quote)
Merci à l'avance.
Réal Phil
de rien ... j'espère que cela va fonctionner !
--
Marcel Berman
c/o Managing Business SPRL
Allée du Petit Paris, 11
B - 1410 - Waterloo
Tel : +32 2 351.60.64
Fax : +32 2 351.45.78
Gsm : +32 475.799.477
From: "Phil" Newsgroups: fr.comp.developpement.agl.windev Subject: [WD8] Requete Lines: 34 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1409 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 Message-ID: <onsmd.58996$ Date: Tue, 16 Nov 2004 14:17:29 -0500 NNTP-Posting-Host: 66.131.123.176 X-Complaints-To: X-Trace: weber.videotron.net 1100632660 66.131.123.176 (Tue, 16 Nov 2004 14:17:40 EST) NNTP-Posting-Date: Tue, 16 Nov 2004 14:17:40 EST Path: uni-berlin.de!fu-berlin.de!feed.ac-versailles.fr!teaser.fr!wesley.videotron.net!weber.videotron.net.POSTED!not-for-mail Xref: uni-berlin.de fr.comp.developpement.agl.windev:36391
Bonjour,
Je construit une requête simple avec l'assistant, le fichier Client est la source - que l'assistant me propose. Depuis l'éditeur de requête, je clique sur la requête et choisi "Tester la requête". Le test bloque immédiatement et donne l'erreur; Erreur d'initialisation de la requête... Fichier Client inconnu.
Mais c'est l'assistant de Windev lui-même qui m'a proposé ce fichier. Comment peut-il ne pas le voir? Est-ce un (autre) bug de Windev? Comment on fait?
je ne sais pas, je n'utilise pas du tout l'assistant de requète ... je préfère écrire mon propre code sql ...
----------------------
Autre question Comment on fait pour signifier en SQL de Windev qu'on veut obtenir tous les enregistrements dont une des rubriques texte contient du texte ou encore qu'un rubrique n'est pas vide mais sans activer les NULL. L'assistant ne semble pas offrir cela dans ses choix. J'ai fait plusieurs tests (depuis WDMap) mais aucun ne fonctionne.
Fichier : Client Rubrique à vérifier si pas vide : Rem
Select * from Client where ???
moi je ferais : select * from Client where Rem <> '' les '' sont deux guillemets simples (single quote)
Merci à l'avance.
Réal Phil
de rien ... j'espère que cela va fonctionner !
-- Marcel Berman c/o Managing Business SPRL Allée du Petit Paris, 11 B - 1410 - Waterloo Tel : +32 2 351.60.64 Fax : +32 2 351.45.78 Gsm : +32 475.799.477
Phil
> > Fichier : Client > Rubrique à vérifier si pas vide : Rem > > Select * from Client where ???
moi je ferais : select * from Client where Rem <> '' les '' sont deux guillemets simples (single quote) > > Merci à l'avance. > > Réal Phil de rien ... j'espère que cela va fonctionner !
C'est ce que j'ai essayé en premier parce que c'est ce que j'aurais fait en Foxpro (mon ex-langage). Mais, curieusement, cela ne fonctionne pas.
Bizarrement, j'ai réussi à obtenir un résultat avec Select * from Client WHERE LEFT(REM,1)<>' ' ... mais j'avoue que c'est pas très beau comme code. Et si mon usager commence avec un espace...!!?? Bon, je peux tester sur 5 ou 10 caracteres, mais bon... pas très clean comme code.
Ce fichier Client a été transféré depuis un fichier .dBF, peut-etre que le champ REM n'est pas vide et contient peut-etre autre chose que des ASCII 32 (espaces). Il faudrait que je vérifie mais cela ne se vérifie pas aussi rapidement en WD qu'en Foxpro.
Merci tout de meme pour la suggestion Marcel
Réal Phil
> > Fichier : Client
> Rubrique à vérifier si pas vide : Rem
>
> Select * from Client where ???
moi je ferais :
select * from Client where Rem <> ''
les '' sont deux guillemets simples (single quote)
>
> Merci à l'avance.
>
> Réal Phil
de rien ... j'espère que cela va fonctionner !
C'est ce que j'ai essayé en premier parce que c'est ce que j'aurais fait en
Foxpro (mon ex-langage).
Mais, curieusement, cela ne fonctionne pas.
Bizarrement, j'ai réussi à obtenir un résultat avec Select * from Client
WHERE LEFT(REM,1)<>' '
... mais j'avoue que c'est pas très beau comme code. Et si mon usager
commence avec un espace...!!?? Bon, je peux tester sur 5 ou 10 caracteres,
mais bon... pas très clean comme code.
Ce fichier Client a été transféré depuis un fichier .dBF, peut-etre que le
champ REM n'est pas vide et contient peut-etre autre chose que des ASCII 32
(espaces). Il faudrait que je vérifie mais cela ne se vérifie pas aussi
rapidement en WD qu'en Foxpro.
> > Fichier : Client > Rubrique à vérifier si pas vide : Rem > > Select * from Client where ???
moi je ferais : select * from Client where Rem <> '' les '' sont deux guillemets simples (single quote) > > Merci à l'avance. > > Réal Phil de rien ... j'espère que cela va fonctionner !
C'est ce que j'ai essayé en premier parce que c'est ce que j'aurais fait en Foxpro (mon ex-langage). Mais, curieusement, cela ne fonctionne pas.
Bizarrement, j'ai réussi à obtenir un résultat avec Select * from Client WHERE LEFT(REM,1)<>' ' ... mais j'avoue que c'est pas très beau comme code. Et si mon usager commence avec un espace...!!?? Bon, je peux tester sur 5 ou 10 caracteres, mais bon... pas très clean comme code.
Ce fichier Client a été transféré depuis un fichier .dBF, peut-etre que le champ REM n'est pas vide et contient peut-etre autre chose que des ASCII 32 (espaces). Il faudrait que je vérifie mais cela ne se vérifie pas aussi rapidement en WD qu'en Foxpro.
Merci tout de meme pour la suggestion Marcel
Réal Phil
mat
Phil wrote:
Fichier : Client Rubrique à vérifier si pas vide : Rem
Select * from Client where ???
moi je ferais : select * from Client where Rem <> '' les '' sont deux guillemets simples (single quote)
C'est ce que j'ai essayé en premier parce que c'est ce que j'aurais fait en Foxpro (mon ex-langage). Mais, curieusement, cela ne fonctionne pas.
Bizarrement, j'ai réussi à obtenir un résultat avec Select * from Client WHERE LEFT(REM,1)<>' ' ... mais j'avoue que c'est pas très beau comme code. Et si mon usager commence avec un espace...!!?? Bon, je peux tester sur 5 ou 10 caracteres, mais bon... pas très clean comme code.
Ce fichier Client a été transféré depuis un fichier .dBF, peut-etre que le champ REM n'est pas vide et contient peut-etre autre chose que des ASCII 32 (espaces).
Salut Réal,
Une espace <> vide! Le test de vide doit être avec " <> '' " comme le dit Marcel. Si chez toi cela ne marche pas, il faut vérifier la procédure d'importation. Normalement un vide reste un vide, sauf s'il y a une conversion. P.ex. Complète(maRubrique," ",30) convertie une rubrique vide en rubrique avec espaces.
Salutations Mat
Phil wrote:
Fichier : Client
Rubrique à vérifier si pas vide : Rem
Select * from Client where ???
moi je ferais :
select * from Client where Rem <> ''
les '' sont deux guillemets simples (single quote)
C'est ce que j'ai essayé en premier parce que c'est ce que j'aurais fait en
Foxpro (mon ex-langage).
Mais, curieusement, cela ne fonctionne pas.
Bizarrement, j'ai réussi à obtenir un résultat avec Select * from Client
WHERE LEFT(REM,1)<>' '
... mais j'avoue que c'est pas très beau comme code. Et si mon usager
commence avec un espace...!!?? Bon, je peux tester sur 5 ou 10 caracteres,
mais bon... pas très clean comme code.
Ce fichier Client a été transféré depuis un fichier .dBF, peut-etre que le
champ REM n'est pas vide et contient peut-etre autre chose que des ASCII 32
(espaces).
Salut Réal,
Une espace <> vide! Le test de vide doit être avec " <> '' " comme le
dit Marcel. Si chez toi cela ne marche pas, il faut vérifier la
procédure d'importation. Normalement un vide reste un vide, sauf s'il y
a une conversion. P.ex. Complète(maRubrique," ",30) convertie une
rubrique vide en rubrique avec espaces.
C'est ce que j'ai essayé en premier parce que c'est ce que j'aurais fait en Foxpro (mon ex-langage). Mais, curieusement, cela ne fonctionne pas.
Bizarrement, j'ai réussi à obtenir un résultat avec Select * from Client WHERE LEFT(REM,1)<>' ' ... mais j'avoue que c'est pas très beau comme code. Et si mon usager commence avec un espace...!!?? Bon, je peux tester sur 5 ou 10 caracteres, mais bon... pas très clean comme code.
Ce fichier Client a été transféré depuis un fichier .dBF, peut-etre que le champ REM n'est pas vide et contient peut-etre autre chose que des ASCII 32 (espaces).
Salut Réal,
Une espace <> vide! Le test de vide doit être avec " <> '' " comme le dit Marcel. Si chez toi cela ne marche pas, il faut vérifier la procédure d'importation. Normalement un vide reste un vide, sauf s'il y a une conversion. P.ex. Complète(maRubrique," ",30) convertie une rubrique vide en rubrique avec espaces.
Salutations Mat
Phil
"mat" a écrit dans le message de news:419b4b66$
Phil wrote: >>>Fichier : Client >>>Rubrique à vérifier si pas vide : Rem >>> >>>Select * from Client where ??? >> >>moi je ferais : >>select * from Client where Rem <> '' >>les '' sont deux guillemets simples (single quote) >> >>>Merci à l'avance. >>> >>>Réal Phil >> >>de rien ... j'espère que cela va fonctionner ! >> >>Marcel Berman > > ------------------------------------------------------- > Salut Marcel, > > >>select * from Client where Rem <> '' > > > C'est ce que j'ai essayé en premier parce que c'est ce que j'aurais fait
en
> Foxpro (mon ex-langage). > Mais, curieusement, cela ne fonctionne pas. > > Bizarrement, j'ai réussi à obtenir un résultat avec Select * from Client > WHERE LEFT(REM,1)<>' ' > ... mais j'avoue que c'est pas très beau comme code. Et si mon usager > commence avec un espace...!!?? Bon, je peux tester sur 5 ou 10
caracteres,
> mais bon... pas très clean comme code. > > Ce fichier Client a été transféré depuis un fichier .dBF, peut-etre que
le
> champ REM n'est pas vide et contient peut-etre autre chose que des ASCII
32
> (espaces).
Salut Réal,
Une espace <> vide! Le test de vide doit être avec " <> '' " comme le dit Marcel. Si chez toi cela ne marche pas, il faut vérifier la procédure d'importation. Normalement un vide reste un vide, sauf s'il y a une conversion. P.ex. Complète(maRubrique," ",30) convertie une rubrique vide en rubrique avec espaces.
Je viens de vérifier et chaque caractère de la rubrique transférée est bien un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
Je viens aussi de trouver la solution - qui a du sens quand on y pense bien SELECT * FROM CLIENT WHERE LTRIM(REM)<>''
Je présume que le code suivant fonctionnerait aussi - et serait probablement plus rapide en exécution (ces tests seront fait plus tard sur un nombre important d'enregistrements).
Cond est une chaine = Complete("",50) SELECT * FROM CLIENT WHERE REM<>Cond
Réal Phil
"mat" <NoSpam-mnobs@bluemail.ch> a écrit dans le message de
news:419b4b66$1_1@news.bluewin.ch...
Phil wrote:
>>>Fichier : Client
>>>Rubrique à vérifier si pas vide : Rem
>>>
>>>Select * from Client where ???
>>
>>moi je ferais :
>>select * from Client where Rem <> ''
>>les '' sont deux guillemets simples (single quote)
>>
>>>Merci à l'avance.
>>>
>>>Réal Phil
>>
>>de rien ... j'espère que cela va fonctionner !
>>
>>Marcel Berman
>
> -------------------------------------------------------
> Salut Marcel,
>
>
>>select * from Client where Rem <> ''
>
>
> C'est ce que j'ai essayé en premier parce que c'est ce que j'aurais fait
en
> Foxpro (mon ex-langage).
> Mais, curieusement, cela ne fonctionne pas.
>
> Bizarrement, j'ai réussi à obtenir un résultat avec Select * from Client
> WHERE LEFT(REM,1)<>' '
> ... mais j'avoue que c'est pas très beau comme code. Et si mon usager
> commence avec un espace...!!?? Bon, je peux tester sur 5 ou 10
caracteres,
> mais bon... pas très clean comme code.
>
> Ce fichier Client a été transféré depuis un fichier .dBF, peut-etre que
le
> champ REM n'est pas vide et contient peut-etre autre chose que des ASCII
32
> (espaces).
Salut Réal,
Une espace <> vide! Le test de vide doit être avec " <> '' " comme le
dit Marcel. Si chez toi cela ne marche pas, il faut vérifier la
procédure d'importation. Normalement un vide reste un vide, sauf s'il y
a une conversion. P.ex. Complète(maRubrique," ",30) convertie une
rubrique vide en rubrique avec espaces.
Je viens de vérifier et chaque caractère de la rubrique transférée est bien
un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
Je viens aussi de trouver la solution - qui a du sens quand on y pense bien
SELECT * FROM CLIENT WHERE LTRIM(REM)<>''
Je présume que le code suivant fonctionnerait aussi - et serait probablement
plus rapide en exécution (ces tests seront fait plus tard sur un nombre
important d'enregistrements).
Cond est une chaine = Complete("",50)
SELECT * FROM CLIENT WHERE REM<>Cond
Phil wrote: >>>Fichier : Client >>>Rubrique à vérifier si pas vide : Rem >>> >>>Select * from Client where ??? >> >>moi je ferais : >>select * from Client where Rem <> '' >>les '' sont deux guillemets simples (single quote) >> >>>Merci à l'avance. >>> >>>Réal Phil >> >>de rien ... j'espère que cela va fonctionner ! >> >>Marcel Berman > > ------------------------------------------------------- > Salut Marcel, > > >>select * from Client where Rem <> '' > > > C'est ce que j'ai essayé en premier parce que c'est ce que j'aurais fait
en
> Foxpro (mon ex-langage). > Mais, curieusement, cela ne fonctionne pas. > > Bizarrement, j'ai réussi à obtenir un résultat avec Select * from Client > WHERE LEFT(REM,1)<>' ' > ... mais j'avoue que c'est pas très beau comme code. Et si mon usager > commence avec un espace...!!?? Bon, je peux tester sur 5 ou 10
caracteres,
> mais bon... pas très clean comme code. > > Ce fichier Client a été transféré depuis un fichier .dBF, peut-etre que
le
> champ REM n'est pas vide et contient peut-etre autre chose que des ASCII
32
> (espaces).
Salut Réal,
Une espace <> vide! Le test de vide doit être avec " <> '' " comme le dit Marcel. Si chez toi cela ne marche pas, il faut vérifier la procédure d'importation. Normalement un vide reste un vide, sauf s'il y a une conversion. P.ex. Complète(maRubrique," ",30) convertie une rubrique vide en rubrique avec espaces.
Je viens de vérifier et chaque caractère de la rubrique transférée est bien un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
Je viens aussi de trouver la solution - qui a du sens quand on y pense bien SELECT * FROM CLIENT WHERE LTRIM(REM)<>''
Je présume que le code suivant fonctionnerait aussi - et serait probablement plus rapide en exécution (ces tests seront fait plus tard sur un nombre important d'enregistrements).
Cond est une chaine = Complete("",50) SELECT * FROM CLIENT WHERE REM<>Cond
Réal Phil
mat
Bonjour Réal,
Je ne veux pas nous faire perdre du temps pour rien, finalement tu feras comme tu préfères.
Phil wrote:
Je viens de vérifier et chaque caractère de la rubrique transférée est bien un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
ASCII 32 est bien une espace. Par contre, vide (représenté par '' ) n'est pas un caractère. A mon avis c'est bien là où se trouve le problème, car ce n'est par normal qu'un champ vide soit représenté par des espaces, non plus dans les bases Paradox et Access. Si c'est le cas, c'est probablement fait par programmation.
Je viens aussi de trouver la solution - qui a du sens quand on y pense bien SELECT * FROM CLIENT WHERE LTRIM(REM)<>''
Je présume que le code suivant fonctionnerait aussi - et serait probablement plus rapide en exécution (ces tests seront fait plus tard sur un nombre important d'enregistrements).
Cond est une chaine = Complete("",50) SELECT * FROM CLIENT WHERE REM<>Cond
A mon avis, tester un vide est plus rapide que tester une chaine de 50 caractères. Si le problème vient des données importées, pour le corriger en Windev (enlever des espaces indésirables au début et à la fin), il suffit de faire:
REM = droite(REM) // enlève les espaces sur la droite REM = gauche(REM) // enlève les espaces sur la gauche
Les champs contenant uniquement des espaces sont vidés. Désormais il sera suffisant de tester avec les standard " <> '' " .
Salutations Mat
Bonjour Réal,
Je ne veux pas nous faire perdre du temps pour rien, finalement tu feras
comme tu préfères.
Phil wrote:
Je viens de vérifier et chaque caractère de la rubrique transférée est bien
un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
ASCII 32 est bien une espace. Par contre, vide (représenté par '' )
n'est pas un caractère. A mon avis c'est bien là où se trouve le
problème, car ce n'est par normal qu'un champ vide soit représenté par
des espaces, non plus dans les bases Paradox et Access.
Si c'est le cas, c'est probablement fait par programmation.
Je viens aussi de trouver la solution - qui a du sens quand on y pense bien
SELECT * FROM CLIENT WHERE LTRIM(REM)<>''
Je présume que le code suivant fonctionnerait aussi - et serait probablement
plus rapide en exécution (ces tests seront fait plus tard sur un nombre
important d'enregistrements).
Cond est une chaine = Complete("",50)
SELECT * FROM CLIENT WHERE REM<>Cond
A mon avis, tester un vide est plus rapide que tester une chaine de 50
caractères. Si le problème vient des données importées, pour le corriger
en Windev (enlever des espaces indésirables au début et à la fin), il
suffit de faire:
REM = droite(REM) // enlève les espaces sur la droite
REM = gauche(REM) // enlève les espaces sur la gauche
Les champs contenant uniquement des espaces sont vidés. Désormais il
sera suffisant de tester avec les standard " <> '' " .
Je ne veux pas nous faire perdre du temps pour rien, finalement tu feras comme tu préfères.
Phil wrote:
Je viens de vérifier et chaque caractère de la rubrique transférée est bien un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
ASCII 32 est bien une espace. Par contre, vide (représenté par '' ) n'est pas un caractère. A mon avis c'est bien là où se trouve le problème, car ce n'est par normal qu'un champ vide soit représenté par des espaces, non plus dans les bases Paradox et Access. Si c'est le cas, c'est probablement fait par programmation.
Je viens aussi de trouver la solution - qui a du sens quand on y pense bien SELECT * FROM CLIENT WHERE LTRIM(REM)<>''
Je présume que le code suivant fonctionnerait aussi - et serait probablement plus rapide en exécution (ces tests seront fait plus tard sur un nombre important d'enregistrements).
Cond est une chaine = Complete("",50) SELECT * FROM CLIENT WHERE REM<>Cond
A mon avis, tester un vide est plus rapide que tester une chaine de 50 caractères. Si le problème vient des données importées, pour le corriger en Windev (enlever des espaces indésirables au début et à la fin), il suffit de faire:
REM = droite(REM) // enlève les espaces sur la droite REM = gauche(REM) // enlève les espaces sur la gauche
Les champs contenant uniquement des espaces sont vidés. Désormais il sera suffisant de tester avec les standard " <> '' " .
Salutations Mat
mat
Phil wrote:
Je viens de vérifier et chaque caractère de la rubrique transférée est bien un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
Travaillant sur une analyse, je me suis apperçu d'une autre raison potentielle pour le problème. Dans la description du fichier, Propriétés, Onglet Détails, Stockage Rubriques Textes: doit être sur Mode 7, sinon les champs sont effectivement complètés par des espaces.
Phil wrote:
Je viens de vérifier et chaque caractère de la rubrique transférée est bien
un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
Travaillant sur une analyse, je me suis apperçu d'une autre raison
potentielle pour le problème. Dans la description du fichier,
Propriétés, Onglet Détails, Stockage Rubriques Textes: doit être sur
Mode 7, sinon les champs sont effectivement complètés par des espaces.
Je viens de vérifier et chaque caractère de la rubrique transférée est bien un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
Travaillant sur une analyse, je me suis apperçu d'une autre raison potentielle pour le problème. Dans la description du fichier, Propriétés, Onglet Détails, Stockage Rubriques Textes: doit être sur Mode 7, sinon les champs sont effectivement complètés par des espaces.
Phil
Salut Mat,
"mat" a écrit dans le message de news:419c7b61$
Phil wrote: > Je viens de vérifier et chaque caractère de la rubrique transférée est
bien
> un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
ASCII 32 est bien une espace. Par contre, vide (représenté par '' ) n'est pas un caractère. A mon avis c'est bien là où se trouve le problème, car ce n'est par normal qu'un champ vide soit représenté par des espaces, non plus dans les bases Paradox et Access. Si c'est le cas, c'est probablement fait par programmation.
Tu as raison et merci de me le rapeller. C'est un fait que j'avais oublié parce qu'avec Foxpro, que le champ ou la variable soit rempli de ASCII 32 ou vraiment vide, quand on teste avec EMPTY(REM) on obtient True dans les deux cas. Avec REM="" aussi. J'ai tendance à oublier que WD est plus strict dans ses comparaisons - et j'aime mieux ça dans un sens, c'est plus vrai. Question d'ajustement.
> Je viens aussi de trouver la solution - qui a du sens quand on y pense
bien
> SELECT * FROM CLIENT WHERE LTRIM(REM)<>'' > > Je présume que le code suivant fonctionnerait aussi - et serait
probablement
> plus rapide en exécution (ces tests seront fait plus tard sur un nombre > important d'enregistrements). > > Cond est une chaine = Complete("",50) > SELECT * FROM CLIENT WHERE REM<>Cond
A mon avis, tester un vide est plus rapide que tester une chaine de 50 caractères. Si le problème vient des données importées, pour le corriger en Windev (enlever des espaces indésirables au début et à la fin), il suffit de faire:
REM = droite(REM) // enlève les espaces sur la droite REM = gauche(REM) // enlève les espaces sur la gauche
Heu... tu veux dire l'inverse je présume. (Ex. : Gauche(REM) // enlève les espaces à droite, ...) De toute facon le résultat est le meme quand on fait les 2 commandes. C'est une excellente idée.
Les champs contenant uniquement des espaces sont vidés. Désormais il sera suffisant de tester avec les standard " <> '' " .
Salutations Mat
Merci. Réal Phil
Salut Mat,
"mat" <NoSpam-mnobs@bluemail.ch> a écrit dans le message de
news:419c7b61$1_1@news.bluewin.ch...
Phil wrote:
> Je viens de vérifier et chaque caractère de la rubrique transférée est
bien
> un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
ASCII 32 est bien une espace. Par contre, vide (représenté par '' )
n'est pas un caractère. A mon avis c'est bien là où se trouve le
problème, car ce n'est par normal qu'un champ vide soit représenté par
des espaces, non plus dans les bases Paradox et Access.
Si c'est le cas, c'est probablement fait par programmation.
Tu as raison et merci de me le rapeller.
C'est un fait que j'avais oublié parce qu'avec Foxpro, que le champ ou la
variable soit rempli de ASCII 32 ou vraiment vide, quand on teste avec
EMPTY(REM) on obtient True dans les deux cas. Avec REM="" aussi. J'ai
tendance à oublier que WD est plus strict dans ses comparaisons - et j'aime
mieux ça dans un sens, c'est plus vrai. Question d'ajustement.
> Je viens aussi de trouver la solution - qui a du sens quand on y pense
bien
> SELECT * FROM CLIENT WHERE LTRIM(REM)<>''
>
> Je présume que le code suivant fonctionnerait aussi - et serait
probablement
> plus rapide en exécution (ces tests seront fait plus tard sur un nombre
> important d'enregistrements).
>
> Cond est une chaine = Complete("",50)
> SELECT * FROM CLIENT WHERE REM<>Cond
A mon avis, tester un vide est plus rapide que tester une chaine de 50
caractères. Si le problème vient des données importées, pour le corriger
en Windev (enlever des espaces indésirables au début et à la fin), il
suffit de faire:
REM = droite(REM) // enlève les espaces sur la droite
REM = gauche(REM) // enlève les espaces sur la gauche
Heu... tu veux dire l'inverse je présume. (Ex. : Gauche(REM) // enlève les
espaces à droite, ...)
De toute facon le résultat est le meme quand on fait les 2 commandes. C'est
une excellente idée.
Les champs contenant uniquement des espaces sont vidés. Désormais il
sera suffisant de tester avec les standard " <> '' " .
Phil wrote: > Je viens de vérifier et chaque caractère de la rubrique transférée est
bien
> un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
ASCII 32 est bien une espace. Par contre, vide (représenté par '' ) n'est pas un caractère. A mon avis c'est bien là où se trouve le problème, car ce n'est par normal qu'un champ vide soit représenté par des espaces, non plus dans les bases Paradox et Access. Si c'est le cas, c'est probablement fait par programmation.
Tu as raison et merci de me le rapeller. C'est un fait que j'avais oublié parce qu'avec Foxpro, que le champ ou la variable soit rempli de ASCII 32 ou vraiment vide, quand on teste avec EMPTY(REM) on obtient True dans les deux cas. Avec REM="" aussi. J'ai tendance à oublier que WD est plus strict dans ses comparaisons - et j'aime mieux ça dans un sens, c'est plus vrai. Question d'ajustement.
> Je viens aussi de trouver la solution - qui a du sens quand on y pense
bien
> SELECT * FROM CLIENT WHERE LTRIM(REM)<>'' > > Je présume que le code suivant fonctionnerait aussi - et serait
probablement
> plus rapide en exécution (ces tests seront fait plus tard sur un nombre > important d'enregistrements). > > Cond est une chaine = Complete("",50) > SELECT * FROM CLIENT WHERE REM<>Cond
A mon avis, tester un vide est plus rapide que tester une chaine de 50 caractères. Si le problème vient des données importées, pour le corriger en Windev (enlever des espaces indésirables au début et à la fin), il suffit de faire:
REM = droite(REM) // enlève les espaces sur la droite REM = gauche(REM) // enlève les espaces sur la gauche
Heu... tu veux dire l'inverse je présume. (Ex. : Gauche(REM) // enlève les espaces à droite, ...) De toute facon le résultat est le meme quand on fait les 2 commandes. C'est une excellente idée.
Les champs contenant uniquement des espaces sont vidés. Désormais il sera suffisant de tester avec les standard " <> '' " .
Salutations Mat
Merci. Réal Phil
Phil
"mat" a écrit dans le message de news:419c82f3$
Phil wrote: > Je viens de vérifier et chaque caractère de la rubrique transférée est
bien
> un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
Travaillant sur une analyse, je me suis apperçu d'une autre raison potentielle pour le problème. Dans la description du fichier, Propriétés, Onglet Détails, Stockage Rubriques Textes: doit être sur Mode 7, sinon les champs sont effectivement complètés par des espaces.
---------------------------------------------------------- Bon point. Merci de l'apporter à mon attention.
Réal
"mat" <NoSpam-mnobs@bluemail.ch> a écrit dans le message de
news:419c82f3$1_2@news.bluewin.ch...
Phil wrote:
> Je viens de vérifier et chaque caractère de la rubrique transférée est
bien
> un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
Travaillant sur une analyse, je me suis apperçu d'une autre raison
potentielle pour le problème. Dans la description du fichier,
Propriétés, Onglet Détails, Stockage Rubriques Textes: doit être sur
Mode 7, sinon les champs sont effectivement complètés par des espaces.
----------------------------------------------------------
Bon point.
Merci de l'apporter à mon attention.
Phil wrote: > Je viens de vérifier et chaque caractère de la rubrique transférée est
bien
> un espace vide (ASCII décimale 32). Donc, le problème n'est pas là.
Travaillant sur une analyse, je me suis apperçu d'une autre raison potentielle pour le problème. Dans la description du fichier, Propriétés, Onglet Détails, Stockage Rubriques Textes: doit être sur Mode 7, sinon les champs sont effectivement complètés par des espaces.
---------------------------------------------------------- Bon point. Merci de l'apporter à mon attention.
Réal
Eric Demeester
dans (in) fr.comp.developpement.agl.windev, mat ecrivait (wrote) :
Bonjour,
en Windev (enlever des espaces indésirables au début et à la fin), il suffit de faire:
REM = droite(REM) // enlève les espaces sur la droite REM = gauche(REM) // enlève les espaces sur la gauche
Pourquoi pas directement REM = (SansEspace(REM)) ?
-- Eric
dans (in) fr.comp.developpement.agl.windev, mat
<NoSpam-mnobs@bluemail.ch> ecrivait (wrote) :
Bonjour,
en Windev (enlever des espaces indésirables au début et à la fin), il
suffit de faire:
REM = droite(REM) // enlève les espaces sur la droite
REM = gauche(REM) // enlève les espaces sur la gauche
Pourquoi pas directement REM = (SansEspace(REM)) ?
dans (in) fr.comp.developpement.agl.windev, mat ecrivait (wrote) :
Bonjour,
en Windev (enlever des espaces indésirables au début et à la fin), il suffit de faire:
REM = droite(REM) // enlève les espaces sur la droite REM = gauche(REM) // enlève les espaces sur la gauche
Pourquoi pas directement REM = (SansEspace(REM)) ?
-- Eric
Phil
"Eric Demeester" <eric+ a écrit dans le message de news:
dans (in) fr.comp.developpement.agl.windev, mat ecrivait (wrote) :
Bonjour,
> en Windev (enlever des espaces indésirables au début et à la fin), il > suffit de faire: > > REM = droite(REM) // enlève les espaces sur la droite > REM = gauche(REM) // enlève les espaces sur la gauche
Pourquoi pas directement REM = (SansEspace(REM)) ?
"Eric Demeester" <eric+usenet@galacsys.net> a écrit dans le message de
news:qciup05f0cls55sge55guamr34e5iad9eq@4ax.com...
dans (in) fr.comp.developpement.agl.windev, mat
<NoSpam-mnobs@bluemail.ch> ecrivait (wrote) :
Bonjour,
> en Windev (enlever des espaces indésirables au début et à la fin), il
> suffit de faire:
>
> REM = droite(REM) // enlève les espaces sur la droite
> REM = gauche(REM) // enlève les espaces sur la gauche
Pourquoi pas directement REM = (SansEspace(REM)) ?
"Eric Demeester" <eric+ a écrit dans le message de news:
dans (in) fr.comp.developpement.agl.windev, mat ecrivait (wrote) :
Bonjour,
> en Windev (enlever des espaces indésirables au début et à la fin), il > suffit de faire: > > REM = droite(REM) // enlève les espaces sur la droite > REM = gauche(REM) // enlève les espaces sur la gauche
Pourquoi pas directement REM = (SansEspace(REM)) ?