cs_Cento
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention17 septembre 2003
-
10 sept. 2003 à 17:48
slimen -
10 mai 2004 à 19:45
Bonjour,
J'ai le code suivant (dont je ne suis pas l'auteur) et je dois le modifier. Ce code affiche un formulaire qui lit une base de données access.
Les résultats sont affichés dans l'ordre croissant d'envoi, c'est à dire que le plus récent se met à la fin. Or, je dois le modifier pour que chaque nouvelle entrée se mette au début.
Je débute complètement en asp, et en access, et je patauge.
Je tiens à signaler que ce code fonctionne, même si comme on me l'a déjà fait remarqué il n'y a pas de requête SQL.
Si quelqu'un réussissait à me dépanner, ça serait sympa.
Merci
Réf.
,
,
----
,
----
Lieu
:,
Date
:,
Durée
:,
----
,
,
,
----
,
----
Si cette offre vous intéresse,
notez la référence et cliquez sur le bouton "Postuler"
omaroch
Messages postés33Date d'inscriptionlundi 1 septembre 2003StatutMembreDernière intervention 6 janvier 2004 10 sept. 2003 à 19:45
salut
je pense que la requete sql est incluse ds le fichier dbconnect.asp car sur la ligne suivante
objRS.Open "offrefr", objConn,3,3
il est entrain dappeler la requete "offrefr" pour mettre les données dans le recordset.
pour faire ton tri tu dois le faire au niveaux de la requete!! si tu veux envoi moi le contenu du fichier dbconnect.asp pour que je puisse voir comment ca marche
a+
omaroch
Messages postés33Date d'inscriptionlundi 1 septembre 2003StatutMembreDernière intervention 6 janvier 2004 11 sept. 2003 à 12:03
je ne mattendais pas a voir le ficheir dbconnect comme ca, mais il me parit bon ce qui me laisse un peu reflechir cést le fait de ne pas trouver la requete sur ton code, car sur le code il ouvre bien qq chose avec l'instruction
objRS.Open "offrefr", objConn,3,3
verifie si sur la base de données il y a une requete aui s'appele offrefr, je pense qu'elle doit etre sur la base sinon je ne sais pas dou elle peut venir!!
cs_Cento
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention17 septembre 2003 11 sept. 2003 à 12:26
Le problème, c'est que access ne veut pas ouvrir la base de données. Je n'ai pu que l'ouvrir par excel en passant par msQuery. Là je vois bien qu'il y a trois tables dont offrefr
Si j'affiche l'interrogation SQL ça me donne ça :
SELECT offrefr.IDoffre, offrefr.ref, offrefr.date, offrefr.domaine, offrefr.poste, offrefr.lieu, offrefr.durée, offrefr.détail
FROM offrefr offrefr
ORDER BY offrefr.IDoffre DESC
(en passant par Query, j'ai demandé à ce que ça soit ordonnés par IDoffre desc)
Mais je ne m'y connais pas plus en ms Query qu'en access
Vous n’avez pas trouvé la réponse que vous recherchez ?
omaroch
Messages postés33Date d'inscriptionlundi 1 septembre 2003StatutMembreDernière intervention 6 janvier 2004 11 sept. 2003 à 13:46
est ce que ta essayé d'enlever DESC car si tu ne met rien il te sort les données dans lordre dans lequel il sont rentré du dernier au premier, si ca ne marche pas on pourra bidouller autre chose.
si ta un bouquin asp cherche si tu peux lire le recordset depuis la fin c a dire dans le sens inverse, je pense que tu peut faire objRS.MoveLast et la ca tenvoi vers le dernier enregistrement et de la tu commence a afficher dans le sens contraire de celui que tu actuellement donc ca te donnera lórdre inverse de ce que tá mtn!!
En ce qui concerne MoveLast, en fait moi j'avais essayé avec MovePrevious et ça ne fonctionnait pas (je n'avais que la première entrée qui s'affichait, puis un message d'erreur)
Sinon je n'ai pas de bouquin d'asp ce qui complique encore plus ma tache
omaroch
Messages postés33Date d'inscriptionlundi 1 septembre 2003StatutMembreDernière intervention 6 janvier 2004 11 sept. 2003 à 15:41
bon la bidouille que je te propose mtn cést dimserer sur la BD un champ de numero automatique qui se sera incremeter a chaque fois que tu fais un enregistrement sur ta base et puis par la suite tu fais
ORDER BY num DESC
et la tu es sur davoir ton ordre decroissant du nouveau a l'ancien
courage tu vas y arriver ;)
omaroch
Messages postés33Date d'inscriptionlundi 1 septembre 2003StatutMembreDernière intervention 6 janvier 2004 11 sept. 2003 à 16:48
ca mettonerai que ce soit ca je sais pas au fait ca depend du num qui est affiché, est ce que quqnd tu fais un nouvel enregistrement est ce que cést toi qui fait rentrer le IDoffre ou bien ca se fait automatiquement !!
si c automatique dans ce cas envoi moi ta base de données pour que je puisse y jeter un ptit coup doeil ok voici mon adress mail
omaroch@hotmail.com
omaroch
Messages postés33Date d'inscriptionlundi 1 septembre 2003StatutMembreDernière intervention 6 janvier 2004 11 sept. 2003 à 19:47
bon je viens de voir ta base de données et puis le IDoffre est bien un num automatique et donc jai tester dajouter un nouvel enregistrement et ca incremente bien et jqi testé aussi ta requete et ca me ressort dans lordre decroissant de IDoffre. donc tt marche, je ne sais pas dans quel ordre tu veux les faire sortir!!! et quand je met rien ca me sort lordre croissant
avec cette requette
SELECT offrefr.IDoffre, offrefr.ref, offrefr.date, offrefr.domaine, offrefr.poste, offrefr.lieu, offrefr.durée, offrefr.détail
FROM offrefr AS offrefr;
ORDER BY offrefr.IDoffre DESC
jobtient ca:
IDoffre ref date
50 sza 03/12/03(mon test dinsert°)
49 AD005 MARS
48 ADOO4 MARS
47 AD003 MARS
46 XT.02.03 1er Trim. 2003
44 03-DO-D-03-003 1er trimestre 2003
40 03-DO-D-016 1er trimestre 2003
38 03-DO-D-03-002 Au plus tôt
5 03.DO.D.003 Au plus tôt
donc moi je ne sais pas si c ca que tu veux obtenir ou bien si c ca que tu obtient et que tu ne veux pas donc tiens moi au courant
au fait ta base elle souvre avec un access XP si ta un 97 ca marche pas:-)
cs_Cento
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention17 septembre 2003 12 sept. 2003 à 12:10
C'est bien ça que je veux obtenir, il faut que les nouvelles entrées se mettent au début comme dans ton test.
Alors qu'est-ce qu'il faut que je fasse pour que ça s'affiche comme ça sur la page des offres puisque je ne peux rien faire à partir d'access (effectivement c'est access 97 que je dois avoir.)
cs_Cento
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention17 septembre 2003 12 sept. 2003 à 12:45
Et attends, il y a un autre problème (en dehors du fait que les pages offres_fr.asp et offres_us.asp ne s'affichent plus sur le site sur lequel je bosse) c'est qu'en comparant la base de données sur laquelle on travaille et les données qui sont affichées sur le site, on se rend compte que ce ne sont pas les mêmes. Et pourtant j'ai downloadé la BDD du ftp.
omaroch
Messages postés33Date d'inscriptionlundi 1 septembre 2003StatutMembreDernière intervention 6 janvier 2004 12 sept. 2003 à 13:35
bonjai rien compris a ton dernier message cést pas grave je reponds d'abord au premier:
la solution a suivre est d'inserer la requte sql sur ta page directement essaye de faire ca:--->
<%
Dim objRS
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open "SELECT offrefr.IDoffre, offrefr.ref, offrefr.date, offrefr.domaine, offrefr.poste, offrefr.lieu, offrefr.durée, offrefr.détail FROM offrefr AS offrefr ORDER BY offrefr.IDoffre DESC", objConn,3,3
Do While Not objRS.EOF
%>
et tu me dis si ca marche et puis expliaue mieux ton dexieme prob car jai rien compris;-)
cs_Cento
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention17 septembre 2003 12 sept. 2003 à 15:02
Bon j'ai remplacé le code par celui que tu m'as donné mais je ne peux pas vérifier si ça fonctionne car j'ai un message d'erreur avec entre autre :
Type d'erreur :
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié
/fr/dbconnect.asp, line 16
C'est ça que je te disais ds le message précédent, c'est que la page offres_fr.asp ne s'affichait pas.
Et je te disais aussi que la base de données access que j'ai sur mon pc et que je t'ai envoyé ne contient pas les mêmes données que celles qui s'affichaient ds le tableau sur la page offres_fr.asp quand celle-ci voulait bien s'afficher, alors que la base de données sur laquelle on travaille est censé être la même que celle du serveur ftp.
omaroch
Messages postés33Date d'inscriptionlundi 1 septembre 2003StatutMembreDernière intervention 6 janvier 2004 12 sept. 2003 à 15:22
je pense que la connection de la base de donnes ne se fait pas sur ta base de données elle se fait sur une autre qui se trouve sur un autre serveur je pense je ne suis pas si sure donc ce que va faire cést que tu enleve la partie include dbconnect.asp sur ta page et tu la remplace par le code suivant:
<%
DSN_BASE = "DBQ=" & Server.Mappath("db1.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"%>
<%
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.open DSN_BASE
%>
et tu laisse la requete inseré ds le code comme je t montré, attention la BD doit etre ds le meme repertoir que ta page asp. si ca ne donne rien envoi moi tt sur ma boite mail ou bien tu l'ajoute ici sur le site comme une source et tu me donne ensuite ladresse pour aller la chercher come ca je te ferai les modif necessaire pr que ca marche ok
a+
cs_Cento
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention17 septembre 2003 12 sept. 2003 à 17:56
Là ça me met ce message d'erreur :
Informations techniques (destinées au personnel du Support technique)
Type d'erreur :
Erreur d'exécution Microsoft VBScript (0x800A01F4)
Variable non définie: 'DSN_BASE'
/fr/offres_fr2.asp, line 4
Type de navigateur :
Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Crazy Browser 1.0.5)
Page :
GET /fr/offres_fr2.asp
Qu'est-ce que tu veux que je te donne exactement comme source ? Parce que c'est qd même un site professionnel qui m'appartient pas et je voudrais pas non plus en faire de trop.
J'ai créé une page offres_fr2.asp pour ces tests :
<%
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.open DSN_BASE
%>
<%
Dim objRS
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open "SELECT offrefr.IDoffre, offrefr.ref, offrefr.date, offrefr.domaine, offrefr.poste, offrefr.lieu, offrefr.durée, offrefr.détail FROM offrefr AS offrefr ORDER BY offrefr.IDoffre DESC", objConn,3,3
Do While Not objRS.EOF
%>
Si cette offre vous intéresse,
notez la référence et cliquez sur le bouton "Postuler"
[emploi_fr.htm ] [emploi_fr.htm Page précédente]
</html>
Tiens, je viens de me rendre compte qu'aucune page .asp du site ne fonctionne. C'est toujours la même erreur qui est affichée :
Type d'erreur :
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié
/_private/dbconnect.asp, line 16
omaroch
Messages postés33Date d'inscriptionlundi 1 septembre 2003StatutMembreDernière intervention 6 janvier 2004 15 sept. 2003 à 19:26
dsl pr le retard jai pas eu le temps de repondre plutot
bon concernat la premiere erreur il faut que tu enleve les 2 premieres ligne de ton code:
<%@ Language=VBScript %>
<% Option Explicit %>
et normalement ca devrait marcher je l'ai testé chez moi et ca tourne.
pour la seconde erreur si je vois que la source de la page dbconnect.asp et dans _private enleve la de private et met la dans le mme repertoire aue les autres pages asp. sinon pour ne pas te faire chier avec ce fichier tu ajoute dans chaque page asp le contenu de la page dbconnect et ca doit fonctionner ok allé bon courage
cs_Cento
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention17 septembre 2003 16 sept. 2003 à 12:07
Non, cela non plus ne fonctionne pas (envoie moi le code entier stp, au cas où j'aurais fait une erreur)
Pour la page dbconnect.asp il y en a une dans chaque répertoire.
Sinon j'ai pensé à quelque chose, mais je sais pas si c'est possible. Il faudrait que je me procure access 2000. Est-ce qu'il y aurait la possibilité en ouvrant la base de données avec access 2000 que j'ai la possibilité de modifier quelque chose directement dedans, l'enregistrer et la rebalancer sur le serveur.
La requête en elle-même doit être ds la base de données.
omaroch
Messages postés33Date d'inscriptionlundi 1 septembre 2003StatutMembreDernière intervention 6 janvier 2004 16 sept. 2003 à 23:03
je ne sais pas pq ca ne fonctionne pas chez toi car chez moi ca mache nikel avec ce que je t doné comme indication mais bon je vais te filer le code et puis tu me dira ce que ca te donne:
<%
Dim objRS
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open "SELECT offrefr.IDoffre, offrefr.ref, offrefr.date, offrefr.domaine, offrefr.poste, offrefr.lieu, offrefr.durée, offrefr.détail FROM offrefr AS offrefr ORDER BY offrefr.IDoffre DESC", objConn,3,3
Do While Not objRS.EOF
%>