Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Errore "Necessario oggetto Server"

    Ciao a tutti,
    scusate sono nuovo sia del sito che del linguaggio di prg asp ed ho
    un problema, deve richiamare una sub scritta in vbscript, tramite un pulsante con la
    proprietà onclick , che apre una connessione ad un file mdb che si trova sul server e mi ritorna un valore all'interno di un capo, tutto questo in unica form.
    Quando effettua la chiamata, mi compare sempre il messaggio di errore "Necessario oggetto Server"
    Questo é il listato, spero che qualcuno mi possa aiutare, eliminando Server.mappath e facendo puntare su un file locale(disco c:\) funziona tutto.
    Ringrazio anticipatamente per l'aiuto.

    Listato Pulsante

    <input type="submit" name="Submit" value="Calcola" onclick="Call Calcola
    (x_AA.value,x_BB.value)">

    Listato Sub

    <script language="vbscript" >
    Sub Calcola(x_AA,x_BB)
    Db_Conn_Str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath
    ("mdb\file_mdb.mdb")

    Set conn = CreateObject("ADODB.Connection")
    conn.Open Db_Conn_Str
    Set Rs = CreateObject("ADODB.Recordset")
    StrSQL="scrivo la select usando i valori delle 2 variabili"
    Open StrSQL,conn ,1,2
    if rs.EOF then
    document.write("Dati non trovati")
    else
    x_tar_sped.value=rs("tabella")
    rs.close
    set rs = nothing
    conn.Close
    Set conn = Nothing
    end if
    End sub
    </script>

  2. #2
    Te provi ad usare codice vbScript client side con istruzioni server side...
    Poi vorresti attivare il calcolo cliccando sul pulsante e tutto direttamente sul browser, senza inviare alcuna richiesta al server.
    ASP funziona così: un click e una richiesta al server il quale risponde in base ai dati in entrata ed elaborando le istruzioni al suo interno.
    Suppongo che x_AA ed x_BB siano due campi nella FORM.

    calcola.asp
    codice:
    <%
    x_AA = request.form("x_AA")
    x_BB = request.form("x_BB")
    
    Db_Conn_Str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("mdb\file_mdb.mdb")
    if len(x_AA) > 0 and len(x_BB) > 0 then
    Set conn = CreateObject("ADODB.Connection")
    conn.Open Db_Conn_Str
    Set Rs = CreateObject("ADODB.Recordset")
    StrSQL="scrivo la select usando i valori delle 2 variabili x_AA ed x_BB"
    Open StrSQL,conn ,1,2
    if rs.EOF then
    x_tar_sped = "Dati non trovati"
    else
    x_tar_sped = rs("tabella")
    end if
    rs.close
    set rs = nothing
    conn.Close
    Set conn = Nothing
    end if 
    %>
    <form method="post" action="calcola.asp">
    <input type="text" name="x_AA" value="<%=x_AA%>" />
    <input type="text" name="x_BB" value="<%=x_BB%>" />
    <input type="text" name="x_tar_sped" value="<%=x_tar_sped%>" />
    <input type="submit" value="CALCOLA" />
    </form>

  3. #3
    Originariamente inviato da Mems
    Te provi ad usare codice vbScript client side con istruzioni server side...
    Poi vorresti attivare il calcolo cliccando sul pulsante e tutto direttamente sul browser, senza inviare alcuna richiesta al server.
    ASP funziona così: un click e una richiesta al server il quale risponde in base ai dati in entrata ed elaborando le istruzioni al suo interno.
    Suppongo che x_AA ed x_BB siano due campi nella FORM.

    calcola.asp
    codice:
    <%
    x_AA = request.form("x_AA")
    x_BB = request.form("x_BB")
    
    Db_Conn_Str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("mdb\file_mdb.mdb")
    if len(x_AA) > 0 and len(x_BB) > 0 then
    Set conn = CreateObject("ADODB.Connection")
    conn.Open Db_Conn_Str
    Set Rs = CreateObject("ADODB.Recordset")
    StrSQL="scrivo la select usando i valori delle 2 variabili x_AA ed x_BB"
    Open StrSQL,conn ,1,2
    if rs.EOF then
    x_tar_sped = "Dati non trovati"
    else
    x_tar_sped = rs("tabella")
    end if
    rs.close
    set rs = nothing
    conn.Close
    Set conn = Nothing
    end if 
    %>
    <form method="post" action="calcola.asp">
    <input type="text" name="x_AA" value="<%=x_AA%>" />
    <input type="text" name="x_BB" value="<%=x_BB%>" />
    <input type="text" name="x_tar_sped" value="<%=x_tar_sped%>" />
    <input type="submit" value="CALCOLA" />
    </form>
    Ciao Mems, ti ringrazio per avermi risposto.......ma non ho compreso del tutto il codice da te scritto (scusami olte ad essere un po de "coccio" sto mettendo le mani su un sito scritto da un altro e non conoscendo il linguaggio ), ricapitolando devo creare un file asp che contenga il codice che effettui la conn. e mi dia il valore da me ricercato(fino qui spero di aver capito bene), ma non ho capito come faccio a passare il valore contenuto nella var "x_tar_sped" in una capo contenuto nella form da dove ho effettuata la chiamata (ho é una operazione che non si può fare?).
    Grazie ancora per la pazienza
    FreedoM64

  4. #4
    Te l'ho già scritto.
    La query (che tu non hai comunque specificato), ottiene dei risultati che salvo nella variabile x_tar_sped che poi scrivo dentro al terzo campo input della form.
    Facciamo una cosa: scrivimi la query, visto che non l'hai specificata.

  5. #5
    Ciao..scusami ancora ho provato a fare come scrivi tu, ma quando clicco sul pulsante calcola sul video mi compare una pagina bianca di calcola.asp.
    Ti posto la parte di codice contenuto nella pag. "Calcolo spese spedizione.htm" dove sono
    contenuti i campi x_cap e x_fogli (nei quali vengono inseriti i valori che verrano passati a calcola.asp) e il campo "x_tar_sped" in cui mi aspetto il risultato della query.
    Grazie ancora per la pazienza

    Pagina "Calcolo spese spedizione.htm"

    <form method="post" action="calcola.asp">


    <input name="fogli" type="text" id="x_fogli" size="8" maxlength="5">
    <input name="cap" id="x_cap" size="8" maxlength="5">
    <input name="x_tariffa" type="text" id="x_tar_sped" size="9" >

    <input type="submit" name="Submit" value="Calcola">
    <input type="reset" name="Submit2" value="Cancella">



    Questo é il codice del file calcola.asp

    <%
    x_fogli = request.form("x_fogli")
    x_cap = request.form("x_cap")

    Db_Conn_Str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("mdb\spese_spedizione.mdb")
    if len(x_fogli) > 0 and len(x_cap) > 0 then
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open Db_Conn_Str
    Set Rs = Server.CreateObject("ADODB.Recordset")
    StrSQL="SELECT DISTINCT TARIFFE_SPEDIZIONE_BUSTA_AREA_DESTINAZIONE.TARIFFA , TARIFFE_SPEDIZIONE_BUSTA_AREA_DESTINAZIONE.TIPO_CA P FROM TARIFFE_SPEDIZIONE_BUSTA_AREA_DESTINAZIONE INNER JOIN CAP_AREA_DESTINAZIONE ON TARIFFE_SPEDIZIONE_BUSTA_AREA_DESTINAZIONE.CODICE_ AREA = CAP_AREA_DESTINAZIONE.CODICE_AREA WHERE (((TARIFFE_SPEDIZIONE_BUSTA_AREA_DESTINAZIONE.TIPO _CAP)='IT') AND (('" & x_cap & "') Between [CAP_AREA_DESTINAZIONE].[CAP_DA_ARCO] And [CAP_AREA_DESTINAZIONE].[CAP_A_ARCO]) AND ((" & x_fogli & ") Between TARIFFE_SPEDIZIONE_BUSTA_AREA_DESTINAZIONE.NUMERO_ FOGLI_MINIMO And TARIFFE_SPEDIZIONE_BUSTA_AREA_DESTINAZIONE.NUMERO_ FOGLI_MASSIMO))"
    Open StrSQL,conn ,1,2
    if rs.EOF then
    Response.Write("Dati non trovati")
    else
    x_tar_sped = rs("tabella")
    end if
    rs.close
    set rs = nothing
    conn.Close
    Set conn = Nothing
    end if
    %>

  6. #6
    Scusa, ma quando visualizzi la pagina calcola.asp che indirizzo hai sul browser?
    Vedo che hai fatto 2 pagine, io invece ti avevo messo tutto su una pagina...
    ... va bene lo stesso, però, invece di
    x_tar_sped = rs("tabella")
    metti
    response.write rs("tabella")

  7. #7
    Grazie Mems non so come ringraziarti ora funziona perfettamente ....e ho capito qualche cosa di asp......per quanto riguardava l'errore di visualizzazione si verificava solo se facevo un anteprima con FrontPage.
    Grazie ancora per la pazienza che hai avuto.....

    Ciao
    Freedom64

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.