Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: Campo data access

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488

    Campo data access

    Sto cercando di eseguire una query in base ad un campo data, access, ma sto riscontrando grossi problemi; utilizzando il seguente
    codice:
    <%
    id = trim(request.form("Data"))
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\webs\....mdb")
    Set objRs = Server.CreateObject("ADODB.Recordset")
    id = replace(id,"'","''")
    set objRs = objConn.Execute("SELECT Trattamenti.IDTrattamento, Trattamenti.Data, Trattamenti.OraInizio, [Tipologie Trattamenti].[Descrizione Trattamento], Clienti.[Cognome e Nome] AS Cliente, Dipendenti.[Cognome e Nome] AS Dipendente FROM [Tipologie Trattamenti] RIGHT JOIN (Dipendenti RIGHT JOIN (Clienti RIGHT JOIN Trattamenti ON Clienti.IDCliente = Trattamenti.IDCliente) ON Dipendenti.IDImpiegato = Trattamenti.IDImpiegato) ON [Tipologie Trattamenti].[IDTipo Trattamento] = Trattamenti.[IDTipo Trattamento] WHERE Trattamenti.Data='"&id&"'")
    ricevo il seguente errore :
    codice:
    Microsoft JET Database Engine error '80040e07' 
    Data type mismatch in criteria expression. 
    /riservato/report_appuntamenti_per_data2.asp, line 41
    Qualcuno saprebbe dirmi come posso risolvere questo problema?

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Stampa la query e vediamo cosa contiene "id".
    Il campo data cosa contiene?

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Ok, grazie
    codice:
    SELECT Trattamenti.IDTrattamento, Trattamenti.Data, Trattamenti.OraInizio, [Tipologie Trattamenti].[Descrizione Trattamento], Clienti.[Cognome e Nome] AS Cliente, Dipendenti.[Cognome e Nome] AS Dipendente FROM [Tipologie Trattamenti] RIGHT JOIN (Dipendenti RIGHT JOIN (Clienti RIGHT JOIN Trattamenti ON Clienti.IDCliente = Trattamenti.IDCliente) ON Dipendenti.IDImpiegato = Trattamenti.IDImpiegato) ON [Tipologie Trattamenti].[IDTipo Trattamento] = Trattamenti.[IDTipo Trattamento] WHERE Trattamenti.Data='11/04/2009'

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se il campo data è di tipo data/ora e non testo ci vuole # al posto di '

    Roby

  5. #5
    invece degli apici il valore della data la devi racchiudere tra cancelletti #
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Ma dove devo metterlo # ?
    Nel seguente
    codice:
    <%
    id = trim(request.form("Data"))
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\webs\....mdb")
    Set objRs = Server.CreateObject("ADODB.Recordset")
    id = replace(id,"'","''")
    set objRs = objConn.Execute("SELECT Trattamenti.IDTrattamento, Trattamenti.Data, Trattamenti.OraInizio, [Tipologie Trattamenti].[Descrizione Trattamento], Clienti.[Cognome e Nome] AS Cliente, Dipendenti.[Cognome e Nome] AS Dipendente FROM [Tipologie Trattamenti] RIGHT JOIN (Dipendenti RIGHT JOIN (Clienti RIGHT JOIN Trattamenti ON Clienti.IDCliente = Trattamenti.IDCliente) ON Dipendenti.IDImpiegato = Trattamenti.IDImpiegato) ON [Tipologie Trattamenti].[IDTipo Trattamento] = Trattamenti.[IDTipo Trattamento] WHERE Trattamenti.Data='"&id&"'")

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Alla fine, al posto degli apici.

    Roby

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    veramente ci avevo già provato ma, sebbene non mi dia errore, non ottengo nessun record.
    Se stampo la query ottengo il seguente
    codice:
    SELECT Trattamenti.IDTrattamento, Trattamenti.Data, Trattamenti.OraInizio, [Tipologie Trattamenti].[Descrizione Trattamento], Clienti.[Cognome e Nome] AS Cliente, Dipendenti.[Cognome e Nome] AS Dipendente FROM [Tipologie Trattamenti] RIGHT JOIN (Dipendenti RIGHT JOIN (Clienti RIGHT JOIN Trattamenti ON Clienti.IDCliente = Trattamenti.IDCliente) ON Dipendenti.IDImpiegato = Trattamenti.IDImpiegato) ON [Tipologie Trattamenti].[IDTipo Trattamento] = Trattamenti.[IDTipo Trattamento] WHERE Trattamenti.Data=#11/04/2009#
    ?

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Il db ragiona all'inglese mm/dd/yyyy quindi è probabile tu debba invertire il mese con il giorno.

    Roby

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    no, neanche così mi da nulla!

    Ristampo la query e ottengo :
    codice:
    SELECT Trattamenti.IDTrattamento, Trattamenti.Data, Trattamenti.OraInizio, [Tipologie Trattamenti].[Descrizione Trattamento], Clienti.[Cognome e Nome] AS Cliente, Dipendenti.[Cognome e Nome] AS Dipendente FROM [Tipologie Trattamenti] RIGHT JOIN (Dipendenti RIGHT JOIN (Clienti RIGHT JOIN Trattamenti ON Clienti.IDCliente = Trattamenti.IDCliente) ON Dipendenti.IDImpiegato = Trattamenti.IDImpiegato) ON [Tipologie Trattamenti].[IDTipo Trattamento] = Trattamenti.[IDTipo Trattamento] WHERE Trattamenti.Data=#04/11/2009#
    E giuro che ci sono records in quella data.

    ?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.