@Alex ha scritto:
I parametri non possono chiamarsi con i Riferimenti della Maschera... hanno un NOME, se non pubblichi il predicato SQL non possiamo aiutarti, di certo non può essere così:
qdf.Parameters![Forms!Frm_maschera_iniziale!Anno] = Forms!Frm_maschera_iniziale!Anno
ma così:
qdf.Parameters![NomeParametroAnno] = Forms!Frm_maschera_iniziale!Anno
P.S. in ogni caso la Query PARAMETRICA non serve... o meglio può essere usata alla stessa stregua della WHERE CONDITION, quindi non è LA SOLUZIONE che invece risiede nel codice successivo nel CICLO.
Non vorrei tu avessi confuso la Soluzione in quella parte di codice, se usi la Normale WHERE su OPENREPORT ottieni la medesima cosa senza quel codice.
Ciao ancora grazie per la tua pazienza, la query ed il report funzionano correttamente eliminando le due line incriminate, questo SQL:
TRANSFORM Sum([Presenze Dipendenti].OrePresenzaDipendente) AS SommaDiOrePresenzaDipendente
SELECT Dipendenti.Cognome, Dipendenti.Nome, TipoPresenzaDipendente.TipoPresenza AS Descrizione, Sum([Presenze Dipendenti].OrePresenzaDipendente) AS [Ore Totali]
FROM Dipendenti INNER JOIN (TipoPresenzaDipendente INNER JOIN [Presenze Dipendenti] ON TipoPresenzaDipendente.IdTipoPresenze = [Presenze Dipendenti].TipoPresenzaDipendente) ON Dipendenti.ID_Dipendente = [Presenze Dipendenti].ID_DIPENDENTE
GROUP BY Dipendenti.Cognome, Dipendenti.Nome, TipoPresenzaDipendente.TipoPresenza
ORDER BY Dipendenti.Cognome, Dipendenti.Nome, TipoPresenzaDipendente.TipoPresenza DESC , Format([DataPresenzaDipendente],"dd")
PIVOT Format([DataPresenzaDipendente],"dd");
Questo è il risultato del report:
Quando poi inserisco i parametri per selezionare il periodo:
PARAMETERS datainizio DateTime, datafine DateTime;
TRANSFORM Sum([Presenze Dipendenti].OrePresenzaDipendente) AS SommaDiOrePresenzaDipendente
SELECT Dipendenti.Cognome, Dipendenti.Nome, TipoPresenzaDipendente.TipoPresenza AS Descrizione, Sum([Presenze Dipendenti].OrePresenzaDipendente) AS [Ore Totali]
FROM Dipendenti INNER JOIN (TipoPresenzaDipendente INNER JOIN [Presenze Dipendenti] ON TipoPresenzaDipendente.IdTipoPresenze = [Presenze Dipendenti].TipoPresenzaDipendente) ON Dipendenti.ID_Dipendente = [Presenze Dipendenti].ID_DIPENDENTE
WHERE ((([Presenze Dipendenti].DataPresenzaDipendente) Between [datainizio] And [datafine]))
GROUP BY Dipendenti.Cognome, Dipendenti.Nome, TipoPresenzaDipendente.TipoPresenza
ORDER BY Dipendenti.Cognome, Dipendenti.Nome, TipoPresenzaDipendente.TipoPresenza DESC , Format([DataPresenzaDipendente],"dd")
PIVOT Format([DataPresenzaDipendente],"dd");
Ho questo errore:
Tu come risolveresti il problema.
Grazie ancora
gianni