Salut tout le monde,
j ai la procedure stockee 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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
create proc T_Proc
@D1 datetime,
@D2 datetime,
@C1 int,
@C2 int,
@F1 int,
@F2 int,
@G1 int
as
 
Declare @k varchar(255)
 
if (@D1 is null)  set  @D1='01/01/1900'
if (@D2 is null)  set  @D2=getdate()
if (@C1 is null)  set  @C1='000000000'
if (@C2 is null)  set  @C2='999999999'
 
 
if (@G1=1)
begin
if (@C1 is null)  set  @F1='000000000'
if (@C2 is null)  set  @F2='999999999'
set @k=' and Dossier.Code_Form between  @F1 and @F2   and  Dossier.code_form <> 5 '
end
else
begin
set @F1=5
set @F2=5
set @k=' and Dossier.Code_Form between  @F1 and @F2 '
 
end
 
 
 
 
SELECT 
  Dossier.Num_Dos,
  Dossier.Typ_Dos,
  Dossier.Dat_Dos,
  Dossier.LTA,
  Dossier.cle,
  Dossier.Date_DUM,
  Dossier.Date_Arv,
  Dossier.Code_fou,
  Dossier.Assur,
  Dossier.Import,
  Dossier.Fact,
  Dossier.Ref1,
  Dossier.Ref2,
  Dossier.Code_AVC,
  Dossier.Code_regim,
  Dossier.Nom_Exp,
  Dossier.Ville_Exp,
  Dossier.Tel_Exp,
  Dossier.Fax_Exp,
  Dossier.Email_Exp,
  Dossier.Activ_Exp,
  Dossier.Pays_Exp,
  Dossier.GSM,
  Dossier.Val_Dec,
  Dossier.Num_Dum,
  Dossier.site_web,
  Dossier.Code_Form,
  Dossier.CIN_ADV,
  Dossier.NUM_CHICAYA,
  Dossier.DATE_IDAA,
  Dossier.PALA_IDAA,Dossier.CLOT,
  fOURNISSEUR.Nam_Soc,
  Forme_Juridiq.Libelle,
  Avocat.Libelle,  Regime.Libelle AS MAH
FROM
  Dossier
  INNER JOIN Forme_Juridiq ON (Dossier.Code_Form = Forme_Juridiq.Code_Form)
  INNER JOIN Avocat ON (Dossier.Code_AVC = Avocat.Code_AVC)
  INNER JOIN Dos_Cli ON (Dossier.Num_Dos = Dos_Cli.Num_Dos)
  INNER JOIN Regime ON (Dos_Cli.Code_MAH = Regime.Code_regim)
  INNER JOIN Fournisseur ON (Dossier.Code_fou = Fournisseur.Code_Fou)
where Dossier.Code_fou between @C1 and @C2
and Dossier.Dat_Dos between @D1 and @D2 + @k
 
 
 
 
GO

lors de l 'exection message d erreur impossible de convertir chaine de caracteres en datetime
sachant que j ai utiliser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
if (@D1 is null)  set  @D1=convert (datetime,'01/01/1900',103)
une autre chose quand j execute la procedure en enlevant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
if (@G1=1)
begin
if (@C1 is null)  set  @F1='000000000'
if (@C2 is null)  set  @F2='999999999'
set @k=' and Dossier.Code_Form between  @F1 and @F2   and  Dossier.code_form <> 5 '
end
else
begin
set @F1=5
set @F2=5
set @k=' and Dossier.Code_Form between  @F1 and @F2 '
 
end
la procedure marche tres bien pouvez vous m aider svp