Le 27/12/07, Jovial<[EMAIL PROTECTED]> a écrit :
> Bonjour à tous
Bonjour,
>
> Je suis sous Ubuntu 7.04 et 7.10 et je tente d'exploiter les données du
> carnet d'adresse de Gnome Evolution afin de centraliser mes données sur
> un seul carnet.
>
> Chez moi en natif la source EvolutionLocale est disponible en lecture
> seule sous OOo.
par quel protocole ? odbc ? jdbc ? autre ?
> Le problème que je rencontre c'est que je n'arrive pas à trier mes
> données par colonne en aphabétique.
> Une requête SQL avec Order By me renvoie un résultat non ordonné, pourquoi ?
c'est curieux effectivement.
> J'arrive à contourner le problème en traitant le résultat  le résultat
> avec la macro trishell j'utilise ce genre de code(fourni ci dessous)
> mais je vois pas comment je pourai utiliser le résultat dans des
> formulaires connecter à la bbd
>
> 1 - N'y a t'il pas une manière simple d'ordonner mes données
ben normalement, si, avec ORDER BY
> 2 - Dans ma macro, après le tri les minuscules et majuscules son
> classées séparément  ABC...abc mais est je voudrai classer selon l'ordre
> AaBbCc.... est possible? comment ?

dans ta macro on dirait que tu tries les caractères comme des entiers
donc probablement il ordonne selon la valeur du code ascii par
exemple, et donc les majuscules sont avant les minuscules (AB est
avant Aa).

Il faudrait comprendre pourquoi la clause ORDER BY ne fonctionne pas
correctement, et ça risque de venir de la connexion à ta base plutôt
que de OOo

> 3- Dans sa dernière version Evolution dispose d'une api pour permettre
> de lire ou d'ajouter des données dans sa bbd Contact certaines applis
> s'en serve comme Ekiga, auriez vous connaissance de solutions qui serai
> exploitable depuis OOo ?
>
>
> Code:
>
> ConnecterSource ' sub de connection à la source EvolutionLocal
>     SQL = "SELECT file_as FROM Personnel AS Personnel ORDER BY file_as ASC"
>     LaRequete=MaConnexion.createStatement()
>     LaRequete.QueryTimeout=50
>     LeResultSet=laRequete.executeQuery(SQL)    '
>
>     While LeResultSet.next
>         TabResult(n)=  LeResultSet.getColumns.getbyindex(0).string
>         n= n+1
>     wend
>     redim preserve TabResult(n)
>     DeconnecterSource
>     TriShell(TabResult())
>
> Sub TriShell(Atrier())
> Dim k1 As Integer, k2 As Integer, taille As Integer
> Dim x1 As Integer, enOrdre As Boolean
> Dim echange
>
> taille = UBound(Atrier()) +1 -LBound(Atrier())
> k1 = Fix(taille /2)
> do while k1 > 0
>   k2 = UBound(Atrier()) - k1
>   enOrdre = true
>   for x1 = LBound(Atrier()) to k2
>     if Atrier(x1) > Atrier(x1 +k1) then
>       echange = Atrier(x1)
>       Atrier(x1) = Atrier(x1 +k1)
>       Atrier(x1 +k1) = echange
>       enOrdre = false
>     end if
>   next
>   if enOrdre then
>     k1 = Fix(k1 /2)
>   end if
> loop
> End Sub
>
> Bye
>
> Jean-luc
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Manuel

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à