Dobrý den,
předem se omlouvám že píši sem ale většina lidí ve VBA pracovala. Potřebuji poradit s vytáhnutím dat z DB v Accessu. Dotaz má následující syntaxi:
strSQL = "SELECT count(*) as ok FROM Pozadavek WHERE Vysledek = -1 AND Oblast_kontroly = (SELECT ID_oblasti FROM Oblast_kontrol WHERE Nazev LIKE '" & Text18.Value & "') AND Datum_zadani BETWEEN #" & d_in & "# AND #" & d_out & "#"
Jedná se o vytažení počtu záznamů které splňují zadané podmínky, jenže chyba nastává v sekci : Datum_zadani BETWEEN #" & d_in & "# AND #" & d_out & "#" kdy mi celý dotaz vrátí data za období od začátku roku po d_out, jednoduše řečeno vůbec nebere v potaz proměnnou d_in.
Zkráceně řečeno mám 4 záznamy které jsou každý v jednom kvartále když chci počet za první kvartál vrátí mi to 1, když chci za druhý kvartál tak 2 , 3 kvartál 3 záznamy což mi nekoresponduje s uvedeným dotazem.
Našel jsem hodně řešení ale v Accessu nejde použít ani convert ani to_date. Proměnné d_in a d_out jsou typu String, sloupec Datum_zadaní v tabulce je typu Date.
Tato funkce mi určuje hodnoty proměnných d_in a d_out a nikde jinde než v této funkci tyto proměnné nenastavuji:
Select Case PoleSeSeznamem20.ListIndex
Case 0
d_in = "1/1/" & DateTime.Year(Date)
d_out = "31/3/" & DateTime.Year(Date)
obd_vystup = "1" + DateTime.Year(Date)
Case 1
d_in = "1/4/" & DateTime.Year(Date)
d_out = "30/6/" & DateTime.Year(Date)
obd_vystup = "2" + DateTime.Year(Date)
Case 2
d_in = "1/7/" & DateTime.Year(Date)
d_out = "30/9/" & DateTime.Year(Date)
obd_vystup = "3" + DateTime.Year(Date)
Case 3
d_in = "1/10/" & DateTime.Year(Date)
d_out = "31/12/" & DateTime.Year(Date)
obd_vystup = "4" + DateTime.Year(Date)
End Select
Děkuji za radu.