Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/04/2007, 21h33   #1
Membre régulier
 
Inscription : janvier 2006
Messages : 675
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 675
Points : 74
Points : 74
Par défaut appel de fonction :

je rencontre un problème dans l'appel d'une fonction :

je fais : modif(rs(id),rs(nom)) et j'ai l'erreur :

Erreur de compilation Microsoft vb-script (0x800A0414)
L'appel d'une fonction Sub n'admet pas de parenthèses.
/groupe2/stage30/categorie/valide_maj.asp, line 23, column 21


rs est un recordset avec la bdd.

Merci pour votre aide
franfr57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2007, 21h44   #2
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Salut,

ta fonction récupère les valeurs dont tu donne les variables ce qui te donne :
Code :
1
2
3
4
5
<%
function toto(num, chaine,...)
 ton code
end function
%>
"toto" est un exemple tu la nomme comme tu veux

ensuite tu appel ta fonction :
Code :
1
2
3
<%
=toto(Rs("id"),Rs("nom"))
%>
++
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 16h37   #3
Membre Expert
 
Avatar de zooffy
 
Homme Erick OZOUF
Développeur Web
Inscription : août 2004
Messages : 3 383
Détails du profil
Informations personnelles :
Nom : Homme Erick OZOUF
Âge : 42
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2004
Messages : 3 383
Points : 1 331
Points : 1 331
Envoyer un message via MSN à zooffy Envoyer un message via Skype™ à zooffy
en fiat, je pense que c'est jsute un problème de syntaxe : il ne faut pas metre les parametre entre parenthèses, tout simplement et plutôt écrire comme çà :
Code :
1
2
3
4
 
<%
toto Rs("id"),Rs("nom")
%>
A mon avis, çà marche mieux, en tout cas, c'est comme çà que j'ai fait dans mes pages.
zooffy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 18h02   #4
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Salut,

tu plaisantes là ??

si tu me dis que sa passe comme ça alors moi je suis un martien

Code :
1
2
3
<%
toto Rs("id"),Rs("nom")
%>
d'une toto écrit comme tu l'as fait, c'est au pire une variable qu'il attend
et Rs("id"),Rs("nom") ben il te donne a quoi correspond les deux champs cependant tu pourra toujours attendre pour qu'il te l'affiche vue que tu ne demande rien (soit =, soit response.write pour afficher le résultat)


Si je te l'ai écrit comme cela :
Code :
<% =toto(Rs("id"),Rs("nom")) %>
c'est pas pour faire beau

++
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 09h32   #5
Membre Expert
 
Avatar de zooffy
 
Homme Erick OZOUF
Développeur Web
Inscription : août 2004
Messages : 3 383
Détails du profil
Informations personnelles :
Nom : Homme Erick OZOUF
Âge : 42
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2004
Messages : 3 383
Points : 1 331
Points : 1 331
Envoyer un message via MSN à zooffy Envoyer un message via Skype™ à zooffy
Ben non, je ne plaisante pas.

Ensuite, je pense que tu peux modéré un peu le ton de ton message et si moi je te dis que mes fonctions dans mes pages fontionnent sans les parenthèses c'est qu'elles le font, si non, je perdrais rapidement mon boulot à faire des fonctions qui ne .... fonctionnent pas.

Je pense que le message d'erreur que nous donnes franfr57 est assez clair : pas de parenthèses.

Ce que tu présentes toi est pour renvoyer queluchose vers la page, pas pour faire fonctionner une fonction. Aprés il faut voir dans le détail ce que fait la fonction de franfr57.

A ce prpos, franfr57, pourrais tu nouis donner le code de ta fonction, le problème est peut être dedans.
Ou alors nous dire si tu a trouvé une solution.

@+
zooffy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 10h25   #6
Membre régulier
 
Inscription : janvier 2006
Messages : 675
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 675
Points : 74
Points : 74
C'était bien les parenthèses qu'il fallait enlever!

Merci
franfr57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 11h54   #7
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Salut,

J'ai testé par curiosité ta méthode zooffy c'est à dire :

Code :
1
2
3
<%
toto Rs("id"),Rs("nom")
%>
TU SAIS QUOI !? Sa marche pas !!!!!!

Ma page fonctionne mais il ne m'affiche rien du tout, donc la prochaine fois avant de me dire de changer le ton de mon message qui d'ailleurs n'avait rien de méchant au passage

et si je fais :

Code :
1
2
3
<%
=toto Rs("id"),Rs("nom")
%>
Pareil sa ne marche pas il me dit qu'il manque une parenthèse

Tandis que si je fais ce que moi j'ai dis :
Code :
<% =toto(Rs("id"),Rs("nom")) %>
Sa fonctionne nikel

++

PS : Tiens un petit exemple qui n'est pas de moi
Citation:
Code :
1
2
3
4
5
6
7
8
9
10
11
<%
 
Function InStrNb(strString, strValue)
 InStrNb = UBound(Split(strString, strValue))
End Function
 
strChaine = "Bonjour"
strChar = "o"
Response.Write "Nombre de " & strChar & " dans " & strChaine & " : " & InStrNb(strChaine, strChar)
 
%>
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 12h07   #8
Membre régulier
 
Inscription : janvier 2006
Messages : 675
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 675
Points : 74
Points : 74
Vraiment bizarre ar moi cela ne fonctionne aussi que sans parenthèse ^^
franfr57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 16h36   #9
Membre Expert
 
Avatar de zooffy
 
Homme Erick OZOUF
Développeur Web
Inscription : août 2004
Messages : 3 383
Détails du profil
Informations personnelles :
Nom : Homme Erick OZOUF
Âge : 42
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2004
Messages : 3 383
Points : 1 331
Points : 1 331
Envoyer un message via MSN à zooffy Envoyer un message via Skype™ à zooffy
En relisant la FAQ, j'ai trouvé çà, c'est cool comme la FAQ peut offrir de bonnes réponses.....

http://asp.developpez.com/faq/?page=divers#erreur_sub

Parce que en fait, appeller une fonction et faire un response.write, çà n'a rien à voir.

J'espère que çà répondra définitivement à ton problème.
zooffy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 21h36   #10
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Salut,

En fait, tout dépend du response.write où tu le met apparemment puisse que dans une de mes fonctions j'avais mis response.write à l'interieur et à l'appel j'avais mis = et j'ai essayé sans le = et ni les parenthèse cela fonctionne.

Cependant, s'il l'on enleve le response.write à l'interieur de la fonction vaut mieux mettre les parenthèse

++
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h06.


 
 
 
 
Partenaires

Hébergement Web