• User

    Grazie mille amico, siamo vicini ma ancora qualche problemino...l'errore che mi esce è il seguente:

    Microsoft VBScript compilation error '800a03f9'
    Expected 'Then'
    /ita/aa.asp, line 25
    if(isarray(vettore))
    --------------------^

    come risolvo?


  • ModSenior

    Cavoli scusa che stupido che sono certo ci va il then.

    if(isarray(vettore)) then
    .....
    end if

    Il blocco dice.
    Se abbiamo un risulato effettivo, cioè almeno una persona nata oggi, allora ....
    .....
    fine blocco.


  • User

    c'è ancora qualche problemino, ti posto il codice per intero:

    <% 
    'variabili generali
    tabella = "Utenti"
    mydata = FormatDateTime(Now(),2)
    percorso="/mdb-database/prova_mailing2.mdb"
    mioindirizzomail="indirizzoemaildelsito"
     
    ' Connessione
    Set objConn = Server.CreateObject("ADODB.Connection") 
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(percorso) 
    objConn.Open strConn 
    query = "SELECT Nome,Mail FROM "&tabella&" WHERE Data="&mydata
    set rstmp=connessione.execute(query)
    'assegno il risultato a un vettore
    vettore=rstmp.getrows
     
    'controllo se esistono risultati effettivi
    if(isarray(vettore)) then
    'scorro il vettore
    for indice=0 to ubound(vettore,2)
    'assegno a delle variabili temporanee i valori che mi interessono come mail e nome utente
    tmpnome=vettore(0,indice)
    tmpmail=vettore(1,indice)
    tmptestomail="Ciao " & tmpnome & " auguri da parte nostra"
     
    Set objMail = Server.CreateObject("CDONTS.NewMail") 
    objMail.From=mioindirizzomail
    objMail.To= tmpmail
    objMail.Subject="Auguri" 
    objMail.Body=tmptestomail
    objMail.Send 
    Set objMail = nothing 
    next
    end if
     
    objConn.Close 
    Set objConn = Nothing
     
    %>
    

    l'errore che esce è il seguente:

    Microsoft VBScript runtime error '800a01a8'
    Object required: 'connessione' /ita/include/aa.asp, line 13

    alla linea n. 13 c'è questo: set rstmp=connessione.execute(query)

    P.S: ti informo che l'invio della mail di prova l'ho fatto e funziona bene con la schedulazione di aruba. Basta caricare infatti questa pagina in linea e mi arriva l'email
    così come è settata (quidni con CDO.Message):

    <!--#include virtual="/mdb-database/inc_variabili.asp"-->
     
    <%Dim MiaMail,body,buckup
    Set MiaMail = Server.CreateObject("CDO.Message")
    MiaMail.From = UrlEcom
    buckup = MailAdmin
    MiaMail.To = buckup
    MiaMail.Subject = "Prova !" 
    MiaMail.HTMLBody = "Prova invio e-mail in automatico"
    MiaMail.Fields.Update()
    MiaMail.Send()
    Set MiaMail = Nothing
     
    %>
    

    ti prego dimmi che ci riusciremo...:x


  • User

    Niente da fare, avrei gran voglia di leggere dei manuali ma il tempo è troppo poco, praticamente uguale a zero!
    Questo è l'ultima prova che ho fatto:

    <%
    'variabili generali
    tabella = "Utenti"
    mydata = FormatDateTime(Now(),2)
    percorso="/mdb-database/prova_mailing2.mdb"
    mioindirizzomail="indirizzodelsito"
    ' Connessione
    Set objConn = Server.CreateObject("ADODB.Connection")
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(percorso)
    objConn.Open strConn
    query = "SELECT Nome,Mail FROM "&tabella&" WHERE Data="&mydata
    set rstmp = Conn.execute(query)
    'assegno il risultato a un vettore
    vettore=rstmp.getrows
    'controllo se esistono risultati effettivi
    if(isarray(vettore)) then
    'scorro il vettore
    for indice=0 to ubound(vettore,2)
    'assegno a delle variabili temporanee i valori che mi interessono come mail e nome utente
    tmpnome=vettore(0,indice)
    tmpmail=vettore(1,indice)
    tmptestomail="Ciao " & tmpnome & " auguri da parte nostra"

    Set objMail = Server.CreateObject("CDONTS.NewMail")
    objMail.From=mioindirizzomail
    objMail.To= tmpmail
    objMail.Subject="Auguri"
    objMail.Body=tmptestomail
    objMail.Send
    Set objMail = nothing
    next
    end if
    objConn.Close
    Set objConn = Nothing
    %>

    Cosa c'è di sbagliato? Qualcuno potrebbe aiutarmi a risolvere?
    Grazie in anticipo 😉


  • ModSenior

    Ora che errori ti da?
    P.S occhio alle maiuscole nei post.


  • User

    Il solito errore alla linea 13 cioè:

    Microsoft VBScript runtime error '800a01a8'
    Object required: 'Conn' /ita/include/aa.asp, line 13

    Non capisco perche!


  • ModSenior

    Credo l'errore sia questo.
    Errore causato dal fatto che non si puo provare il codice. 😄

    Cambia questa riga di codice

    set rstmp=connessione.execute(query)

    in

    set rstmp= objConn.execute(query)

    e dimmi se va.


  • User

    Niente da fare...ecco il codice con la tua ultima modifica:

    <% 
    'variabili generali
    tabella = "Utenti"
    mydata = FormatDateTime(Now(),2)
    percorso="/mdb-database/prova_mailing2.mdb"
    mioindirizzomail="mailmiosito"
    ' Connessione
    Set objConn = Server.CreateObject("ADODB.Connection") 
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(percorso) 
    objConn.Open strConn 
    query = "SELECT Nome,Mail FROM "&tabella&" WHERE Data="&mydata
    set rstmp= objConn.execute(query)
    'assegno il risultato a un vettore
    vettore=rstmp.getrows
    'controllo se esistono risultati effettivi
    if(isarray(vettore)) then
    'scorro il vettore
    for indice=0 to ubound(vettore,2)
    'assegno a delle variabili temporanee i valori che mi interessono come mail e nome utente
    tmpnome=vettore(0,indice)
    tmpmail=vettore(1,indice)
    tmptestomail="Ciao " & tmpnome & " auguri da parte nostra"
     
    Set objMail = Server.CreateObject("CDONTS.NewMail") 
    objMail.From=mioindirizzomail
    objMail.To= tmpmail
    objMail.Subject="Auguri" 
    objMail.Body=tmptestomail
    objMail.Send 
    Set objMail = nothing 
    next
    end if
    objConn.Close 
    Set objConn = Nothing
    %>
    

    e questo è l'errore:

    Microsoft JET Database Engineerror '80004005'
    Unrecognized database format 'D:\Inetpub\webs\miosito\mdb-database\prova_mailing2.mdb'.
    /ita/include/aa.asp, line 11

    la linea 11 è questa : objConn.Open strConn

    grazie ancora per l'attenzione...;-)


  • ModSenior

    Ma ora sembriamo esserci sembra essere un problema di database non più di codice.


  • User

    Vuoi che ti invii il database?
    Il percorso è il seguente:

    sito/mdb-database/database.mdb

    la pagina la lancio in un'altra cartella della stessa altezza della cartella mdb-database...

    Dimmi tu cosa posso fare. Grazie e scusa per il disturbo


  • ModSenior

    Su che hosting sei, direi forse Aruba visto la stringa... quindi non dovrebbero esserci problemi.

    Quell'errore dovrebbe essere generato quando.

    1. Il file potrebbe essere corrotto.
    2. Il file è salvato magari in un formato non giusto, prova con mdb 2003.
    3. Il percorso potrebbe essere sbagliato.

    Prova con queste verifiche prima.


  • ModSenior

    Su che hosting sei, direi forse Aruba visto la stringa... quindi non dovrebbero esserci problemi.

    Quell'errore dovrebbe essere generato quando.

    1. Il file potrebbe essere corrotto.
    2. Il file è salvato magari in un formato non giusto, prova con mdb 2003.
    3. Il percorso potrebbe essere sbagliato.

    Prova con queste verifiche prima.


  • User

    Ho messo un nuovo database sicuramente funzionanate con 10 registrazioni, 10 indirizzi e.mail diversi ma tutti funzionanati e 10 date in questo formato ggmmaaaa (ossia 29102009)...

    e questo è l'errore:

    ADODB.Recordset error '800a0bcd'
    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. /ita/include/aa.asp, line 16

    lalinea 16 è la seguente: vettore=rstmp.getrows


  • ModSenior

    Ma non capisco chi richiami questo file aa.asp, il codice che ti ho fornito io no. Quindi dove?


  • User

    Il codice che mi hai fornito è nella pagina denominata aa.asp, una semplice prova...

    Hai qualche soluzione?


  • ModSenior

    Proviamo cosi allora in quella riga scrivi cosi.

    if not  rstmp.eof then
       vettore=rstmp.getrows
    end if
    

    Vediamo se cosi va.


  • User

    Perfetto, questo il nuovo codice però ora mi esce solo una pagina biance senza nessun errore ma non ricevo nemmeno nessuna mail...
    Il formato della data è corretto?

    <%
    'variabili generali
    tabella = "Utenti"
    mydata = FormatDateTime(Now(),2)
    percorso="/mdb-database/prova.mdb"
    mioindirizzomail="mio indirizzo email del sito"
    ' Connessione
    Set objConn = Server.CreateObject("ADODB.Connection")
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(percorso)
    objConn.Open strConn
    query = "SELECT Nome,Mail FROM "&tabella&" WHERE Data="&mydata
    set rstmp= objConn.execute(query)
    'assegno il risultato a un vettore
    if not rstmp.eof then
    vettore=rstmp.getrows
    end if
    'controllo se esistono risultati effettivi
    if(isarray(vettore)) then
    'scorro il vettore
    for indice=0 to ubound(vettore,2)
    'assegno a delle variabili temporanee i valori che mi interessono come mail e nome utente
    tmpnome=vettore(0,indice)
    tmpmail=vettore(1,indice)
    tmptestomail="Ciao " & tmpnome & " auguri da parte nostra"

    Set objMail = Server.CreateObject("CDONTS.NewMail")
    objMail.From=mioindirizzomail
    objMail.To= tmpmail
    objMail.Subject="Auguri"
    objMail.Body=tmptestomail
    objMail.Send
    Set objMail = nothing
    next
    end if
    objConn.Close
    Set objConn = Nothing
    %>


  • ModSenior

    Questo non so prova a vedere cosa ti da.

    mydata = FormatDateTime(Now(),2)
    responde.write "Data ==> " & mydata
    

  • User

    Ecco l'esito

    Microsoft VBScript runtime error '800a01a8'
    Object required: 'responde' /ita/aaaa.asp, line 6

    e la linea 6 è questa: responde.write "Data ==> " & mydata


  • ModSenior

    Pardon ho scritto male, response non responde eh eh.
    Vedrai che ce la faremo. 😄