Merci pour vos r�ponses

Je pr�cise: je veux ins�rer un enregistrement dans ma table qui se place en dernier(comme sur l'exempledu livre: pas de probl�me), et ensuite je veux ordonner ma table(et non un r�sultat) par ordre alphab�tique sur la colonne LIBELLE, pour l'instant je ne sais le faire que en ouvrant avec F4 et en cliquant sur le bouton A > Z , je souhaite le faire par programmation

J'ai pas encore r�ussi � les exploiter ta r�ponse Laurent ,c'est vrai SQL cela reste tr�s flou pour moi, l� je tatonne ....
J'ai essay� des truc dans le genre "order by LIBELLE from Produits" sans succ�s"
Tel que j'ai interpr�t� ta r�ponse cela me donne le code suivant qui produit une erreue sur instrSQL2 :


Jean-Luc

....
ConnecterSource
'chercher la valeur maximale de ID_PRODUIT
maRequete = maConnexion.createStatement()
resuQuery = maRequete.executeQuery( _
"select ID_PRODUIT, LIBELLE, PRIX from produits order by LIBELLE")
indexP = 1
while resuQuery.next
x = resuQuery.Columns.getByName("ID_PRODUIT").Int
if x >= indexP then indexP = x +1
wend
'construction de la requ�te d'insertion
instrSQL = "Insert into produits " & _
"(PRIX, LIBELLE, ID_PRODUIT) values(" & _
NombreAnglais(LePrix) & "," & _
Quote(LeLibelle) & "," & _
NombreAnglais(indexP) & ")"
'ajout du nouvel enregistrement
nbLignesEcrites = maRequete.executeUpdate(instrSQL)
MsgBox("Instruction SQL :" & chr(13) & instrSQL & chr(13) & _
"Nombre de lignes �crites : " & nbLignesEcrites)
'On trie la table par ordre alphab�tique sur la colonne LIBELLE
instrSQL2 ="order by Produits"
nbLignesEcrites = maRequete.executeQuery(instrSQL2)
DeconnecterSource
end if
...



Laurent Godard a �crit :

Bonjour Jean Luc,

Dans le Livre Programmation Open office,  l'exemple  d�crit page 543
permet d'ajouter un enregistrement dans la table produit.dbf
la table se pr�sente comme cela:  ID_PRODUIT ,  LIBELLE ,   PRIX
Quel code ou instruction SQL pourrai-je faire pour ensuite trier la
table par ordra alphab�tique sur la colonne LIBELLE

Ci joint le code de l'exemple

Sub InsererDonneesParSQL()


oui, mais non
car cet exemple est pour inserer des donn�es
d'o� la commande executeUpdate

   'Demande des renseignements � l'utilisateur
   if nouvelArticle(LeLibelle, LePrix) then
     ConnecterSource
     'chercher la valeur maximale de ID_PRODUIT
     maRequete = maConnexion.createStatement()
     resuQuery = maRequete.executeQuery( _
                           "select ID_PRODUIT from produits")


Tu peux passer directement en SQL
"select ID_PRODUIT, LIBELLE, PRIX from produit order by LIBELLE"

     indexP = 1
     while  resuQuery.next
       x = resuQuery.Columns.getByName("ID_PRODUIT").Int
       if x >= indexP then indexP = x +1
     wend

     'construction de la requ�te d'insertion
     instrSQL = "order by produits "


� ce point c'est tout ce que contient ta variable instrSQL, ce qui n'est pas une commande de mise � jour recevable du point de vue SQL (pas d'instruction update, insert, delete)

Mais ce n'est aps ce que tu veux, puisque tu voudrais le resultat d'un Select --> utilise executeQuery

     'ajout du nouvel enregistrement
     nbLignesEcrites = maRequete.executeUpdate(instrSQL)


Pour ce qui est d'utiliser un RowSet (l'exemple de la page 554), il devrait fonctionner (je vais quand meme verifier ce soir) mais ce n'est qu'une reimplementation de la syntaxe SQL

Laurent



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



Répondre à