Bonjour,
je m'occupe d'un nouvelle version d'un site internet qui comprend une boutique. J'ai intégré le dossier boutique de l'ancien site, qui fonctionnait parfaitement, vers le nouveau. Et la patatra, évidement.
Alors cette erreur, que j'ai trouvé sur le net, est assez connue, malheureusement personne ne donne la réponse, juste un :" c bon j'ai trouvé merci a plus". En fait beaucoup on eu cette erreur puisque les developpeur de ma boite avait "piqué" le code sur le net, dans un tuto.
J'en viens à l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
[FONT=verdana] Erreur d'exécution Microsoft VBScript (0x800A000D)
Type incompatible: 'Temp'
/SUA-V2/boutique/addcaddie.asp, line 19[/FONT]
Je vous montre la ligne 19 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Temp(0,Session("Item"))=request.querystring("num") 'Numéro du produit
et le fichier addcaddie.asp qui est appelé lors que l'on clique sur un caddie pour selectionner le produit :
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
<%@ Language=VBScript %>
<%
 
Temp=Session("Caddy")
'If IsObject(Session("boutique_conn")) Then
'    Set conn = Session("boutique_conn")
'Else
    Set conn = Server.CreateObject("ADODB.Connection")
    ' chaine de connexion avec DSN
    conn.ConnectionString ="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.MapPath("../Data") & "/Boutique.mdb" 
    conn.open
'    Set Session("boutique_conn") = conn
'End If
 
    sql = "SELECT *  FROM produits  WHERE (produits.Id_prod)="&Request.QueryString("Num")
    Set rs1 = Server.CreateObject("ADODB.Recordset")
    rs1.Open sql, conn, 3, 3
    rs1.movefirst
       Temp(0,Session("Item"))=request.querystring("num") 'Numéro du produit
    Temp(1,Session("Item"))=rs1.Fields("Titre_prod").value 'Titre du produit
    Temp(2,Session("Item"))=1 'Quantité du produit    
    if rs1.fields("PrixHTprom_prod")=0 then
    Temp(3,Session("Item"))=rs1.fields("prixht_prod").value
    else
    Temp(3,Session("Item"))=rs1.fields("prixhtprom_prod").value
    end if
    Temp(4,Session("Item"))=rs1.fields("PoidsExact_Prod").value
    Session("Caddy")=Temp
    Session("Item")=Session("Item")+1
    rs1.close
conn.close
response.redirect "caddie.asp" %>
 
<html>
<head>
<title>Ajouter un produit au caddie</title>
</head>
<body>
</body>
</html>
A priori l'erreur serait dans le fichier global.asa, que je n'ai pas touché depuis l'ancien site. Je vous le mets en copie :
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
 
'Vous pouvez ajouter à ce fichier des gestionnaires d'événements spéciaux qui s'exécutent automatiquement en cas d'événements de page ASP. Pour créer ces gestionnaires, il suffit de créer une sous-routine en choisissant dans la liste ci-dessous le nom qui correspond à l'événement que vous souhaitez utiliser. Par exemple, pour créer un gestionnaire d'événements pour Session_OnStart, placez le code suivant dans ce fichier (sans les commentaires) :
 
'Sub Session_OnStart
'**Placez votre code ici **
'End Sub
 
'EventName              Description
'Session_OnStart        S'exécute la première fois qu'un utilisateur utilise une page de votre application
'Session_OnEnd          S'exécute en cas de dépassement du délai de la session d'un utilisateur ou quand celui-ci quitte votre application
'Application_OnStart    S'exécute une fois lorsque la première page de votre application est utilisée pour la première fois par un utilisateur
'Application_OnEnd      S'exécute une fois lors de l'arrêt du serveur Web
 
</SCRIPT>
 
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Application_OnStart
'CHAT**********************CHAT**********************CHAT**********************CHAT**********************
    Dim Stats(100)
    Application( "Stats" ) = Stats
    Application("Connect") = 0
 
    dim num
    Application("Indice")=0
    Application("Arret")=0
    Application("AJoueur")=0
    Application("Compte")=0
 
    Dim Conversation(100)
    Dim Connecte(100)
    Dim ConvJoueur(200,2)
    Dim ConvJoueurHisto(500,2)
    Application("Talk")=Conversation
    Application("Lobby")=0
    Application("TJoueur")=ConvJoueur
    Application("LJoueur")=0 
    Application("TJoueurHisto")=ConvJoueurHisto
    Application("LJoueurHisto")=0
 
 
 
 
'CHAT**********************CHAT**********************CHAT**********************CHAT**********************
 
 
Application ("visiteur")=0
END SUB
</SCRIPT>
 
 
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Application_OnEnd
 
END SUB
</SCRIPT>
 
 
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Session_OnStart
Application.lock
Application("visiteur")=Application("visiteur") + 1
Application.unlock
 
Session.Timeout = 120
Session("ForumUtil") = 0
Session("ConcoursUtil") = 0
 
Redim Cad (10,10)
Session("Caddy")=Cad
Session("Item")=0
Session("Devise")=3
Session("Pays")=2
Session("Avoir")=0
Session("Remise")=0
Session("TVA")=0.196
 
'CHAT**********************CHAT**********************CHAT**********************CHAT**********************
 
 
Session("Start") = Now
 
'CHAT**********************CHAT**********************CHAT**********************CHAT**********************
 
END SUB
</SCRIPT>
 
 
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
 SUB Session_OnEnd
Application.lock
if Application("visiteur")>0 then
Application("visiteur")=Application("visiteur") - 1
else
Application("visiteur")=0
end if
Application.unlock
 
 
 
'CHAT**********************CHAT**********************CHAT**********************CHAT**********************
 
    Match = 1
    Match = Match + 1
    CMatch = 1
    CMatch = CMatch + 1
    Application.Lock
    localStats = Application( "Stats" )
 
For i = 0 to UBOUND( localStats)
    If localStats(0) = Session("ID") THEN
        localStats(0)=""
        exit for    
    End If
NEXT
 
    Application( "Stats" ) = localStats
    Application.UnLock
 
'CHAT**********************CHAT**********************CHAT**********************CHAT**********************
 
 END SUB
</SCRIPT>
N'importe quelle idée, piste est la bienvenue, je suis complétement perdu !