6 messages in org.openoffice.fr.progBdd EvolutionLocal avec OOo
FromSent OnAttachments
JovialDec 27, 2007 4:52 am 
Manuel NAUDINDec 27, 2007 11:34 pm 
JovialJan 8, 2008 6:37 am 
Alex ThurgoodJan 8, 2008 8:10 am 
JovialJan 8, 2008 5:19 pm 
yves dutrieuxJan 9, 2008 10:54 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Bdd EvolutionLocal avec OOoActions...
From:Jovial (o.jo@free.fr)
Date:Dec 27, 2007 4:52:44 am
List:org.openoffice.fr.prog

Bonjour à tous

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. 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 ? 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 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 ? 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