5 messaggi dal 08 gennaio 2002
Salve ragazzi, chi aiuta questa skiappa ?
Usando Access vorrei prelevare dati dalla tabella_01 e immetterli nella tabella_02 dando prima una controllatina.
Hai visto mai, oscenità, insulti, scherzi. vuoto.
Quindi estraggo un RS (ad esempio User,Data,note) che faccio apparire in un form che mostra quindi i records della tabella_01 e consente di modificare o aggiungere note o, se necessario, con una spuntatina alla checkbox, di non passarlo alla tabella_02.
Il numero di record sul form può essere variabile, dipende da quanti User inseriscono dati in tabella_01.
Lo script funziona senza IF e tutto ciò che riguarda la checkbox che passa un "no" se cliccata.
Lo script è sbagliato, lo so, ma partiamo da questo, ho già fatto tentativi e cercato nel forum.

<%
Set Con = Server.CreateObject( "ADODB.Connection" )
Con.Open "laconnessione"

Dim arUser, arData, arNote, arNoAdd
Dim iCount

arUser=split(TRIM(request.form("User")) ,", ")
arData=split(TRIM(request.form("Data")) ,", ")
arNote=split(TRIM(request.form("Note")) ,", ")
arNoAdd=split(TRIM(request.form("NoAdd")) ,", ")

For iCount= 0 to UBound(arUser)

' inserisco in tabella_02 solo se checkbox non è spuntata

IF arNoAdd(iCount)<>"no" THEN
strSql="INSERT INTO tabella_02 (User, Data, Note) VALUES ('"&arUser(iCount)&"', '"&arData(iCount)&"', '"&arNote(iCount)&"')"
Con.Execute(strSql)
END IF

Next

Response.Redirect "conferma.asp"
%>

Cosa mi suggerite di fare ?
Saluti a Tutti.
Modificato da stebor il 28 settembre 2004 17.43 -
60 messaggi dal 10 ottobre 2003
www.duegiweb.it
Comincia a fare questa considerazione!
il request.form("User") ti restituisce una lista dei valori delle checkbox selezionate es. (1,2,5,8) (naturalmente se hanno lo stesso name)

> arUser=split(TRIM(request.form("User")) ,", ")
>For iCount= 0 to UBound(arUser)
Non si verificherà mai la selezione perchè se non viene selezionata il No non ti viene passato
>' inserisco in tabella_02 solo se checkbox non è spuntata
>IF arNoAdd(iCount)<>"no" THEN
> ecc.......
>END IF
>Next

>Cosa mi suggerite di fare ?

Fare il contrario, se la checkbox è selezionata allora aggiorni i dati da tatabella_01 a tatabella_02

Fausto
5 messaggi dal 08 gennaio 2002
Grazie caro Faustog per l'analisi e il consiglio.
Ho fatto qualche prova come dicevi ma niente di fatto.
Credo che dovrei rivedere tutto quanto compreso il form o trovare qualche procedura alternativa.
60 messaggi dal 10 ottobre 2003
www.duegiweb.it
Come mai?
Vedi se questo ti può essere utile
Quando carichi la pagina con i checkbox scrivi nel value il valore chiave del record Es.
'Caricamento pagina per visualizzare dati
Do While Not Rs.Eof
response.write "<checkbox Name=""chkId"" Value=""" & Rs("IdRecord") & """>"
response.write "Tutto il resto"
Rs.movenext
Loop

'Pagina che legge i valori selezionati
'con request.form("chkId") ottieni la lista
'di tutti record selezionati 1,2,3,5
'a questo punto quando hai ottenuto le chiavi dei
'record potresti con la proposizione sql IN o come vuoi tu
'spostare o eliminare quello che ti pare!

Ad esempio per ottenere un recordset dei checkbox selezionati.
SQL = "SELECT * FROM TUATABELLA WHERE IdRecord IN (" &
request.form("chkId") & ")"

Fausto
5 messaggi dal 08 gennaio 2002
Ciao Fausto, quello che proponi è ottimo e del resto esempi simili li avevo visti nel forum. Ma se guardi il mio primo post, lo scopo è quello di monitorare ed eventualmente modificare e/o aggiungere alcune note.
Ovvero mi tengo lo storico in tabella_01 e trasbordo rivisti in tabella_02 con i minori passaggi di dati possibili e meno codice che posso.
Meditando sulla checkbox che passa dati solo se cliccata mentre invece devo avere array completi per usare INSERT, l'ho sostituita nel form con una casella di testo con opzioni, più brutta ma tanto la vedo solo io, che mi passa comunque un dato, SI o NO, selezionata in partenza sul SI. Fatto questo lo script ha funzionato regolarmente.
Avevo provato anche con pulsanti radio, ma era una tragedia, infatti, avendo il solito name="NoAdd" in un recordset ad esempio di 10 elementi avevo 19 tondini vuoti e uno solo cliccato, l'ultimo.
Per fare presto vado così, ma tempo permettendo provo il metodo che mi hai descritto, poi raccolgo il tutto o il meglio e lo posto per conoscenza.
Ciao.
Stefano.

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.