Salve a tutti ho questo tipo di problema devo fare uno script che estragga dei dati dal database in questa maniera:
Gennaio 2012
elenco record dei dati di gennaio
febbraio 2012
elenco record dei dati di febbraio
ecc ecc continuando nei mesi.
Uso un database access ed ho questo problema:
se faccio la query sql estraendo tutti i dati ordinati la query va se invece uso un modulo
per usare anche una query string visualizzare i dati in base ad un anno mi da errore:
Microsoft Access Database Engine error '80040e07'
Tipi di dati non corrispondenti nell'espressione criterio.
posto il codice:
' variabile per la query string inviata dal modulo
dim anno
anno = Request.QueryString("anno")
dim conn, rs, rs_2, sql_string, sql_string_2
set conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
set rs_2 = Server.CreateObject("ADODB.Recordset")
dim strConnection
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & Server.MapPath("/asp/administration/database/rgta2.mdb")
' mi connetto al database
conn.Open strConnection
' Crea la query dove estraggo l'id del mese recordset
sql_string = "SELECT DISTINCT mese_id FROM tbl_posta_in_visione"
'apro il recordset 1
rs.Open sql_string, conn
' utilizzo inoltre dei cicli nidificati
do while not rs.EOF
' e questa è la query che non va...
sql_string_2 ="SELECT * FROM tbl_posta_in_visione WHERE mese_id =" & rs("mese_id") & " and anno=" & anno &""
rs_2.Open sql_string_2,conn
do while not rs_2.eof
Response.Write(rs_2("oggetto")&"")
Response.Write(rs_2("link")&"")
Response.Write(rs_2("data")&"
")
rs_2.movenext
loop
' chiudo il recordset 2 e lo riapre il ciclo all'inizio
rs_2.Close
' porto avanti il puntatore del rs 1 per scorrere i mesi
rs.movenext
' fine ciclo principale
loop
rs.close
il database access si riferisce ad un campo di tipo numerico mese_id
C'e qualcuno che chiarirmi questo emblema?

Rispondi quotando
