Between date vba sql parametri insufficienti previsto 2

di il
4 risposte

Between date vba sql parametri insufficienti previsto 2

Buongiorno a tutti,
le date, lo so, sono sempre state il mio cruccio

ho aperto un recordset da vba vorrei selezionarmi tutti i record all'interno di due date che vengono prelevate da una maschera
var_inizio = Me!inizio.Value
var_fine = Me!fine.Value

1)
strsql = strsql & "WHERE ([q_Calendario.Giorno] between ('#' & Format(var_inizio, 'dd/mm/yyyy') & '#') And ('#' & Format(var_fine, 'dd/mm/yyyy') & '#'))  

2)
strsql = strsql & "WHERE ([q_Calendario.Giorno] between (Format(var_inizio, 'dd/mm/yyyy')) And (Format(var_fine, 'dd/mm/yyyy')))  "

sto tentando sia con la prima che con la seconda istruzione

in debug
var_inizio e' 01/03/2019
var_fine e' 31/03/2019

all'interno di q_Calendario ci sono Giorni di marzo 2019

chi mi puo' aiutare?

4 Risposte

  • Re: Between date vba sql parametri insufficienti previsto 2

    ocrot ha scritto:


    ...
    chi mi puo' aiutare?
    Aggiungi un debug.print di strsql immediatamente prima del suo uso, quando presumibilmente compare l'errore, e vediamo come è il predicato sql completo perché così è un po' complicato.
  • Re: Between date vba sql parametri insufficienti previsto 2

    Eccolo
    
    SELECT q_Calendario.Giorno, q_Riepilogo_presenze.Id_bambino, Switch([Giornodellasettimana]=1,[Frequenza_Domenica],[Giornodellasettimana]=2,[Frequenza_Lunedi],[Giornodellasettimana]=3,[Frequenza_Martedi],[Giornodellasettimana]=4,[Frequenza_Mercoledi],[Giornodellasettimana]=5,[Frequenza_Giovedi],[Giornodellasettimana]=6,[Frequenza_Venerdi],[Giornodellasettimana]=7,[Frequenza_Sabato]) AS Frequenza, q_Calendario.Aperto_o_chiuso  FROM q_Calendario, q_Riepilogo_presenze  WHERE ([q_Calendario.Giorno] between (Format(var_inizio, 'dd/mm/yyyy')) And (Format(var_fine, 'dd/mm/yyyy')))  ORDER BY q_Calendario.Giorno, q_Riepilogo_presenze.Sort_bambino, q_Riepilogo_presenze.Id_bambino;  
    
  • Re: Between date vba sql parametri insufficienti previsto 2

    Io aggiungerei nella strsql la dichiarazione PARAMETERS.
  • Re: Between date vba sql parametri insufficienti previsto 2

    Spiega meglio quella Query che contiene solo i gg di Marzo... dicci esattamente il Campo che definisce il giorno di che tipo è... e se hai un campo Data... perchè se il campo Giorni è Numerico ed operi all'interno di un mese predefinito, non serve filtrare per Data ma basta filtrare per Giorno... al contrario se hai il campo data, la sintassi sarà molto più semplificabile di quello che hai scritto...
    
    "SELECT * FROM NomeQuery WHERE CampoData Between " & clng(Me!DataInizio) & " AND " & clng(Me!DataFine) & " Order BY....."
    Saluti
Devi accedere o registrarti per scrivere nel forum
4 risposte