PDA

Bekijk Volledige Versie : SQL statement met datums



Didi
20/01/03, 16:05
Iemand die mij kan helpen?
Dit sql statement moet bepaalde records uit de database halen die tussen 2
datums liggen.
dagen = 7
DatumVandaag = Date
DatumVerleden = DateAdd("d", -dagen, DatumVandaag)

SQL = "SELECT * FROM Tabel WHERE datum BETWEEN '" &DatumVerleden& "' AND '"
&DatumVandaag& "' ORDER BY titel"


Maar ik krijg de foutmelding:
ADODB.Recordset (0x800A0BCD)
Either BOF or EOF is True, or the current record has been deleted. Requested
operation requires a current record.

Wat waarschijnlijk wilt zeggen dat er geen enkel record in de Recordset
zit... (met zelf ingevulde datums in het sql statement werkt het ook niet)
Wat is er hier mis aan?

mvg, Didi

Didi
20/01/03, 16:55
Ik heb iets gevonden,
Mijn datums worden volgen de wijze 1/01/2003 in access gebracht (door een
form) door het object 'Date'
Maar SQL verwacht en kan zo te zien alleen rekenen met 01/01/2003
schrijfwijze...
Hoe kan ik daar een 0 voor de datum brengen indien nodig in mijn database?
mvg, Didi

"Didi" <dvanherenthals@hotmail.com> schreef in bericht
news:jcUW9.24258$ym5.3735@afrodite.telenet-ops.be...
> Iemand die mij kan helpen?
> Dit sql statement moet bepaalde records uit de database halen die tussen 2
> datums liggen.
> dagen = 7
> DatumVandaag = Date
> DatumVerleden = DateAdd("d", -dagen, DatumVandaag)
>
> SQL = "SELECT * FROM Tabel WHERE datum BETWEEN '" &DatumVerleden& "' AND
'"
> &DatumVandaag& "' ORDER BY titel"
>
>
> Maar ik krijg de foutmelding:
> ADODB.Recordset (0x800A0BCD)
> Either BOF or EOF is True, or the current record has been deleted.
Requested
> operation requires a current record.
>
> Wat waarschijnlijk wilt zeggen dat er geen enkel record in de Recordset
> zit... (met zelf ingevulde datums in het sql statement werkt het ook niet)
> Wat is er hier mis aan?
>
> mvg, Didi
>
>

Joram van den Boezem
21/01/03, 00:15
wie weet helpt dit

vervang
DatumVerleden = DateAdd("d", -dagen, DatumVandaag)
door
DatumVerleden = DateAdd("dd", -dagen, DatumVandaag)

Joram

On Mon, 20 Jan 2003 15:53:55 GMT, Didi <dvanherenthals@hotmail.com> wrote:

> Ik heb iets gevonden,
> Mijn datums worden volgen de wijze 1/01/2003 in access gebracht (door een
> form) door het object 'Date'
> Maar SQL verwacht en kan zo te zien alleen rekenen met 01/01/2003
> schrijfwijze...
> Hoe kan ik daar een 0 voor de datum brengen indien nodig in mijn
> database?
> mvg, Didi
>
> "Didi" <dvanherenthals@hotmail.com> schreef in bericht
> news:jcUW9.24258$ym5.3735@afrodite.telenet-ops.be...
>> Iemand die mij kan helpen?
>> Dit sql statement moet bepaalde records uit de database halen die tussen
>> 2
>> datums liggen.
>> dagen = 7
>> DatumVandaag = Date
>> DatumVerleden = DateAdd("d", -dagen, DatumVandaag)
>>
>> SQL = "SELECT * FROM Tabel WHERE datum BETWEEN '" &DatumVerleden& "' AND
> '"
>> &DatumVandaag& "' ORDER BY titel"
>>
>>
>> Maar ik krijg de foutmelding:
>> ADODB.Recordset (0x800A0BCD)
>> Either BOF or EOF is True, or the current record has been deleted.
> Requested
>> operation requires a current record.
>>
>> Wat waarschijnlijk wilt zeggen dat er geen enkel record in de Recordset
>> zit... (met zelf ingevulde datums in het sql statement werkt het ook
>> niet)
>> Wat is er hier mis aan?
>>
>> mvg, Didi
>>
>>
>
>
>

Gert v O
21/01/03, 21:35
Didi wrote:
> Ik heb iets gevonden,
> Mijn datums worden volgen de wijze 1/01/2003 in access gebracht (door
> een form) door het object 'Date'
> Maar SQL verwacht en kan zo te zien alleen rekenen met 01/01/2003
> schrijfwijze...
> Hoe kan ik daar een 0 voor de datum brengen indien nodig in mijn
> database? mvg, Didi
>
> "Didi" <dvanherenthals@hotmail.com> schreef in bericht
> news:jcUW9.24258$ym5.3735@afrodite.telenet-ops.be...
>> Iemand die mij kan helpen?
>> Dit sql statement moet bepaalde records uit de database halen die
>> tussen 2 datums liggen.
>> dagen = 7
>> DatumVandaag = Date
>> DatumVerleden = DateAdd("d", -dagen, DatumVandaag)
>>
>> SQL = "SELECT * FROM Tabel WHERE datum BETWEEN '" &DatumVerleden& "'
>> AND '" &DatumVandaag& "' ORDER BY titel"
>>
>>
>> Maar ik krijg de foutmelding:
>> ADODB.Recordset (0x800A0BCD)
>> Either BOF or EOF is True, or the current record has been deleted.
>> Requested operation requires a current record.
>>
>> Wat waarschijnlijk wilt zeggen dat er geen enkel record in de
>> Recordset zit... (met zelf ingevulde datums in het sql statement
>> werkt het ook niet) Wat is er hier mis aan?
>>
>> mvg, Didi

De datums in een SQL-statement moeten ingegeven worden in de amerikaanse
datumnotatie omgeven door #
1-feb-2003 wordt #02/01/2003#

Groeten, Gert

Stephan Eggermont
22/01/03, 15:15
Gert v O <gjvo@hotmail.com> wrote:
> De datums in een SQL-statement moeten ingegeven worden in de amerikaanse
> datumnotatie omgeven door #
> 1-feb-2003 wordt #02/01/2003#

Dit is natuurlijk geen standaard SQL, maar zo'n Microsoft variant.
SQL-server gaat anders om met datums dan Access, en geen van beide
houden ze zich aan de standaard.

Richard T. Snodgrass (2000) Developing Time-Oriented
Database Applications in SQL, ISBN 1-55860-436-7

Stephan Eggermont
Sensus, systems that make sense