Dans ta procédure stockée, les paramètres obligatoires doivent être déclarés avant les paramètres optionnels. Or, @Debut et @Fin sont obligatoires car sans valeur par défaut alors que les autres sont optionnels, puisqu'ils ont une valeur par défaut. Lorsque tu invoques ta procédure stockée côté VBA en ne renseignant comme paramètres que les dates bornes de la période, tu les passes en fait aux paramètres @VACATION_STS_ACTIVE et @VACATION_STS_PAUSED (les deux premiers de la proc) qui sont de type int, d'où le message d'erreur de conversion d'un datetime en int...
Je me pose la question de ces paramètres optionnels. J'ai l'impression que ce sont en fait des variables internes à la proc (vu leurs valeurs), et pour moi, elles ne devraient pas être déclarées en paramètres, mais bien en variables.
Code SQL : 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 CREATE PROCEDURE [dbo].[SP_PlanTri_TPGD_V2] -- Add the parameters for the stored procedure here @debut Date, @fin Date AS DECLARE @VACATION_STS_ACTIVE Int = 0x00000001 , -- Vacation active @VACATION_STS_PAUSED Int = 0x00000002 , -- Vacation suspendue @VACATION_STS_STOPPING Int = 0x00000004, -- Vacation en cours d'arrêt @VACATION_STS_ARCHIVED Int = 0x00000008, -- Vacation archivée @EVENT_TYPE_INJECTION Int = 0 , -- Injection @EVENT_TYPE_SORTING Int = 2 , -- Tri @EVENT_TYPE_REJECT Int = 34 ,-- Rejet @systemNum int ='0' -- plan de tri TPGD BEGIN -- Ici, le code de ta proc END
Partager