38 messaggi dal 04 marzo 2012
Premesso che il programma non l'ho fatto io ed è un po' vecchio ASP 2 con VBSCRIPT provo a riportare il problema spero che qualcuno mi possa rispondere.
Il programma estrae i movimenti di vendita e quelli di acquisto in due rs separati ad ogni record di vendita legge i relativi di acquisto per fare dei conteggi.
Il fatto sta che ad un certo punto il programma termina con il seguente errore:
ADODB.Field error '800a0bcd'
Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.
analisi.asp, line 362

Mi sembra di capire, ma non ne sono certo che il recordset DA (acquisti) non abbia record come in effetti è per quell'articolo non ci sono acquisti. Non so se è quello l'errore ma come posso fare a risolvere il problema?

Altra cosa, come posso mettere il debug per controllare passo per passo? quando lo lancio Visual Stuido Web developer 2008 mi da il seguente errore:
Questo tipo di pagina non è disponibile.

Descrizione: Il tipo di pagina richiesto non è disponibile perché l'amministratore non ha specificato un gestore o perché è stato vietato l'accesso a questo tipo di pagina in modo esplicito. L'estensione '.asp' potrebbe non essere corretta. Verificare l'URL riportato sotto e assicurarsi che sia digitato correttamente.

<%@Language="VBSCRIPT" CodePage="65001"%>
<% 'response.expires = 900 %>
<%
' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers=""
MM_authFailedURL="../noaccess.asp"
MM_grantAccess=false
If Session("MM_Username") <> "" Then
If (true Or CStr(Session("MM_UserAuthorization"))="") Or _
(InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
MM_grantAccess = true
End If
End If
If Not MM_grantAccess Then
MM_qsChar = "?"
If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
MM_referrer = Request.ServerVariables("URL")
if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
Response.Redirect(MM_authFailedURL)
End If
%>

<link href="../style.css" rel="stylesheet" type="text/css" />

<!--#include file="db_analisimargine.asp" -->
<!--#include file="funzioni.asp" -->

<%
Dim rsMovimentiLotti__find_articolo
rsMovimentiLotti__find_articolo = Request.QueryString("ART1")
If (rsMovimentiLotti__find_articolo = "") Then
rsMovimentiLotti__find_articolo = "**TUTTI**"
End If


Dim selezione_dal
Dim Century
selezione_dal = "%"
If (Request.QueryString("DAL") <> "") Then
Century = "20"
selezione_dal = Century & right(Request.QueryString("DAL"),2) & mid(Request.QueryString("DAL"),4,2) & left(Request.QueryString("DAL"),2)
End If

Dim selezione_al
selezione_al = "%"
If (Request.QueryString("AL") <> "") Then
Century = "20"
selezione_al = Century & right(Request.QueryString("AL"),2) & mid(Request.QueryString("AL"),4,2) & left(Request.QueryString("AL"),2)
End If

Session("data_from") = Request.QueryString("DAL")
Session("data_to") = Request.QueryString("AL")


'******* ELENCO LOTTI VENDUTI

Dim CodCliente
Dim UMven
Dim UMacq
Dim PrVendita

Dim GTotaleQta
Dim GTotaleVenduto
Dim GTotaleAcquistato
Dim GTotaleVendutoNetto
Dim GTotaleAcquistatoNetto

'nuovo calcolo valore acquistato
Dim GTotaleAcquistato_new

Dim NCcarico(100)
Dim NCcarico_count

NCcarico_count = 0

Dim DH 'DatawareHouse analisi margine vendite
Dim DH_cmd
Dim DH_numRows

Set DH_cmd = Server.CreateObject ("ADODB.Command")
DH_cmd.ActiveConnection = MM_DH_STRING

Dim DA 'DatawareHouse analisi margine acquisti
Dim DA_cmd
Dim DA_numRows

Set DA_cmd = Server.CreateObject ("ADODB.Command")
DA_cmd.ActiveConnection = MM_DH_STRING


'definisco la select per filtrare i dati
Dim SQLSelect
Dim SQLFrom
Dim SQLCliFo
Dim SQLWhere
Dim SQLVenduti

'selezione campi ************
SQLSelect = "SELECT *"

'from ************
SQLFrom = " FROM MOVIME"

'costruzione filtro clienti
If Request.QueryString("COD_CLI") <> "" Then
CodCliente = Request.QueryString("COD_CLI")
Else
CodCliente = "%"
End If
SQLCliFo = " AND (CODCLIFO Like '" & CodCliente & "')"

'selezione per tutti - italia - estero
If Request.QueryString("CTY") = "I" Then
SQLCliFo = SQLCliFo + " AND (NAZIONE = ' 0')"
End If
If Request.QueryString("CTY") = "E" Then
SQLCliFo = SQLCliFo + " AND (NAZIONE <> ' 0')"
End If

'SQLWhere = " WHERE ("

'selezione per data ************
'SQLWhere = SQLWhere + "(DATAPROT >= '" & selezione_dal & "' AND DATAPROT <= '" & selezione_al & "')"
SQLDateVen = " WHERE ((DATAPROT >= '" & selezione_dal & "' AND DATAPROT <= '" & selezione_al & "') AND TIPOMOV <>'A'" ' AND TIPOPROT <>'NC' "
SQLDateAcq = " WHERE ((DATAPROT <= '" & selezione_al & "') AND TIPOMOV ='A' "

'articolo
If Request.QueryString("ART1") <> "" Then
SQLWhere = SQLWhere + " AND (CODICE>='" & Request.QueryString("ART1") & "' AND CODICE<='" & Request.QueryString("ART2") & "')"
End If

'gruppo merceologico
If Request.QueryString("GM1") <> "" Then
SQLWhere = SQLWhere + " AND (GRUPPOMERC >='" & Left(Request.QueryString("GM1"),3) + Right(Request.QueryString("GM1") ,3) & "' AND GRUPPOMERC<='" & Left(Request.QueryString("GM2"),3) + Right(Request.QueryString("GM2") ,3) & "')"

End If

'esclusi gruppo merceologico
If Request.QueryString("GM4") <> "" Then
SQLWhere = SQLWhere + " AND (GRUPPOMERC NOT IN (SELECT COMPLETO FROM PAGLIARA.dbo.GRUPMERC WHERE PAGLIARA.dbo.GRUPMERC.COMPLETO > ='" & Left(Request.QueryString("GM3"),3) + Right(Request.QueryString("GM3") ,3) & "' AND PAGLIARA.dbo.GRUPMERC.COMPLETO<='" & Left(Request.QueryString("GM4"),3) + Right(Request.QueryString("GM4") ,3) & "'))"

End If

'marchio
If Request.QueryString("MA1") <> "" Then
SQLWhere = SQLWhere + " AND (MARCHIO >='" & Request.QueryString("MA1") & "' AND MARCHIO<='" & Request.QueryString("MA2") & "')"
End If

'esclusi marchio
If Request.QueryString("MA3") <> "" Then
SQLWhere = SQLWhere + " AND (MARCHIO NOT IN (SELECT MARCHIO FROM PAGLIARA.dbo.TMARCHI WHERE PAGLIARA.dbo.TMARCHI.MARCHIO > ='" & Request.QueryString("MA3") & "' AND PAGLIARA.dbo.TMARCHI.MARCHIO <='" & Request.QueryString("MA4") & "'))"
End If

'agente
SQLWhereVen = SQLWhere
If Request.QueryString("AG1") <> "" Then
SQLWhereVen = SQLWhereVen + " AND (AGENTE >='" & Request.QueryString("AG1") & "' AND AGENTE <='" & Request.QueryString("AG2") & "')"
End If

'magazzino
If Request.QueryString("MAG") <> "" Then
SQLWhereVen = SQLWhereVen + " AND (MAGAZZINO ='" & Request.QueryString("MAG") & "')"
End If

'magazzino escluso
If Request.QueryString("MAGE") <> "" Then
SQLWhereVen = SQLWhereVen + " AND (MAGAZZINO <>'" & Request.QueryString("MAGE") & "')"
End If

'solo le vendite
'SQLWhere = SQLWhere + " AND (TIPO <>'" & Request.QueryString("MAGE") & "')"

SQLWhereVen = SQLWhereVen + SQLClifo + ")"
SQLWhereAcq = SQLWhere +")"
'SQLSelect = SQLSelect

'order by
SQLSelectVen = SQLSelect + SQLFrom + SQLDateVen + SQLWhereVen + " ORDER BY CODICE, DTCREAZLOTTO, LOTTO, TIPOMOV, MAGAZZINO, DATAPROT"
SQLSelectAcq = SQLSelect + SQLFrom + SQLDateAcq + SQLWhereAcq + " ORDER BY CODICE, DTCREAZLOTTO, LOTTO, TIPOMOV, MAGAZZINO, DATAPROT"


DH_cmd.CommandText = SQLSelectVen
DA_cmd.CommandText = SQLSelectAcq

'response.Write(SQLSelectAcq)

Set DH = DH_cmd.Execute
DH_numRows = 0

Set DA = DA_cmd.Execute
DA_numRows = 0

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Analisi margine - Pagliara - dal <%=Request.QueryString("DAL") %> al: <%= Request.QueryString("AL") %></title>
</head>
<body>
<p>

<!----- INIZIO ANALISI ----->

<%
Dim i
Dim magazzino_corrente
Dim articolo_corrente
Dim lotto_corrente
Dim causale_corrente

Dim magazzino_successivo
Dim lotto_successivo
Dim articolo_successivo

'variabili per lotto
Dim somma_quantita_causale
Dim somma_riga_causale
Dim media_prnetto_causale_acquisto
Dim media_prnetto_causale_vendita
Dim media_prlordo_causale_acquisto
Dim media_prlordo_causale_vendita

Dim contatore_righe_causale
Dim margine_riga
Dim ricarico_riga

Dim somma_riga_lotto_acquisti
Dim somma_riga_lotto_vendite
Dim somma_quantita_lotto_acquisti
Dim somma_quantita_lotto_vendite

Dim margine_lotto
Dim ricarico_lotto

'variabili per articolo
Dim somma_quantita_articolo_acquisto
Dim somma_quantita_articolo_vendita
Dim somma_riga_articolo_acquisto
Dim somma_riga_articolo_vendita

Dim media_prnetto_articolo_acquisto
Dim media_prnetto_articolo_vendita

Dim media_prlotto_articolo_acquisto
Dim media_prlotto_articolo_vendita

Dim margine_articolo
Dim ricarico_articolo

'variabili per riga di vendita per nuovo calcolo valore acquistato
Dim val_acquistato
Dim margine_articolo_new
Dim ricarico_articolo_new


'variabili per magazzino
Dim margine_magazzino
Dim ricarico_magazzino

i = 1

'intestazione e riepilogo filtri attivi
%>
<table width="1063"><tr><td><h1>Analisi del Margine - Pagliara</h1></td></tr></table>
<br />
<table width="1063"><tr><td width="80%">
<strong>Cliente</strong>:
<% If CodCliente="%" Then%>Tutti<% Else %><%=CodCliente%><%End If%><br />
Dal <%=Request.QueryString("DAL") %> al <%=Request.QueryString("AL") %> <br />
Articolo: <% If Request.QueryString("ART1") <> "" Then %> da <%=Request.QueryString("ART1") %> a <%=Request.QueryString("ART2")%><% Else %>Tutti<% End If%><br />
Gruppo merceologico incluso: <% If Request.QueryString("GM1") <>"" Then %> da <%=Request.QueryString("GM1") %> a <%=Request.QueryString("GM2") %><%Else%>Tutti<%End If%><br />
Gruppo merceologico escluso: <% If Request.QueryString("GM3") <>"" Then %> da <%=Request.QueryString("GM3") %> a <%=Request.QueryString("GM4") %><%Else%>Tutti<%End If%><br />
Marchio incluso: <% If Request.QueryString("MA1") <>"" Then %> da <%=Request.QueryString("MA1") %> a <%=Request.QueryString("MA2") %><%Else%>Tutti<%End If%><br />
Marchio escluso: <% If Request.QueryString("MA3") <>"" Then %> da <%=Request.QueryString("MA3") %> a <%=Request.QueryString("MA4") %><%Else%>Tutti<%End If%><br />
Agente: <% If Request.QueryString("AG1") <>"" Then %> da <%=Request.QueryString("AG1") %> a <%=Request.QueryString("AG2") %><%Else%>Tutti<%End If%><br />
Magazzino incluso: <% If Request.QueryString("MAG") <>"" Then %><%=Request.QueryString("MAG") %> <%Else%>Tutti<%End If%><br />
Magazzino escluso: <% If Request.QueryString("MAGE") <>"" Then %><%=Request.QueryString("MAGE") %> <%Else%><%End If%><br />
Stato: <% If Request.QueryString("CTY") = "I" Then %>Italia<% ElseIf Request.QueryString("CTY") = "E" Then%>Estero<% Else %>Tutti<% End If %>
</td><td align="right" valign="top"><a href="analisiexcel.asp?<%=Request.QueryString() %>">Excel</a></td></tr>
</table>

<%
'********** MOVIMENTI DI ACQUISTO *******************

magazzino_corrente = ""
articolo_corrente = ""
lotto_corrente = ""
causale_corrente = ""
GTotaleAcquistato_new =0

GTotaleVendutoNetto = 0
GTotaleAcquistatoNetto = 0


While Not DH.EOF

'testata articolo
If articolo_corrente <> DH.Fields.Item("CODICE").Value Then
articolo_corrente = DH.Fields.Item("CODICE").Value
somma_quantita_articolo_acquisto = 0
somma_quantita_articolo_vendita = 0
somma_quantita_articolo_vendita_noNC = 0

somma_riga_articolo_acquisto = 0
somma_riga_articolo_vendita = 0
somma_riga_articolo_vendita_lordo = 0
somma_riga_articolo_vendita_lordo_noNC = 0

media_prnetto_articolo_acquisto = 0
media_prnetto_articolo_vendita = 0
media_prlotto_articolo_acquisto = 0
media_prlotto_articolo_vendita = 0
val_acquistato = 0
val_acquistato_noNC = 0

descrizione_articolo = DH.Fields.Item("CODICE").Value & " - " & DH.Fields.Item("DESCRIZION").Value
%>
<br /><br />
<table width="1063"><tr><td><p class="titolo_articolo"><%=descrizione_articolo %> </p></td></tr></table>
<br />
<%
End If

'testata lotto
If lotto_corrente <> DH.Fields.Item("LOTTO").Value Then
lotto_corrente = DH.Fields.Item("LOTTO").Value
margine_lotto = 0
ricarico_lotto = 0
somma_quantita_lotto_acquisti = 0
somma_quantita_lotto_vendite = 0
somma_riga_lotto_acquisti = 0
somma_riga_lotto_vendite = 0
End If

'testata magazzino
If magazzino_corrente <> DH.Fields.Item("MAGAZZINO").Value Then
magazzino_corrente = DH.Fields.Item("MAGAZZINO").Value
margine_magazzino = 0
ricarico_magazzino = 0

If Request.QueryString("V") = 1 Or Request.QueryString("A") = 1 Then
%>
<br />
<table ><tr><td>
<p><strong><font color="#000099" style="font-style:italic">LOTTO: <%=DH.Fields.Item("LOTTO").Value %> - Magazzino <%=magazzino_corrente %> - Articolo <%=descrizione_articolo %> </font> </strong></p></td></tr></table>
<%
End If
End If

'INIZIO righe acquisto *************************************************************

somma_quantita_causale = 0
somma_riga_causale = 0
somma_riga_causale_lordo = 0
somma_costi_causale_acquisto = 0
contatore_righe_causale = 0

If Not DA.EOF Then


Do While rtrim(articolo_corrente) & rtrim(lotto_corrente) & rtrim(magazzino_corrente) <> rtrim( DA.Fields.Item("CODICE").Value ) & rtrim(DA.Fields.Item("LOTTO").Value) & rtrim(DA.Fields.Item("MAGAZZINO").Value)

Da.MoveNext

Loop


Do While rtrim(articolo_corrente) & rtrim(lotto_corrente) & rtrim(magazzino_corrente) = rtrim( DA.Fields.Item("CODICE").Value ) & rtrim(DA.Fields.Item("LOTTO").Value) & rtrim(DA.Fields.Item("MAGAZZINO").Value)

'Testata acquisti
If Request.QueryString("A") = 1 And contatore_righe_causale = 0 Then
%>
<h4>Acquisti</h4>
<table border="0" >
<tr class="testa_tabella">
<td width="20">TP</td>
<td width="60">NUMERO</td>
<td width="80">DATA</td>
<td width="200">RAGIONE SOCIALE</td>
<td width="100" align="right">Q.TA'</td>
<td width="90" align="right">PREZZO ¤</td>
<td width="80" align="right">SPESE ¤/KG</td>
<td width="90" align="right">PR.LORDO ¤</td>
<td width="100" align="right">TOTALE ¤</td>
<td width="100"></td>
<td width="100"></td>
</tr>
<%
End If

'*AI* in quanto includo le aperture di inventario prendo il valore caricato a mano nel campo personalizzato

unitami = DA.Fields.Item("UNITAMI").Value

If DA.Fields.Item("USRPRACQAI").Value <> 0 Then
PrezzoSel = DA.Fields.Item("USRPRACQAI").Value
TotaleRigaSel = PrezzoSel * DA.Fields.Item("QUANTITA").Value
Else
PrezzoSel = DA.Fields.Item("EPRNETTO").Value
TotaleRigaSel = PrezzoSel * DA.Fields.Item("QUANTITA").Value
End If

'calcolo prezzi e totali lordi
PrezzoLordoSel = PrezzoSel + DA.Fields.Item("TOT_SPESE_SPLIT").Value
TotaleRigaLordoSel = PrezzoLordoSel * DA.Fields.Item("QUANTITA").Value

GTotaleAcquistatoNetto = GTotaleAcquistatoNetto + (PrezzoSel * DA.Fields.Item("QUANTITA").Value)


'creo l'insieme delle NC che sono usate in carico
If DA.Fields.Item("TIPOPROT").Value = "NC" Then
NCcarico(NCcarico_count) = DA.Fields.Item("NUMERO").Value
NCcarico_count = NCcarico_count + 1
End If


If Request.QueryString("A") = 1 Then
%>
<tr>
<td><%=DA.Fields.Item("TIPOPROT").Value %></td>
<td><%=DA.Fields.Item("NUMEROPROT").Value %></td>
<td><%=Right((DA.Fields.Item("DATAPROT").Value ),2) &"/"& Mid((DA.Fields.Item("DATAPROT").Value ),5,2) &"/"& LEFT((DA.Fields.Item("DATAPROT").Value ),4)%></td>
<td><%=Left(DA.Fields.Item("RAGIONESOC").Value,20) %></td>
<td align="right"><%=unitami %> <%=format2(DA.Fields.Item("QUANTITA").Value) %></td>
<td align="right"><%=format(PrezzoSel)%></td>
<td align="right"><%=format(DA.Fields.Item("TOT_SPESE_SPLIT").Value)%></td>
<td align="right"><%=format(PrezzoLordoSel)%></td>
<td align="right"><%=format2(TotaleRigaLordoSel) %></td>
<td></td>
<td></td>
</tr>
<%
End If

somma_quantita_articolo_acquisto = somma_quantita_articolo_acquisto + DA.Fields.Item("QUANTITA").Value
'somma_riga_articolo_acquisto = somma_riga_articolo_acquisto + TotaleRigaSel
somma_riga_articolo_acquisto = somma_riga_articolo_acquisto + TotaleRigaLordoSel

somma_quantita_causale = somma_quantita_causale + DA.Fields.Item("QUANTITA").Value
somma_riga_causale = somma_riga_causale + TotaleRigaSel
somma_riga_causale_lordo = somma_riga_causale_lordo + TotaleRigaLordoSel

somma_costi_causale_acquisto = somma_costi_causale_acquisto + (DA.Fields.Item("TOT_SPESE_SPLIT").Value * DA.Fields.Item("QUANTITA").Value )

'media_prnetto_causale = media_prnetto_causale + rsMovimentiLottiAcquisto.Fields.Item("EPRNETTO").Value
media_prnetto_causale = media_prnetto_causale + PrezzoSel
media_prlordo_causale = media_prlordo_causale + PrezzoLordoSel
contatore_righe_causale = contatore_righe_causale + 1

'somma_riga_lotto_acquisti = somma_riga_lotto_acquisti + PrezzoSel
somma_riga_lotto_acquisti = somma_riga_lotto_acquisti + PrezzoLordoSel
somma_quantita_lotto_acquisti = somma_quantita_lotto_acquisti + DA.Fields.Item("QUANTITA").Value
'rsMovimentiLottiVendite.Fields.Item("QUANTUMV").Value

media_prnetto_causale_acquisto = round ( somma_riga_causale / somma_quantita_causale, 4)
media_prlordo_causale_acquisto = round ( somma_riga_causale_lordo / somma_quantita_causale, 4)

DA.MoveNext

If Request.QueryString("A") = 1 And (DA.EOF ) Then
%>
<tr bgcolor="#CCCCCC">
<td colspan="4"></td>
<td align="right"><%=unitami %> <%=format2(somma_quantita_causale) %></td>
<td align="right">Ma <%=format(media_prnetto_causale_acquisto) %></td>
<td align="right">¤ <%=format2(somma_costi_causale_acquisto) %></td>
<td align="right">Ma <%=format(media_prlordo_causale_acquisto) %></td>
<td align="right"><%=format2(somma_riga_causale_lordo) %></td>

</tr>
</table>
<%
Exit Do
ElseIf Request.QueryString("A") = 0 And (DA.EOF ) Then
Exit Do
ElseIf Request.QueryString("A") = 1 Then
If(rtrim(articolo_corrente) & rtrim(lotto_corrente) & rtrim(magazzino_corrente) <> rtrim( DA.Fields.Item("CODICE").Value )& rtrim(DA.Fields.Item("LOTTO").Value) & rtrim(DA.Fields.Item("MAGAZZINO").Value) ) Then
%>
<tr bgcolor="#CCCCCC">
<td colspan="4"></td>
<td align="right"><%=unitami %> <%=format2(somma_quantita_causale) %></td>
<td align="right">Ma <%=format(media_prnetto_causale_acquisto) %></td>
<td align="right">¤ <%=format2(somma_costi_causale_acquisto) %></td>
<td align="right">Ma <%=format(media_prlordo_causale_acquisto) %></td>
<td align="right"><%=format2(somma_riga_causale_lordo) %></td>
</tr>
</table>
<%
End If
End If




Loop

End If
'non lo faccio per ora
if 2= 1 then
%>
<tr bgcolor="#CCCCCC">
<td colspan="4"></td>
<td align="right"><%=DA.Fields.Item("UNITAMI").Value %> <%=format2(somma_quantita_causale) %></td>
<td align="right">Ma <%=format(media_prnetto_causale_acquisto) %></td>
<td></td>
<td align="right">Ma <%=format(media_prlordo_causale_acquisto) %></td>
<td align="right"><%=format2(somma_riga_causale_lordo) %></td>
</tr>
</table>
<%
end if

'FINE righe acquisto ************************************************************************
10.246 messaggi dal 09 febbraio 2002
Contributi
Ciao,
il problema probabilmente è in questo ciclo while, che si trova proprio alla riga 362 segnalata dall'errore.

Do While rtrim(articolo_corrente) & rtrim(lotto_corrente) & rtrim(magazzino_corrente) <> rtrim( DA.Fields.Item("CODICE").Value ) & rtrim(DA.Fields.Item("LOTTO").Value) & rtrim(DA.Fields.Item("MAGAZZINO").Value)
Da.MoveNext
Loop


Come vedi, il ciclo While invoca il DA.MoveNext come sua ultima istruzione e questo sposta il cursore sulla riga successiva del recordset (che potrebbe esserci o no). Quindi, inizia la successiva iterazione del ciclo While e viene valutata la sua condizione:


rtrim(articolo_corrente) & rtrim(lotto_corrente) & rtrim(magazzino_corrente) <> rtrim( DA.Fields.Item("CODICE").Value ) & rtrim(DA.Fields.Item("LOTTO").Value) & rtrim(DA.Fields.Item("MAGAZZINO").Value)


...ma questa condizione non sta tenendo conto che potremmo essere arrivati alla fine del recordset e quindi potrebbe non esserci alcuna riga da leggere. Tuttavia, questa condizione sta cercando di accedere ai valori dei campi "CODICE", "LOTTO" e così via.
Bisogna impedire di farglielo fare, altrimenti avrai l'errore. Subito dopo aver fatto il DA.Movenext, devi valutare se siamo in fondo al recordset e in tal caso forzare l'interruzione del ciclo.

Subito dopo il DA.MoveNext metti:
If DA.EOF Then Exit Do


Su vuoi fare debugging di pagine ASP Classico su Visual Studio, segui questa guida:
https://weblogs.asp.net/dixin/debugging-classic-asp-with-visual-studio

ciao,
Moreno

Enjoy learning and just keep making
38 messaggi dal 04 marzo 2012
Grazie Moreno,
con quella dritta più un altra dovrei aver risolto quel problema.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.