Ho provato ad adattare alle mie esigenze il codice presente in questo thread
http://forum.html.it/forum/showthrea...1&pagenumber=2
ma purtroppo non riesco a farlo funzionare.

Si tratta di un form che permettere di caricare sia dei campi di testo che una fotografia.

Il codice della pagina contenente il form è il seguente:

codice:

<h1>Inserisci insegnante</h1>

<p align="center"></p>
<form enctype="multipart/form-data" method="post" action="inserisci_insegnante2.asp" name="form">
<p align="center">
Cognome

<input name="Cognome" type="text" id="Cognome" tabindex="1" size="30" maxlength="20" />
</p>
<p align="center">
Nome

<input name="Nome" type="text" id="Nome" tabindex="2" size="30" maxlength="20" />
</p>
<p align="center">
Fotografia

<input type="file" name="nome_file" tabindex="3" size="30" maxlength="255" />
</p>
<p align="center">
Strumento

<input name="Luogo" type="text" id="Strumento" tabindex="4" size="60" maxlength="50" />
</p>
<p align="center">
Formazione

<textarea name="Formazione" cols="60" rows="10" tabindex="5"></textarea>
</p>
<p align="center">
Esperienze Didattiche

<textarea name="EsperienzeDidattiche" cols="60" rows="10" tabindex="6"></textarea>
</p>
<p align="center">
Esperienze Artistiche

<textarea name="EsperienzeArtistiche" cols="60" rows="10" tabindex="7"></textarea>
</p>
<p align="center">
Altre Informazioni

<textarea name="Altro" cols="60" rows="10" tabindex="8"></textarea>
</p>
<p align="center">
<input type="submit" value="Inserisci insegnante" name="B1" class="pulsante">
<input type="reset" value="Reimposta" name="B2" class="pulsante">
</p>
</form>
<p align="left"></p>
<p align="center">Torna alla gestione Insegnanti</p>
<p align="left"></p>
Mentre il file che esegue lo script è questo:

codice:
<%

' //// dichiarazione delle variabili obbligatoria
option explicit

' //// dichiaro le variabili
Dim folder
Dim titolo_file
Dim nom_file
Dim byteCount
Dim RequestBin
Dim PosBeg
Dim i
Dim char
Dim PosEnd
Dim boundary
Dim boundaryPos
Dim Pos
Dim intCount
Dim Name
Dim PosFile
Dim PosBound
Dim Value
Dim FileName
Dim ContentType
Dim nome_file
Dim Conn
Dim filepathname
Dim ScriptObject
Dim MyFile
Dim Sql
Dim Rs 

Dim cognome
Dim nome
Dim strumento

' //// Directory dove verrà caricato il file (la cartella deve avere i permessi in scrittura)
folder = ("/public/foto/insegnanti")  

' ////// Inizio Componente Upload (prelevato su www.AspCode.it)  

Response.Expires=0
Response.Buffer = TRUE
Response.Clear

Sub BuildUploadRequest(RequestBin)
	PosBeg = 1
	PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
	boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
	boundaryPos = InstrB(1,RequestBin,boundary)
		Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
		Dim UploadControl
		Set UploadControl = CreateObject("Scripting.Dictionary")
		'Get an object name
		Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))
		Pos = InstrB(Pos,RequestBin,getByteString("name="))
		PosBeg = Pos+6
		PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
		Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
			PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))
			PosBound = InstrB(PosEnd,RequestBin,boundary)
			If  PosFile<>0 AND (PosFile<PosBound) Then
			PosBeg = PosFile + 10
			PosEnd =  InstrB(PosBeg,RequestBin,getByteString(chr(34)))
			FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
			UploadControl.Add "FileName", FileName
			Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
			PosBeg = Pos+14
			PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
			ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
			UploadControl.Add "ContentType",ContentType
			PosBeg = PosEnd+4
			PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
			Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
			Else
			Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
			PosBeg = Pos+4
			PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
			Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
		End If
		UploadControl.Add "Value" , Value	
		UploadRequest.Add name, UploadControl	
		BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
	Loop
End Sub
Function getByteString(StringStr)
 For i = 1 to Len(StringStr)
 	char = Mid(StringStr,i,1)
	getByteString = getByteString & chrB(AscB(char))
 Next
End Function
Function getString(StringBin)
 getString =""
 For intCount = 1 to LenB(StringBin)
	getString = getString & chr(AscB(MidB(StringBin,intCount,1))) 
 Next
End Function

byteCount = Request.TotalBytes

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest  RequestBin

' //// Fine Componente Upload  

%>



<h1>Inserisci insegnante</h1>

<%

' //// riempio le variabili con valori proveninti dalla form
nome_file = UploadRequest.Item("nome_file").Item("Value")
cognome   = UploadRequest.Item("Cognome").Item("Value")
nome      = UploadRequest.Item("Nome").Item("Value")
strumento = UploadRequest.Item("Strumento").Item("Value")

' CONTROLLA SE TUTTI I CAMPI SONO STATI COMPILATI
IF cognome="" or nome="" or strumento="" then
' CAMPI NON COMPILATI!
%>


</p>
<p align="center">Dati non inseriti correttamente...</p>
<p align="center"></p>
<p align="center">Riprova</p>


</p>
<%
Else
' CAMPI COMPILATI


' //// connessione al DB

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/VivaceDB.mdb")

SQL = "SELECT * FROM Insegnanti"

Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open SQL, Conn, 1, 2
	
' //// aggiugo un nuovo record alla tabella
Rs.AddNew

    Rs("Cognome") = UploadRequest.Item("Cognome").Item("Value")
    Rs("Nome") = UploadRequest.Item("Nome").Item("Value")
    Rs("Strumento") = UploadRequest.Item("Strumento").Item("Value")
    Rs("Formazione") = Replace(Replace((UploadRequest.Item("Formazione").Item("Value")), chr(13), "
"), "'", "′")
    Rs("EsperienzeDidattiche") = Replace(Replace((UploadRequest.Item("EsperienzeDidattiche").Item("Value")), chr(13), "
"), "'", "′")
	Rs("EsperienzeArtistiche") = Replace(Replace((UploadRequest.Item("EsperienzeArtistiche").Item("Value")), chr(13), "
"), "'", "′")
	Rs("Altro") = Replace(Replace((UploadRequest.Item("Altro").Item("Value")), chr(13), "
"), "'", "′")
    Rs("Fotografia") = False
	

' //// controllo se caricare fotografia
If not IsNull(nome_file) OR nome_file <> "" Then

' //// Inserimento immagine INIZIO



' //// creo il file nella folder
	if UploadRequest.Item("nome_file").Item("FileName")="" then

		Else

		contentType  = UploadRequest.Item("nome_file").Item("ContentType")
		filepathname = UploadRequest.Item("nome_file").Item("FileName")
		filename     = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
		value        = UploadRequest.Item("nome_file").Item("Value")

	Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

	Set MyFile = ScriptObject.CreateTextFile(Server.mappath(folder)&"\"&filename)

			For i = 1 to LenB(value)
					MyFile.Write chr(AscB(MidB(value,i,1)))
					Next
			MyFile.Close

	End if

' //// Inserimento immagine FINE

    Rs("nome_file") = filename
	Rs("Fotografia") = True
Else
	Rs("nome_file") = ""
End if

Rs.UpDate
	
' //// chiudo il record set e libero le risorse
	Rs.Close
	Set Rs = Nothing

' //// chiudo la connessione e libero le risorse
	Conn.Close
	Set Conn = Nothing

' //// carico la pagina di risposta e stampo a video il link al file caricato
	Response.Redirect("/gestione/insegnanti/vedi_insegnanti.asp")
	
End If 'CAMPI COMPILATI
%>
Mi viene dato il seguente errore:

Tipo di errore:
Errore di run-time di Microsoft VBScript (0x800A01A8)
Necessario oggetto: '[undefined]'

Relativo alla riga 121

117 - ' //// riempio le variabili con valori proveninti dalla form
118 - nome_file = UploadRequest.Item("nome_file").Item("Value")
119 - cognome = UploadRequest.Item("Cognome").Item("Value")
120- nome = UploadRequest.Item("Nome").Item("Value")
121- strumento = UploadRequest.Item("Strumento").Item("Value")


Potete aiutarmi e controllare se il mio lavoro è valido?

Grazie...

Rudi