Query su tabella con data e ora in colonne differenti

di il
4 risposte

Query su tabella con data e ora in colonne differenti

Buon giorno
premetto che ho cercato nel forum ma non ho trovato una soluzione che facesse al caso mio.
Dunque:
Ho una tabella così composta:
[Codice] [Data inizio] [Ora inizio] più altri campi che non importa che inserisca.
Ora quello che voglio è estrarre tutti i valori di un determinato codice compresi tra una determinata data e ora.
Se la ricerca avviene in un range temporale all'interno della giornata i dati mi vengono estratti correttamente, ma se chiedo i dati compresi ad esempio tra il 21/09/2016 21.00.00 e 22/09/2016 05.00.00 la query mi restituisce tutti i valori compresi in tra le 5 e le 21 del 21/09/2016 e tutti i valori compresi tra le 5 e le 21 del 22/09/2016 e non i dati compresi tra le 21 del 21/09/2016 e le 5 del 22/09/2016 (in pratica voglio la produzione notturna).
Vi allego sotto la query che ho fatto, potreste aiutarmi?
Grazie

SELECT tabAppoggio.Codice, tabAppoggio.[Data Inizio], tabAppoggio.[Ora Inizio], tabAppoggio.Partita, tabAppoggio.Progressivo, tabAppoggio.[Parametro 1], tabAppoggio.[Parametro 2]
FROM tabAppoggio
WHERE (((tabAppoggio.Codice)=601) AND ((tabAppoggio.[Data Inizio]) Between [Forms]![mscAnalisi]![txtStartData].[value] And [Forms]![mscAnalisi]![txtStopData].[value]) AND ((tabAppoggio.[Ora Inizio]) Between [Forms]![mscAnalisi]![txtStartOra].[value] And [Forms]![mscAnalisi]![txtStopOra].[value]))
ORDER BY tabAppoggio.[Data Inizio], tabAppoggio.[Ora Inizio];

4 Risposte

  • Re: Query su tabella con data e ora in colonne differenti

    Perchè hai Data ed Ora separati...?
    Sai che il campo di tipo Data comprende l'ora e che tu non la stai usando...?
    Il formato del campo del Database è questo [dd/mm/yyyy hh:nn:ss]

    Ne consegue che per ricerche ti complichi moltissimo le cose... peraltro i campo data sono un po rognosi...
  • Re: Query su tabella con data e ora in colonne differenti

    Grazie @Alex
    Purtroppo prendo quello che mi danno!
    Il db viene popolato da un impianto e la tabella non la posso modificare!
    tabAppoggio è una copia della tabella di lavoro e su quella volendo posso fare le modifiche, una delle prove che ho fatto nei giorni passati era quella di creare una colonna con valori dataora che fosse l'unione dei due campi in modo da fare le ricerche come volevo io ma non riuscivo ad importare i dati.
  • Re: Query su tabella con data e ora in colonne differenti

    Ok ho risolto!
    Ho fatto così, ho creato una tabella di appoggio con una colonna datatime in questa tabella copio dalla tabella originale tutti i dati e nella nuova colonna unisco i due campi data inizio e ora inizio in questo modo riesco a fare tutte le ricerche che voglio.
    Questa è la query che ho utilizzato:
    
    INSERT INTO tabAppoggio
    SELECT TabProduzione.*, [Data Inizio] & " " & [Ora Inizio] AS DataOraIn
    FROM TabProduzione;
    
    Grazie per il supporto.
  • Re: Query su tabella con data e ora in colonne differenti

    Perché fare tabelle di appoggio...?
    Non bastava una query con campo calcolato dato dalla concatenazione del campo giorno e ora...?
Devi accedere o registrarti per scrivere nel forum
4 risposte