mmm no mi spiace ma non ho capito.
Provo a postarti il codice, così magari sai dirmi su quali parti devo agire.
Qui di seguito il codice del form così come è adesso (che invio solo per completezza):
codice:
<form name="form1" method="post" enctype="multipart/form-data" action="elabora_form.asp">
<blockquote>
<div align="left">
<h2> LE RICERCHE </h2>
Titolo : </p>
<input name="titolo" type="text" id="titolo" /> </p>
Descrizione :</p>
<select name="descrizione">
<option value="istat news"> ISTAT</option>
<option value="altre"> ALTRE</option>
</select>
</p>
Data: </p>
<input name="data" type="text" id="data" /> </p>
Scegli il Pdf: </p>
<input name="pdf" type="file" id="pdf" > </p>
<input type="submit" name="Submit" value="Invia"> </p>
</div>
</blockquote>
</form>
Qui invece il codice della pagina elabora_form.asp che - appunto- elabora le informazioni del form e deve inviare il file in PUBLIC e scrivere sul database "mio_database.mdb". Lo fa, ma lo fa con una connessione che indica un percorso fisico (che io devo modificare).
codice:
<%
Dim oUpload
Set oUpload= new cUpload
With oUpload
'La riga seguente imposta la connessione al database e la tabella di inserimento dati
'La connesione e la tabella verranno aperti con il metodo oUpload.Database.Open()
.SetDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("\mio_sito\cerca\mdb-database\mio_database.mdb"),"SELECT Top 1 * FROM ricerche"
.EnabledAspUpload = False
.EnabledImageSize = False
.EnabledLog = False
.AutoRename = True
.Overwrite = False
.SetPath "public\"
.Load
.MoveFirst
if .EOF then
NumFiles = .Count()
Response.write "0 Files caricati su " & NumFiles &" : controlla le dimensioni e il tipo di file."
else
.Database.Open()
While Not .EOF
.Save
response.Write "il file " & .GetFileName &" è stato salvato.
"
'Inserimento dei valori
.Database.Fields("Titolo") = .Form("Titolo")
.Database.Fields("descrizione") = .Form("Descrizione")
.Database.Fields("data") = .Form("Data")
.Database.Fields("pdf") = .Form("pdf")
.Database.Fields("Percorso") = .GetCompletePathFile
'Inserimento
.Database.AddNew()
.MoveNext
Wend
end if
End With
Set oUpload = Nothing
%>
Qusto brano di codice, che penso possa essere utile, è la connessione DSN/ODBC (funzionante) che ho inserito nella pagina che richiama i dati immessi e li fa vedere in una tabella.
codice:
<%@LANGUAGE = VBScript%>
<%
Dim rs, cn, sql
Set rs = Server.CreateObject("ADODB.Recordset")
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open"DSN=pragmaDB"
Set rs.ActiveConnection = cn
%>
Questo invece è il codice della tabella che richiama i dati.
codice:
<table>
<tr class="name">
<td class="istat">TITOLO</td>
<td>DATA</td>
<td>PDF</td>
</tr>
<%
rs.Open "SELECT * FROM ricerche WHERE (((ricerche.Descrizione)='altre news')) ORDER BY ricerche.ID DESC;"
If rs.EOF Then
rs.Open sql,cn
%>
Nessun record trovato!</p>
<%
Else
While rs.EOF = False
%>
<tr class="name1">
<td class="istat"><%=rs("titolo")%></td>
<td><%=rs("data")%></td>
<td>"> [img]../../../immagini/logo-pdf.jpg[/img] </td>
</tr>
<%
rs.MoveNext
Wend
End If
rs.Close
%>
</table>
Domande:
1- Come posso cambiare la connessione di elabora_form.asp in qualcosa che continui a scrivere sul db anche se non indico un percorso fisico?
2- In elabora_form.asp il percorso del file è preso con il .GetCompletePathFile, ma se il database ha una connessione DSN funziona lo stesso?
3- La tabella che richiama le informazioni del db deve essere modificata? Comandi come "<%=rs("pdf")%>" funzionano lo stesso?
So che la faccenda è complicata.
Grazie.
Stefania