report da query campo data calcolato (con campi in errore) non filtra per data

Anonimo
2024-10-18T06:05:42+00:00

Buongiorno a tutti, chiedo aiuto per questo. ho una query di raggruppamento. In un campo chiamato datafinescorta calcolo una data con la funzione DateAdd. Non tutti i record della query producono una data utile perchè per alcuni mancano i dati ( scorta iniziale e data di inizio calcolo) necessari al calcolo della data nel campo datafinescorta. Quindi per questi record il campo datafinescorta esce con #errore#.

Da questa query ho comunque fatto un report con il quale vorrei filtrare tutte le date del campo datafinescorta del mese corrente o della settimana corrente. Ma non lo fa e mi dice tipo di dati non rispondenti. Inoltre appena apro il report ricevo un messaggio attesa connessione alla stampante che non capisco da dove viene fuori.

grazie dell'aiuto!

Sara

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2024-10-21T17:12:07+00:00

Ecco l'istruzione Sql corretta:

SELECT [piano terapia].ospite, Sum([piano terapia].qtà) AS SommaDiqtà, [piano terapia].medicinale, [piano terapia].specificasomministrazione, Min([piano terapia].[qtà ingresso]) AS scorta, Min([piano terapia].[data inizio calcolo]) AS MinDataInizioCalcolo, Min([piano terapia].appoggio) AS MinDiappoggio, Min([piano terapia].datamodifica) AS MinDidatamodifica, consumogiornalieroqry.[consumo giornaliero], [lista medicinali].[Qtà cfz], [SommaDiqtà]*[consumogiornalieroqry]![consumo giornaliero] AS qtaconsgg, DateDiff("d",[MinDataInizioCalcolo],Date()) AS ggtrasc, ([scorta]-([qtaconsgg]*7))/[qtaconsgg] AS ggconsumoscorta, [scorta]-([qtaconsgg]*[ggtrasc]) AS qtanow, DateDiff("d",[MinDataInizioCalcolo],[MinDidatamodifica]) AS ggtrascmodifica, IIf(IsNull([MinDataInizioCalcolo]),Null,DateAdd("d",Nz([ggconsumoscorta],0),[MinDataInizioCalcolo])) AS datafinescorta, [scorta]-([qtaconsgg]*[ggtrascmodifica]) AS qtamod, Format([datafinescorta],"dd-mm-yyyy") AS dfs, Min([piano terapia].IDpianoterapia) AS MinDiIDpianoterapiaFROM [lista medicinali] INNER JOIN (AnagraficaOspite INNER JOIN ([piano terapia] INNER JOIN consumogiornalieroqry ON [piano terapia].specificasomministrazione = consumogiornalieroqry.specifichegiorni) ON AnagraficaOspite.IDOspite = [piano terapia].ospite) ON [lista medicinali].ID = [piano terapia].medicinaleWHERE ((([piano terapia].[terapia in corso])=No) AND ((AnagraficaOspite.Presente)=Yes))GROUP BY [piano terapia].ospite, [piano terapia].medicinale, [piano terapia].specificasomministrazione, consumogiornalieroqry.[consumo giornaliero], [lista medicinali].[Qtà cfz]HAVING ((([piano terapia].specificasomministrazione)<>49));

mi dispica dirlo ma il database ha una struttura fatta male:

  • manca l'uso corretto delle proprietà dei campi (vedi Cognome dovrebbe avere impostato a sì, in quanto deve essere garantito sempre il suo inserimento per poter salvare un record, ecc...)
  • manca la normalizzazione dei dati (vedi seconda dose terza dose, assistente assegnata, ecc...)
  • manca l'integrità referenziale fra molte tabelle
  • i nomi dei vari oggetti Tabelle, query, ecc... debbono essere privi di spazi per non complicarti la vita soprattutto usando il codice
  • un database di 5068 KB è divendato di 25000 KB non avendo impostato la Compattazione dello stesso in chiusura.
  • ecc...

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

13 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2024-10-22T16:26:16+00:00

    Grazie ti ho scritto!

    La risposta è stata utile?

    0 commenti Nessun commento