Grazie, stavo provando questo ma restituisce:
Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'Crea_Listbox'

codice:
<%

'Effettuo la connessione al database
Connessione="DRIVER={Microsoft Access Driver (*.mdb)}; "
Connessione=Connessione & "DBQ=" & server.mappath("up.mdb")

SET Connection = server.createobject("adodb.connection")
Connection.Open Connessione

'Campo_Valore = il campo del database dal quale attingo il valore delle varie opzioni
'Campo_Nome = il campo del database dal quale attingo il nome visualizzato delle varie opzioni
'Tabella = nome della tabella del database su cui effettuare la query
'nome_listbox = il nome che dovrà avere il listbox

function Crea_Listbox(Nome, Professione, tabella, list)
  'Creo un listbox e lo nomino con il valore Nome_listbox passato alla funzione
  'Aggiungo inoltre il carattere di ritorno a capo per avere in output un html comprensibile
  Temp="<select name=""" & list & """>" & chr(10)

  'la riga sottostante crea la prima opzione vuota.
  'se non si desidera si può remmare o cancellare
  Temp=Temp & "<option value=""""></option>" & chr(10)
  
  'Creo la query in modo che prenda i campi che andranno a popolare il listbox
  'Il primo è il "campo_valore" ovvero il valore delle varie voci nella listbox
  'Il secondo invece è il "Campo_Nome", ovvero il testo visualizzato
  
  sql="select " & Nome & ", " & Professione & " from " & tabella
  set rs=connection.execute(sql)
  
  'Ciclo all'interno del recordset ottenuto e stampo l'html relativo alle singole voci del listbox
  do while not rs.eof
    Temp=Temp & "<option value=""" & RS(Nome) & """>" & RS(Professione) & "</option>" & chr(10)
    rs.movenext
  loop
  
  'Chiudo il recordset
  rs.close
  set rs=nothing
  
  'Chiudo l'html relativo al listbox
  Temp=Temp & "</select>"

  Crea_Listbox=Temp
end function
%>

<table><tr><td>
<%=Crea_Listbox("Nome", "Professione")%>
</td></tr></table>

<%
connection.close
set connection=nothing
%>
:master: