212 messaggi dal 06 settembre 2002
Ho il seguente problema, devo modificare un campo in alcuni record selezionati.
Pensavo di risolvere il problema passando i dati prendendo in input una variabile (array).
A questo punto , dovrei passare i valori tramite session ad una seconda pagina per effettuare le modifiche sul file stesso.

array_tecnici, contiene il valore da cambiare sul record.

Da quanto ho visto,

<td><input type="text" size="20" name="pippo" value="<%=(array_tecnici(nriga))%>"> </td>

questa istruzione, non carica i valori che io metto in input .

Di seguito, con

session ("array_1")=array_tecnici
creo l'array da passare alla seconda pagina.
Se prima di questa istruzione metto per es. array_tecnici(1)="aa"
il valore passa regolarmente; da cio' ne deduco che l'errore e' nell'input sul form...

help me !!!





Arnoldo
-------
DocLine Pisa Srl

Per quanto bravo tu possa essere, nessuno ti dara' mai una pacca sulla spalla e ti dira' che hai fatto un buon programma

Arnoldo
-------
DocLine Service & Networking

Per quanto bravo tu possa essere, nessuno ti dara' mai una pacca sulla spalla e ti dira' che hai fatto un buon programma
15 messaggi dal 07 dicembre 2001
Ti faccio una domanda idiota, tanto idiota che è successo a me.
Non è che per caso tutta la fase di input dei dati è fuori dai tag del form ?
<form etc etc>
<input etc>
</form>
Per il resto mi sembra che il sistema che stai utilizzando debba funzionare, in ogni caso se tiserve posso darti della roba per far funzionare array di input e passari a matrici di session per poterli gestire, solo che sono un pò incasinate

212 messaggi dal 06 settembre 2002
Verifico e ti faccio sapere... Sarebbe il massimo....


Arnoldo
-------
DocLine Pisa Srl

Per quanto bravo tu possa essere, nessuno ti dara' mai una pacca sulla spalla e ti dira' che hai fatto un buon programma

Arnoldo
-------
DocLine Service & Networking

Per quanto bravo tu possa essere, nessuno ti dara' mai una pacca sulla spalla e ti dira' che hai fatto un buon programma
635 messaggi dal 06 settembre 2002
Ciao Maltese,

hai provato a visualizzare il codice HTML una volta che hai mandato in esecuzione la pagina (tasto destro del mouse - visualizza html) per vedere se l'Array è incrementato in maniera corretta?

mi spiego..

ovviamente il codice di visualizzazione sarà del tipo

if rs.RecordCount>0 then
dim array_tecnici()
nriga=0 %>
<Form name="nome" action="tua_pagina.asp">
<table.....>
<%
DO WHILE NOT rs.EOF
nriga=nriga+1
Array_tecnici(nriga)=rs("tuocampo") %>
<tr>
<td><input type="text" size="20" name="pippo"
value="<%=(array_tecnici(nriga))%>"></td>
</tr>
<% rs.MovNext
LOOP %>
</table>
</form>
<%
end if %>

quindi, ad ogni riga compresa fra i tag <td> e </td> array_tecnici avra un valore diverso...


ora un dubbio, come fai a generare la session (array_1) dopo che hai apportato delle modifiche?

Mi spiego; se modifichi dei valori, la session deve essere aggiornata al fine di passare alla pagina successiva i valori giusti, quini nel tag form cosa scrivi?

Ciao



 JD

OJD
212 messaggi dal 06 settembre 2002
Piu' o meno il codice (che adesso non ho sottomano) e' come quello che hai descritto.
Probabilmente l'errore e' proprio li'... nell'assegnazione dei valori al session array.
Presumo che una volta premuto il tasto submit, l'array dovrebbe essere aggiornato con i valori modificati.
Quindi passando ad una seconda pagina e facendo una query form, dovrei avere i valori aggiornati ??



Arnoldo
-------
DocLine Pisa Srl

Per quanto bravo tu possa essere, nessuno ti dara' mai una pacca sulla spalla e ti dira' che hai fatto un buon programma

Arnoldo
-------
DocLine Service & Networking

Per quanto bravo tu possa essere, nessuno ti dara' mai una pacca sulla spalla e ti dira' che hai fatto un buon programma
635 messaggi dal 06 settembre 2002
Ciao,
quando modifichi il form, penso che i valori nel form non vengano modificati fino a quando non rigeneri l'array (fino a quando non riassegni alla riga 1, per esempio il nuovo valore); tuttavia, nella pagina successiva, tu richiami la session che, sicuramente, contiene il vecchio Array.


Ciao.

 JD

OJD
212 messaggi dal 06 settembre 2002
<form method="POST" action="test.asp?flag=1">
<div align="center"><center><p> </p>
</center></div><div align="center"><div align="center"><center><table border="1">
<tr>
<td><strong>Ragione Sociale</strong></td>
<td><strong>Tecnico</strong></td>
<%
Dim array_tecnici(100)

nriga=1
Do while Not dbc.EOF
nriga=nriga+1
a0 = dbc.Fields("ragionesociale").Value
array_tecnici(nriga) = dbc.Fields("tecnico").Value
%>
</tr>
<tr>
<td><% Response.Write(a0)%>
</td>
<td><input type="text" size="20" name="tecnico" value="<%=(array_tecnici(nriga))%>"> </td>
<%
dbc.MoveNext
Loop

'-------------------------------------------------------------'
session ("array_1")=array_tecnici
'-------------------------------------------------------------'

%>
</tr>
</table>
</center></div><div align="center"><center><p><input type="submit" value="Invia" name="B1"><input
type="reset" value="Reimposta" name="B2"> </p>
</center></div><div align="center"><center><p><%end if%> </p>
</center></div></div>
</form>


Questo e' il codice... l'errore sicuramente e' nell'attribuzione
del valore al session.
Ho provato anche a fare una request form da una seconda pagina (test.asp) ma ricevo un errore di indice sull'arrary.
Qualcuno puo' essermi d'aiuto ???


Arnoldo
-------
DocLine Pisa Srl

Per quanto bravo tu possa essere, nessuno ti dara' mai una pacca sulla spalla e ti dira' che hai fatto un buon programma

Arnoldo
-------
DocLine Service & Networking

Per quanto bravo tu possa essere, nessuno ti dara' mai una pacca sulla spalla e ti dira' che hai fatto un buon programma
43 messaggi dal 06 settembre 2002
Provo ad aiutarti io...
innanzitutto occhio all'indice dell'array. Tu lo dimensioni a 100, ma sei sicuro che facendo la "do while not..." non arrivi ad avere piu' record di quelli che sono i campi dell'array??
Al posto di 100 perche' non usi una variabile che contiene esattamente il numero di record del tuo dbc? tipo:
max=cint(dbc.recordcount)
dim array_tecnici(max)

Seconda cosa: il tuo array_tecnici inizia ad accettare contenuto dall'indice 2! (nriga). E' un effetto voluto? Non e' meglio partire da 1 (tralasciando apposta lo zero per comodita') e incrementare nriga prima della loop?

Terza cosa: il trasferimento dell'array nella sessione funziona perfettamente, pero' nell'altra pagina, quando vai a leggere la sessione, devi trattarla come un array!!! Quindi devi fare per esempio:

pippo = session ("array_1")(nriga)

dove nriga e' l'indice dell'array (che varia per esempio dentro un ciclo for)

Quarta cosa: quando fai la request.form("tecnico") nell'altra pagina, ottieni una stringa di valori separati da virgola (tutti quelli che avevi nel recordset).
A quel punto puoi splittarli in un altro array in questo modo:

array_tecnico_mod = split(request.form("tecnico"),",")

Cosi' hai il tuo nuovo array da utilizzare per variare i valori.

In ultimo: credo che quello che ti ho detto ti fara' risolvere il problema, pero' non e' il modo migliore di gestire questa cosa. Ci sono metodi piu' semplici a mio parere... ora pero' non voglio dilungarmi. Spero di esserti stato utile.

Ciao.


www.blade-runner.it

Luca
www.blade-runner.it

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.