ja between bør gøre det ala "Where DGT Between DateAdd("h",-12,Now()) And DateAdd("h",12,Now())" Men det kræver at DGT laves om til brugbart dato format, hvilket er muligt med omsonst Der må gælde følgende aar = split(DGT," ")(2) maaned = split(DGT," ")(1) dag = Left(DGT,2) time = Mid(DGT,3,2) minut = Mid(DGT,5,2) ergo har man DGT i dato format ved først lave datoen nyDato = DateSerial(aar,maaned,dag) så lægge timer til nyDato = DateAdd("h",time,nyDato) så lægge minutter til nyDato = DateAdd("n",time,nyDato) ---- Alt dette skal så stå istedet for DGT Jeg undrer mig over dit valg af dato format, men du har måske en god grund? Hvis du havde det som en normal dato i databasen ville det generelt lette søgninger :o)
der er endda fejl i det jeg skriver da år og måned ikke dur på den måde Med mindre du har en speciel grund til dit tidsformat, så ville jeg overveje at gemme det som en normal dato Den eneste information en normal dato ikke indeholder er om det er sommer eller vinter tid
Der er muligheder i ovenstående, men jeg får en fejl.
jeg tæller i db'en via en funktion. I denne funktion prøver jeg at koble busschou kode på:
Function aCount(strFrom, objConn, objrs) strSQL = "SELECT COUNT(*) AS Antal FROM " & strFrom Set objrs = objConn.Execute(strSQL) aCount = objrs("Antal") DTG = objrs("S_ETIC")' indeholder formatet(fx) "261000Z AUG 05" aar = split(DTG," ")(2) maaned = split(DTG," ")(1) dag = Left(DTG,2) time = Mid(DTG,3,2) minut = Mid(DTG,5,2) nyDato = DateSerial(aar,maaned,dag) nyDato = DateAdd("h",time,nyDato) nyDato = DateAdd("n",time,nyDato) End Function
Hvor jeg henter resultatet således ind i layoutet:
bla bla
<td align="center"><%=aCount("fly_status WHERE S_ETIC BETWEEN DateAdd(''h'',-12,Now()) AND DateAdd(''h'',12,Now())", Conn, rs)%></td>
bla bla
Men det giver denne fejl: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'S_ETIC BETWEEN DateAdd(''h'',-12,Now()) AND DateAdd(''h'',12,Now())'.
Kobler jeg koden forkert sammen? jeg har skiftet " ud med '' da " gav problemer... jeg har også prøvet at indsætte: DTG = "261000Z AUG 05"
da det er datoer skal der # omkring, det var min fejl :o/ Men du kan ikke gøre som du gør Det jeg ville frem til var at du gør sådan her --- "select * from tabel where DGT Between #DateAdd("h",-12,Now())# And #DateAdd("h",12,Now())#" --- I det udtryk skal du erstatte DGT med den store smøre jeg har tjekket at følgende giver dig en dato --- dgt = "260910Z AUG 05" aar = split(DGT," ")(2) maaned = split(DGT," ")(1) dag = Left(DGT,2) timen = Mid(DGT,3,2) minut = Mid(DGT,5,2) nyDato = DateValue(maaned &" "& dag &","& aar) nyDato = DateAdd("h",timen,nyDato) nyDato = DateAdd("n",minut,nyDato) response.write nyDato --- Dvs totalt set skal du erstatte DGT med følgende DateAdd("n",Mid(DGT,5,2),DateAdd("h",Mid(DGT,3,2),DateValue(split(DGT," ")(1) &" "& Left(DGT,2) &","& split(DGT," ")(2)))) --- Så du får følgende (i mine øjne lidt møg kode ;o) hehe i hvert fald uoverskuelig) --- "select * from tabel where DateAdd("n",Mid(DGT,5,2),DateAdd("h",Mid(DGT,3,2),DateValue(split(DGT," ")(1) &" "& Left(DGT,2) &","& split(DGT," ")(2)))) Between #DateAdd("h",-12,Now())# And #DateAdd("h",12,Now())#" --- Hvis du nu havde DGT i normalt dato format kunne du nøjes med der blot stod DGT :o)
bedre sent end aldrig :o) nu er min mail endelig oppe og virke igen weee... Så her er et svar :o))
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.