|
|
| Auteur |
Bericht |
henge
|
|
Onderwerp: Selecteren datum
Geplaatst: 10 jul 2010 - 18:44
|
|
Rookie Developer
Geregistreerd op: 18-feb-2010
Berichten: 9
Status: Offline
|
|
Beste Forum,
Ik ben bezig om een proggie te schrijven die data haalt uit een acces database.
Hierin staat de kolom Zeit, welke de datum en tijd bevat. 4-7-2010 2:22:54
Er wordt data elke 5 minuten weg geschreven in de database.
Nu wil ik graag in vb net een proggie schrijven waarbij ik alle data van bijvoorbeeld juni kan halen.
De data wil ik weergeven in een datagridcontrol, dit lukt ook maar dan voor alle data!
Visual Basic code: Dim SQLstr As String = "SELECT * from em_model"
Ik had iets bedacht van Select * from em_model where Zeit is between "datepicker1" and "datepicker2"
Dit lukt niet, heeft iemand een idee hoe ik waardes tussen datums kan selecteren..
bedankt[/vb] |
|
|
| |
|
|
|
 |
chrissie1
|
|
Onderwerp: Re: Selecteren datum
Geplaatst: 10 jul 2010 - 19:20
|
|
Senior Developer

Geregistreerd op: 09-mei-2010
Berichten: 188
Status: Offline
|
|
Zoiets
Visual Basic code: dim sqlstr = "select * from em_model where month(zeit) = @month and year(zeit) = @year"
deze maken gebruik van parameters (altijd een goed idee, eigenlijk de enige goede manier)
dus moet je deze invullen via de parameters van je commandobject.
Visual Basic code: dim _com = new OleDBCommand _Com.CommandTex = sqlstr Com.Parameters.Add(new OleDB.OleDbParameter("month", OleDb.OleDbType.int32) Com.parameters(0).value = datepicker1.vallue.month Com.Parameters.Add(new OleDB.OleDbParameter("year", OleDb.OleDbType.int32) Com.parameters(1).value = datepicker1.vallue.year[
|
_________________ Blog
Twitter
|
| |
|
|
|
 |
henge
|
|
Onderwerp: Re: Selecteren datum
Geplaatst: 12 jul 2010 - 20:51
|
|
Rookie Developer
Geregistreerd op: 18-feb-2010
Berichten: 9
Status: Offline
|
|
Bedankt voor je antwoord.
Het is niet geheel duidelijk voor mij, ben maar een beginneling, maar ik heb het volgende bedacht:
Visual Basic code: Dim SQLstr As String = "Select * from em_model where Zeit1 Between #" & Z & "# AND #" & X & "#"
Z = datetimepicker begin
X = datatimepicker eind
Op zich werkt dit wel, als ik bijvoorbeeld 5 dagen in de mdb heb staan, bijvoorbeeld 12-7-2010 t/m 16-7-2010.
Ik selecteer via mijn datetimepicker begin 12-7-2010 en eind 16-7-2010 dan zie ik alleen 16-7-2010.
Selecteer ik 12-7 en 15-7 dan krijg ik 15-7 en 16-7 te zien.
Selecteer ik begin en einde van de maand dan zie ik wel alle records.
Ik hoop dat iemand hie raad mee weet.[/vb] |
|
|
| |
|
|
|
 |
Jenny
|
|
Onderwerp: Re: Selecteren datum
Geplaatst: 13 jul 2010 - 22:07
|
|
Professional Developer
Geregistreerd op: 01-feb-2007
Berichten: 363
Status: Offline
|
|
een woordje over datums:
welke datum is 12-7-2010 ??? is dat 12 juli 2010, of is dat 7 december 2010 ???
welke datum is 2010-07-12 ....dat kan alleen 12 juli 2010 zijn
welk datumformaat is niet voor interpretatie vatbaar 12-7-2010 of 2010-07-12 ???
welk datumformaat kunt u dus best gebruiken in uw sql ?
een woordje over het datetime datatype
het datetime datatype bevat zowel een datum deel als een tijdstip deel
laat ons nu veronderstellen dat u de data wil vinden die op 12 juli 2010 en 13 juli 2010 naar de database gezonden is
en uw sql ziet er zo uit:
Select * from em_model where Zeit1 Between #2010-07-12# AND #2010-07-13#
wat gaat u dan terugkrijgen ?
a)alle data van 12 juli 2010 en 13 juli 2010
b)alle data van 12 juli 2010 en slechts 1 enkele data van 13 juli 2010
c)alle data van 12 juli 2010 en geen enkele data van 13 juli 2010
test dat eens uit
stel uw sql ziet er zo uit:
Select * from em_model where Zeit1 >= #2010-07-12# AND Zeit1 < #2010-07-14#
wat gaat u dan terugkrijgen ?
test dat eens uit |
|
|
| |
|
|
|
 |
chrissie1
|
|
Onderwerp: Re: Selecteren datum
Geplaatst: 14 jul 2010 - 08:16
|
|
Senior Developer

Geregistreerd op: 09-mei-2010
Berichten: 188
Status: Offline
|
|
| En om al die problemen te vermijden die Jenny opsomt kun je best de parameters gebruiken die ik al heb voorgesteld. |
_________________ Blog
Twitter
|
| |
|
|
|
 |
henge
|
|
Onderwerp: Re: Selecteren datum
Geplaatst: 14 jul 2010 - 09:41
|
|
Rookie Developer
Geregistreerd op: 18-feb-2010
Berichten: 9
Status: Offline
|
|
Hallo,
Bedankt voor de antwoorden, het probleem lag inderdaad aan de notatie.
ik kwam erachter toen ik het volgende ging selecteren;
15-4-2010 (15 april) en 15-5-2010, deze waardes waren correct.
Toen
12-4-2010 en 15-5-2010, toen kreeg ik alles na 15-5-2010.
Blijkt dus dat 12-4-2010 gezien wordt als 4 dec 2010.
Opgelost als volgt:
datum notatie van acces en vb.net aangepast: yyyy-mm-dd
Nogmaals bedankt |
|
|
| |
|
|
|
 |
henge
|
|
Onderwerp: Re: Selecteren datum
Geplaatst: 14 jul 2010 - 09:42
|
|
Rookie Developer
Geregistreerd op: 18-feb-2010
Berichten: 9
Status: Offline
|
|
Chrissie1:
Ik snap nu ook wat je bedoeld, goede tip. |
|
|
| |
|
|
|
 |
Jenny
|
|
Onderwerp: Re: Selecteren datum
Geplaatst: 15 jul 2010 - 19:53
|
|
Professional Developer
Geregistreerd op: 01-feb-2007
Berichten: 363
Status: Offline
|
|
henge schreef:
Opgelost als volgt:
datum notatie van acces en vb.net aangepast: yyyy-mm-dd
lost dat je probleem werkelijk op ?
of heb je het probleem alleen maar erger gemaakt ?
heb je werkelijk getest wat ik voorgesteld heb ?
een query die regelmatig totaal foutieve resultaten geeft is niet echt een probleem he, je ondervind duidelijk dat ze niet klopt
een query die slechts heel zelden een miniem foutief resultaat geeft is daarentegen een groot probleem
post hier eens de sql die je nu gebruikt (de tekst van je gegenereerde sql) |
|
|
| |
|
|
|
 |
henge
|
|
Onderwerp: Re: Selecteren datum
Geplaatst: 16 jul 2010 - 14:00
|
|
Rookie Developer
Geregistreerd op: 18-feb-2010
Berichten: 9
Status: Offline
|
|
Bij deze,
Visual Basic code: Try verbinding.Open()
With dbAdaptr Dim Z As String = DTPbegin.Text Dim X As String = DTPeind.Text
Dim SQLstr As String = "Select * from em_model where Zeit Between #" & Z & "# AND #" & X & "#"
De query zoals jij die voorstelde werkte bij mij niet, lijkt mij op zich een goede, maar ik ben maar een beginneling.
mvg |
|
|
| |
|
|
|
 |
Jenny
|
|
Onderwerp: Re: Selecteren datum
Geplaatst: 17 jul 2010 - 16:32
|
|
Professional Developer
Geregistreerd op: 01-feb-2007
Berichten: 363
Status: Offline
|
|
wat bedoel je met:
Quote: De query zoals jij die voorstelde werkte bij mij niet
natuurlijk werkt dat wel,een query die syntactisch juist is werkt altijd
of je het verwachte resultaat terug krijgt...dat is iets anders
de bedoeling was juist dat je die query's probeerde,zodat je misschien zou begrijpen wat je fout doet
een query die syntactisch juist is geeft je altijd exact terug wat je gevraagt hebt
maar...is wat je vraagt via een query...wel wat je wil weten ????
ik vroeg je:
Quote: post hier eens de sql die je nu gebruikt (de tekst van je gegenereerde sql)
en je post de code die je gebruikt om de sql te genereren...dat heb ik je niet gevraagd he
zet achter:
Quote: Dim SQLstr As String = "Select * from em_model where Zeit Between #" & Z & "# AND #" & X & "#"
eens:
debug.print SQLstr
en post hier eens wat er dan in het debug venster staat |
|
|
| |
|
|
|
 |
|
|
|
|