27 messaggi dal 02 gennaio 2002
if instr(idAnnunci,",") <> 0 then
ArrIdAnnunci = Split(idAnnunci,",")
for i=0 to uBound(ArrIdAnnunci)
SQL_State = "Select stato from tTestAnnunci where id = '"&ArrIdAnnunci(i)&"'"
Set RS = conn.execute(SQL_State)
----> if uCase(Trim(RS("stato").value)) = "ATTESA" then
SQL_Insert = "Insert into tRichiestePubblicazioni (data,id,stato) values ('"&date&"','"&ArrIdAnnunci(i)&"','"&stato&"')"
conn.execute(SQL_Insert)
SQL_update = "Update tTestAnnunci set stato = 'transazione' where id = '"&ArrIdAnnunci(i)&"'"
conn.execute(SQL_update)
end if
next
else ... etc

Con questo codice ottengo Exception Occurred sulla linea evidenziata con ----> oppure :
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record

Naturalmente ho controllato l'array ArrIdAnnunci ed è corretto quindi contiene gli id di annunci esistenti sulla tabella e quindi non dovrebbe ritornare un recordset EOF o BOF!

Non riesco a trovare l'errore!! Grazie in anticipo per qualsiasi tipo di consiglio.

---Teo---

---Teo---
1.818 messaggi dal 21 giugno 2001
Contributi
Ma tu usi RS("stato").value per recuperare il valore di un campo?

Io scriverei RS.Fields("stato")

Cia Cia
hyppos

www.teatrolabaracca.com

<code>
|--------------------------------------|
|<font color=white><b>in giro torte sol ciclos et rotor igni</b></font id=white>|
|--------------------------------------|
</code>

hyppos
<code> in giro torte sol ciclos et rotor igni</code>
27 messaggi dal 02 gennaio 2002
si, anche io uso quel tipo di sintassi ma scrivendo cosi:

RS("stato").value

ottengo l'errore:

Either BOF or EOF is True, or the current record has been deleted

altrimenti ottengo Exception Occurred!
anche scrivendo RS.Fields("stato")

???




---Teo---

---Teo---
27 messaggi dal 02 gennaio 2002
Scusate ho dimenticato di dire che per il primo elemento dell'array funziona ma quando passa al secondo va in errore!

---Teo---

---Teo---
1.818 messaggi dal 21 giugno 2001
Contributi
Vediamo di sistemare un po' il codice

<code>
if instr(idAnnunci,",") &lt;&gt; 0 then
ArrIdAnnunci = Split(idAnnunci,",")

for i=0 to uBound(ArrIdAnnunci)

SQL_State = "Select stato from tTestAnnunci where id = '"&ArrIdAnnunci(i)&"'"
Set RS = conn.execute(SQL_State)

If Not RS.EOF Then

if uCase(Trim(RS.Fields("stato"))) = "ATTESA" then
SQL_Insert = "Insert into tRichiestePubblicazioni (data,id,stato) values ('"&date&"','"&ArrIdAnnunci(i)&"','"&stato&"')"
conn.execute(SQL_Insert)
SQL_update = "Update tTestAnnunci set stato = 'transazione' where id = '"&ArrIdAnnunci(i)&"'"
conn.execute(SQL_update)
end if
Set RS=Nothing

Else
Set RS=Nothing
End If

next

End If
</code>



Come la metti la virgloa in idAnnunci? Ci può essere un caso in cui ottieni una stringa del tipo idAnnunci="1," ?

Cia Cia
hyppos

www.teatrolabaracca.com

<code>
|--------------------------------------|
|<font color=white><b>in giro torte sol ciclos et rotor igni</b></font id=white>|
|--------------------------------------|
</code>

hyppos
<code> in giro torte sol ciclos et rotor igni</code>
27 messaggi dal 02 gennaio 2002
No, non puo essere, idAnnunci è una request di una serie di checkbox con lo stesso nome, quindi se ne viene selezionato uno solo idAnnunci sara del tipo "A45" altrimenti come sicuramente saprai vengono concatenati con una virgola: "A45,A47,A56"

scritto cosi forse puoi capire meglio il codice:

stato="attesa"
if instr(idAnnunci,",") &lt;&gt; 0 then
ArrIdAnnunci = Split(idAnnunci,",")
for i=0 to uBound(ArrIdAnnunci)
SQL_State = "Select stato from tTestAnnunci where id = '"&trim(ArrIdAnnunci(i))&"'"
Set RS = conn.execute(SQL_State)
if uCase(trim(RS.fields("stato"))) = "ATTESA" then
SQL_Insert = "Insert into tRichiestePubblicazioni (data,id,stato) values ('"&date&"','"&ArrIdAnnunci(i)&"','"&stato&"')"
conn.execute(SQL_Insert)
SQL_update = "Update tTestAnnunci set stato = 'transazione' where id = '"&ArrIdAnnunci(i)&"'"
conn.execute(SQL_update)
end if
next
else
'---------------------
'questa funziona
'----------------------
SQL_State = "Select stato from tTestAnnunci where id = '"&IdAnnunci&"'"
Set RS = conn.execute(SQL_State)
if uCase(RS.fields("Stato")) = "ATTESA" then
SQL = "Insert into tRichiestePubblicazioni (data,id,stato) values ('"&date&"','"&IdAnnunci&"','"&stato&"')"
conn.execute(SQL)
SQL_update = "Update tTestAnnunci set stato = 'transazione' where id = '"&IdAnnunci&"'"
conn.execute(SQL_update)
end if
end if

---Teo---

---Teo---
1.818 messaggi dal 21 giugno 2001
Contributi
Hai provato il codice con quelle piccole modifiche che ho fatto?

Cia Cia
hyppos

www.teatrolabaracca.com

<code>
|--------------------------------------|
|<font color=white><b>in giro torte sol ciclos et rotor igni</b></font id=white>|
|--------------------------------------|
</code>

hyppos
<code> in giro torte sol ciclos et rotor igni</code>

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.