Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Need idea for sort
Message
De
26/02/2010 08:32:09
 
 
À
26/02/2010 07:51:11
Lutz Scheffler
Lutz Scheffler Software Ingenieurbüro
Dresden, Allemagne
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Versions des environnements
Visual FoxPro:
VFP 9 SP2
Divers
Thread ID:
01451160
Message ID:
01451211
Vues:
32
Email me some test data, and I will make an easier solution later today.

>So what I come up now without UDF (what is hard to create to me)
>
>
>SELECT;
> ICASE(;
>  EMPTY(GETWORDNUM(TRIM(cur1.cName),1,'.')),SPACE(Cur2.iLen01),;
>  ISDIGIT(GETWORDNUM(TRIM(cur1.cName),1,'.')),PADL(GETWORDNUM(TRIM(cur1.cName),1,'.'),Cur2.iLen01,'0'),;
>  PADR(GETWORDNUM(TRIM(cur1.cName),1,'.'),Cur2.iLen01));
> +;
> ICASE(;
>  EMPTY(GETWORDNUM(TRIM(cur1.cName),2,'.')),SPACE(Cur2.iLen02),;
>  ISDIGIT(GETWORDNUM(TRIM(cur1.cName),2,'.')),PADL(GETWORDNUM(TRIM(cur1.cName),2,'.'),Cur2.iLen02,'0'),;
>  PADR(GETWORDNUM(TRIM(cur1.cName),2,'.'),Cur2.iLen02));
> +;
> ICASE(;
>  EMPTY(GETWORDNUM(TRIM(cur1.cName),3,'.')),SPACE(Cur2.iLen03),;
>  ISDIGIT(GETWORDNUM(TRIM(cur1.cName),3,'.')),PADL(GETWORDNUM(TRIM(cur1.cName),3,'.'),Cur2.iLen03,'0'),;
>  PADR(GETWORDNUM(TRIM(cur1.cName),3,'.'),Cur2.iLen03));
> AS vVerbindungsSort,;
> +;
> ICASE(;
>  EMPTY(GETWORDNUM(TRIM(cur1.cName),4,'.')),SPACE(Cur2.iLen04),;
>  ISDIGIT(GETWORDNUM(TRIM(cur1.cName),4,'.')),PADL(GETWORDNUM(TRIM(cur1.cName),4,'.'),Cur2.iLen04,'0'),;
>  PADR(GETWORDNUM(TRIM(cur1.cName),4,'.'),Cur2.iLen04));
> AS cSort,;
> cur1.cName AS cNr;
> FROM curSource AS cur1;
> FULL JOIN (;
>  SELECT;
>   MAX(LEN(GETWORDNUM(TRIM(Cur2_1.cName),1,'.'))) AS iLen01,;
>   MAX(LEN(GETWORDNUM(TRIM(Cur2_1.cName),2,'.'))) AS iLen02,;
>   MAX(LEN(GETWORDNUM(TRIM(Cur2_1.cName),3,'.'))) AS iLen03,;
>   MAX(LEN(GETWORDNUM(TRIM(Cur2_1.cName),4,'.'))) AS iLen04;
>   FROM curSource AS Cur2_1;
>  ) AS Cur2;
> ON .T.;
> ORDER BY 1
>
>
>Update:
>
>this is without mixed stuff, but this is out of spec anyway.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform