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

    [ASP] Calendario query data

    Ciao ragazzi, dopo le solite e giuro approfondite ricerche sul forum non sono riuscito a risolvere, se mi potete dare una mano voi...

    premesso che all'interno del db acces, le date le ho in formato gg/mm/aaaa e non posso cambiarle, perche' il db mi arriva da un gestionale che non e' possibile andare a modificare.
    ho comunque anche provato a convertire nel formato aaaa/mm/gg ma il risultato non e' cambiato.

    ho la necessita' di creare un calendario, e qualora nel db sono presenti dei record corrispondenti ad una certa data, inserire nel calendario un link sul giorno corrispondente.

    ecco il codice, tralasciando la creazione del calendario, il problema sta nella query che non mi restituisce alcun risultato anche se mi sembra corretta (e ovviamente sono presenti record con quella data)

    codice:
    SELECT * FROM Agenda WHERE DataApp=03/03/2006
    codice:
    <%
    session.LCID = 1040
    currData = date()
    currGiorno = day(now)
    if currGiorno < 10 then currGiorno="0"&currGiorno
    currMese = month(now)
    if currMese < 10 then currMese="0"&currMese
    incrData = "01/"&currMese&"/"&year(currData)
    incrGiorno = currGiorno
    
    response.write("<table border='1' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#FFFFFF' width='100%'>")
    for contSettimana = 0 to 5
    	response.write("<tr>")
    	for contGiorno = 1 to 7
    		incrGiorno = DatePart("w", incrData, 2) ' restituisce un numero da 1 a 7, secondo il giorno della settimana, partendo dal lunedi
    		if contGiorno = incrGiorno then
    			if month(now) = month(incrData) then
    				'response.write(incrData&"
    ")
    				' mi collego al db e vedo se per la data selezionata ci sono record
    				Set ConnAgenda=Server.CreateObject("ADODB.Connection") 
    				DBAgenda="driver={Microsoft Access Driver (*.mdb)}; " 
    				DBAgenda=DBAgenda & " DBQ=" & Server.MapPath("/database/agenda.mdb") 
    				ConnAgenda.open DBAgenda
    				Set rs = Server.CreateObject("ADODB.Recordset") 
    				SQL = "SELECT * FROM Agenda WHERE DataApp="&incrData
    				'response.write(incrData&"
    ")
    				'response.write(SQL)
    				rs.Open SQL, ConnAgenda ,3,3
    				'response.write(rs("DataApp")&"
    ")
    				if not rs.EOF then
    					if currGiorno = day(incrData) Then
    						response.write("<td>"&day(incrData)&"</td>")
    					else
    						response.write("<td>"&day(incrData)&"</td>")
    					end if
    				else
    					if currGiorno = day(incrData) Then
    						response.write("<td>"&day(incrData)&"</td>")
    					else
    						response.write("<td>"&day(incrData)&"</td>")
    					end if
    				end if
    				rs.close
    				set rs=nothing
    				ConnAgenda.close
    				set ConnAgenda=nothing
    			else
    				contSettimana =  5
    			end if
    			incrData = dateAdd("d", 1, incrData)
    		else
    			response.write("<td></td>")
    		end if
    	next
    	response.write("</tr>")
    next
    response.write("</table>")
    %>

  2. #2
    Come mio solito dopo che apro un topic, risolvo il problema.
    Anche se e' successo per caso, e la cosa che ho visto mi fa inc....re!

    In pratica anche se nel db access, vedo la data nel formato gg/mm/aaaa in realta' sono comunque salvati nel formato inglese aaaa/mm/gg.
    (perche'?? problema di versioni di access o cosa?)

    per cui prima di fare la query devo comunque convertire il formato della data che mi serve, ho usato questa funzione.

    codice:
    function FormattaData(iData)
    	iGiorno = day(iData)
    	iMese = month(iData)
    	iAnno = year(iData)
    	if iGiorno<10 then iGiorno="0"&iGiorno
    	if iMese<10 then iMese="0"&iMese
    	FormattaData=iAnno&"/"&iMese&"/"&iGiorno
    end function
    e anche un errore nella query che diventa cosi'

    codice:
    "SELECT * FROM Agenda WHERE DataApp=#"&FormattaData(incrData)&"#"

    a proposito..... che significano quei cancelletti !?

    ciao

  3. #3
    il modo che usa access per indicare dei dati di tipo 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.