Bonjour,

je vais essayer d'être clair

Je cherche à faire une requête dans un table avec quelques conditions, le problème n'est pas là, mais je voudrais faire une sélection entre deux dates choisies par le visiteur qui parti d'un formulaire et d'un script en ASP.

j'ai créé une vue SQL qui fait bien le boulot mais depuis mon script en asp, je ne peux appeller cette vue en lui passant les deux dates en paramètres. J'ai donc lu qu'il fallait faire une fonction.

j'ai donc créé la fonction suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
 
-- =============================================
-- Author:		PVH
-- Create date: 
-- Description:	
-- =============================================
FUNCTION pg2 
(	
	-- Add the parameters for the function here
	@p1 char, 
	@p2 char
)
RETURNS TABLE 
AS
RETURN 
(
	-- Add the SELECT statement with parameter references here
SELECT COUNT(dbo.dossiers.id) AS total, dbo.dossiers.gestionnaire, dbo.users.nom, dbo.users.prenom, dbo.dossiers.quand FROM dbo.dossiers LEFT OUTER JOIN dbo.users ON dbo.dossiers.gestionnaire = dbo.users.iduser GROUP BY dbo.dossiers.gestionnaire, dbo.dossiers.cloturee, dbo.users.nom, dbo.users.prenom, dbo.dossiers.quand HAVING (dbo.dossiers.cloturee = 0) AND (dbo.dossiers.quand >= CONVERT(DATETIME, '@p1 00:00:00', 102)) AND (dbo.dossiers.quand <= CONVERT(DATETIME, '@p2 00:00:00', 102)))
Alors maintenant, je me demande comment l'utiliser !

J'essaie en me mettant dans un éditeur de query de lancer des commandes du genre

select * from pg2('2007-12-31','2007-01-01') mais rien à faire que des messages d'erreurs diverses, je pense que je ne l'utilise pas correctement mais justement, comment on fait ?

Patrick