Ciao a Tutti,
ho un database di access 2003 in cui in una tabella e' stato definito un campo tipo collegamento ipertestuale.
Tale campo lo richiamo in una pagina asp in cui faccio vedere il contenuto dei vari records, nel seguente modo:
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=1.dsn"
objConn.Open
'
strSQL = "SELECT * FROM table_1"
Set objRS = objConn.Execute(strSQL)
'
Do While Not objRS.EOF
count_rec = count_rec + 1
If count_rec = 1 Then
Response.Write "<TABLE border=1><TR>"
For iLoop = 1 to objRS.Fields.Count - 1
Response.Write "<TD BGCOLOR=ffffcc ALIGN=center><FONT SIZE=2 COLOR=#006600>" & objRS.Fields(iLoop).Name & "</FONT></TD>"
Next
Response.Write "</TR>"
ElseIf count_rec > 1 Then
Response.Write "<TR>"
For iLoop = 1 to objRS.Fields.Count - 1
if iLoop <> 3 then Response.Write "<TD BGCOLOR=white ALIGN=CENTER><FONT SIZE=2 COLOR=brown>" & objRS.Fields(iLoop).Value & "</FONT></TD>"
if iLoop = 3 then
f3 = "" & objRS.Fields(iLoop).Value
f3_i = InStr(f3, "#")
f3_ii = Left(f3, 1)
f3_r = Replace(f3, "#", "")
if f3_i = 0 then Response.Write "<TD BGCOLOR=white ALIGN=CENTER><FONT SIZE=2 COLOR=brown></FONT></TD>"
if f3_i = 1 then Response.Write "<TD BGCOLOR=white ALIGN=CENTER><FONT SIZE=2 COLOR=brown><A HREF=""" & f3_r & """>" & f3_r & "</A></FONT></TD>"
if (f3_i > 1 And f3_ii = "h") then Response.Write "<TD BGCOLOR=white ALIGN=CENTER><FONT SIZE=2 COLOR=brown><A HREF=""" & Left(f3_r, f3_i-1) & """>" & Left(f3_r, f3_i-1) & "</A></FONT></TD>"
if (f3_i > 1 And f3_ii = "\") then Response.Write "<TD BGCOLOR=white ALIGN=CENTER><FONT SIZE=2 COLOR=brown><A HREF=""" & Left(f3_r, f3_i-1) & """>" & Left(f3_r, f3_i-1) & "</A></FONT></TD>"
end if
Next
Response.Write "</TR>"
objRS.MoveNext
End If
Loop
Response.Write "</TABLE></p>"
Il campo che contiene il collegamento ipertesutale e' il campo objRS.Fields(3).Name; esso nei vari records si presenta così:
- ci sono records in cui in corrispondenza di esso non vi e' alcun valore
- casi in cui e' stato scritto un link come http://www.nomesito.it
- casi in cui ci si aggancia ad un pdf di rete cosi': \\SPIN1\dir1\file.pdf
tutta questa casistica viene risolta brillantemente con IE; nella mia pagina asp che contiene il codice di cui sopra, quando uno punta la manina del mouse sul valore del campo si aprono sia i links che il pdf
Se ripeto pero' l' operazione con Firefox e Google Chrome cio' non funziona in quanto il browser antepone a \\SPIN1\dir1\file.pdf il nome del server e il percorso della pagina asp:
nome_server\mia_pagina.asp\\SPIN1\dir1\file.pdf
in alcun modo riesco a venirne a capo; c' e' un modo per risolvere cio' ??
Grazie mille in anticipo !!
P.S. Se uno esamina il codice di cui sopra, notera' che son dovuto ricorrere ad alcuni accorgimenti in quanto nel database se uno ha scritto un link cosi': http://miosito.it oppure \\SPIN1\dir1\file.pdf
richiamando i records nella pagina ASP compaiono cosi':
#http://miosito.it#http://miosito.it
#\\SPIN1\dir1\file.pdf#\\SPIN1\dir1\file.pdf
compaiono ripetuti (forse penso perche' viene presa automanticamente la descrizione del collegamento ipertestuale che e' identica di default al percorso ... ma non sono sicuro e tra l' altro non ho ben capito il perche' della ripetizione ... mistero)
Cmq con gli accorgimenti di cui sopra sono riuscito ad eliminare la ripetizione del link e a togliere #, questo per tutti i browser ...