ciao a tutti ragazzi, sono un nuovo iscritto e pur leggendovi da anni ho deciso oggi di usare finalmente anche il vostro forum (ho sempre cercato di risolvere tutto da solo senza mai chiedere cose nei forum) a causa di un problema che mi sta facendo "sbottare" da qualche giorno e spero che possiate essermi di aiuto :-)
Allora, ora non sto qui a mettere tutto il codice ma solo la parte che nn riesco a capire e che mi da errore, ma prima una premessa (mini-riassunto):
L'applicazione che sto facendo è una specie di archivio dove vengono memorizzate un po' di cose in delle tabelle come la rubrica, l'archivio degli ip dei pc della lan, le note, i nomi di dominio dei pc, la marca, dove si trova ecc....
Ho creato una maschera per l'inserimento di nuovi dati e una per la ricerca, che può essere sia semplice che dettagliata.
Ora, il mio problema è la ricerca semplice, dove il risultato esce solo su una riga di una tabella e in fondo alla riga per ogni record trovato ho messo una checkbox per poter selezionare il record per poi modificarlo o eliminarlo oppure per vedere i dettagli.
Ecco il problema è proprio sui dettagli.
Se ne seleziono solo uno i dettagli sono tutto ok.
Se nn ne seleziono neanche 1 e voglio vedere i dettagli premendo sull'apposito link, ho messo un controllo che ti dice di selezionarne almeno 1.
Se invece ne seleziono più di uno vorrei che nei dettagli si vedano tutte le maschere insieme dei record che ho selezionato. So che nn si capisce molto ma ora passo al codice spero si capisca di più:
parte di codice problematica del file dettagli.asp
e fino a qui tutto ok... il numero di ogni id si vede perfettamente vicino a "record visualizzato"codice:<% 'mi collego al mio database access Dim DbPath, Conn DbPath="centrale.mdb" Set Conn = Server.CreateObject("ADODB.Connection") Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath) 'controllo se la selezione dei checkbox è vuota Dim Cerca Cerca = Replace(Request.Form("canc"), "'", "") if Cerca = "" then Response.write "<body background='sfondo_principale_sotto.jpg' bgproperties='fixed' style='background-attachment:fixed'>" Response.write "<script type='text/javascript'>alert('Non e\' stata selezionata nessuna voce!! Clicca su OK per tornare alla schermata di selezione.');history.go(-1);</script>" Response.end else if Cerca = "Tutti" then Cerca = "" end if end if Dim interno interno = Replace(Request.Form("search_telint"), "'", "") Dim nomepc nomepc = Replace(Request.Form("search_nomepc"), "'", "") Dim invpc invpc = Replace(Request.Form("search_invpc"), "'", "") Dim ippc ippc = Replace (Request.Form("search_ippc"), "'", "") Dim riferimento riferimento = Replace (Request.Form("search_rifer"), "'", "") Dim invstamp invstamp = Replace (Request.Form("search_invstamp"), "'", "") Dim note note = Replace (Request.Form("search_note"), "'", "") Dim idsearch idsearch = Replace (Request.form("canc"), "'", "") 'seleziono i record in base agli id ricavati dalla selezione dei checkbox (la variabile idsearch) Dim strSQL, Rs strSQL = "Select * from RUBRICA where (ID like '%" & idsearch & "%') order by ID" Set Rs = Server.CreateObject("ADODB.Recordset") Rs.Open strSQL, Conn, 3, 3 if Rs.EOF then response.write "hai selezionato i record: " & idsearch & " . " 'qui divido in un array di stringa gli id dei record selezionati dim x, i i = 0 x = Split(idsearch, ", ") 'poi creo un ciclo per ogni id For i = 0 to UBound(x) response.write "record visualizzato: " & x(i) & " . " Response.write "<table cellpadding='5' align='center' class='tab_princ'>" Response.write "<tr><td colspan='6' style='border:0px solid #999999;width:810px;vertical-align:middle' align='center'>PROVA</td></tr></table>" next response.end else
Il problema nasce quando voglio ricavare altri dati relativi al record di quell'id...
ad es se al posto di:
voglio far uscire un dato preso dal record attivo al momento nel ciclo facendo in questo modo, ad es l'ubicazione:codice:response.write "record visualizzato: " & x(i) & " . " Response.write "<table cellpadding='5' align='center' class='tab_princ'>" Response.write "<tr><td colspan='6' style='border:0px solid #999999;width:810px;vertical-align:middle' align='center'>PROVA</td></tr></table>"
mi esce questo errore:codice:response.write "record visualizzato: " & x(i) & " . " Response.write "<table cellpadding='5' align='center' class='tab_princ'>" Response.write "<tr><td colspan='6' style='border:0px solid #999999;width:810px;vertical-align:middle' align='center'>" & Rs("Ubicazione") & "</td></tr></table>"
# Tipo di errore:
(0x80020009)
Eccezione.
/dettagli.asp, line 346
Perchéééééééééé???? Le ho provate tutte ma davvero non riesco a capire perché con la selezione multipla non va mentre se invece li voglio cancellare tutti insieme col " DELETE + from ecc..ecc...where ID = " & x(i) " mi cancella perfettamente tutti i record selezionati. anche se ne seleziono solo uno i dettagli si vedono benissimo. Ecco il resto del codice dopo l'else di prima in dettagli.asp che fa in modo di visualizzare i dettagli per un solo record selezionato:
ecco, qui l'ubicazione si vede benissimo come anche il numero ID del record visualizzato...codice:else Response.write "<body background='sfondo_principale_sotto.jpg' bgproperties='fixed' style='background-attachment:fixed;'>" Response.write "<table align='center' class='container'><tr><td style='vertical-align:middle;'><form name='logout' action='logout.asp' method='POST'><div align='center' class='parte_sopra'><table class='parte_mezza_sopra'><tr><td><font face='tahoma,verdana' size='2'>Benvenuto nella Rubrica Interna. Sei autenticato come:<font color='blue'>" & Session("username") & ". </font></font>" Response.write "<input type='submit' value='logout'></form> <font face='tahoma,verdana' size='1'>Torna alla home page</font></td></tr></table></DIV>" response.write "record visualizzato: " & x(i) & " . " Response.write "<table cellpadding='5' align='center' class='tab_princ'>" Response.write "<tr><td colspan='6' style='border:0px solid #999999;width:810px;vertical-align:middle' align='center'>" & Rs("Ubicazione") & "</td></tr></table>" End If
So che è lunghissimo ma vi prego aiutatemi stimo molto html.it :-)

Rispondi quotando