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]