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 à