[VBA] Between lukt niet erg

Pagina: 1
Acties:

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
Een goedemorgen,

ik ben hier nu al een tijdje mee aan het stoeien. Ik heb in 1 tabel een veld met daarin een datum. Uit een andere tabel haal ik de kwartalen met de daarbij horende data. Als ik echter zeg dat hij de waardes moet tellen die tussen 2 data vallen (in dit geval tussen begin van een kwartaal en eind van een kwartaal)) dan gaat het tog niet helemaal goed

code:
1
2
3
4
5
6
7
8
9
kwartaal = DLookup("quarter", "weeknummers", "id = " & i & "")
begin = DLookup("min(id)", "weeknummers", "quarter = '" & kwartaal & "'")
eind = DLookup("max(id)", "weeknummers", "quarter = '" & kwartaal & "'")
startdate = Format(DLookup("fromdate", "weeknummers", "id = " & begin & ""), "dd mm yyyy")
enddate = Format(DLookup("todate", "weeknummers", "id = " & eind & ""), "dd mm yyyy")
'opgedeeld voor de lay-out
nrreturn = DLookup("Count(retournummer)", "Retournummer", 
"Right(Left(Productcode, 15), 6) = '" & Me.Product & "' 
AND Datum_Completed Between #" & startdate & "# AND #" & enddate & "#")

Zoals te zien is geef ik de data een specifieke format mee, echter zo staat het ook al in de database met exact dezelfde format (dd mm yyyy)

Ik heb op dit moment in de tabel maar 1 waarde staan, tog weet Access het voor elkaar te krijgen om hem 4x te vinden als ik tussen 2002 en 2006 zoek. Iemand die dit begrijpt? Of misschien tips heeft om dit te omzeilen? Ik heb het ook al met verschillende formats in de tabel geprobeerd, maar dit bood ook geen uitkomst.

Een ander puntje wat ik vrij vreemd vond. Als ik vergelijk op die 2 data, dan moet ik er eerst 6 maanden afhalen voor hij het goed vergelijkt. Hier snap ik ook nix van. Ziet iemand iets wat ik fout doe of is er iemand die dit vaker heeft meegemaakt??

Ik moet er wel bijzeggen dat het Access 97 is......... :X

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


Verwijderd

Kan je het ook oplossen met het vullen van een recordset dmv van een select statement die dan weer wat parameters in zich heeft en wat "last" heeft van joins. Tevens is het zo dat parameters geinig door sijpelen naar onderliggende queries. Misschien kan je dus zelfs wat doen met subqueries. maw ik weet het dus eigenlijk ook niet :)

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
Recordset gaat niet echt werken, want ik reken een aantal waardes uit, dit is maar 1 van die waardes. Verder moet het volgens mij ook niet uitmaken, want het Between statement blijft dan verder hetzelfde.

Het komt dus hier op neer:
Ik reken wat waardes uit, gooi die in een tabel
Maak een recordset van die tabel
gooi die recordset naar Excel.......

Alles lukt, behalve het uitrekenen van de waardes |:( Dan loopt ie heftig allemaal verkeerde waardes te pakken en dergelijk en daar wordt ik beetje moe van.

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


Verwijderd

Tuurlijk werkt een recordset wel. Als je maar wilt ;) Een query kan je toch opbouwen uit meerdere subqueries en andere afhankelijkheden?

Probeer het maar eens met subqueries, het keyword IN en wat joins moet je kijken hoe flexibel en snel dat is. Met behulp van Parameters kan je het NOG flexibeler maken. Wat is Access /SQL toch mooooooi 8)

Effe wat anders, je kan ook gebruikmaken van TransferSpreadSheet om een tabel naar Excel te mieteren. Of je moet natuurlijk nog wat anders willen met die tabel voordat de export plaats vindt. Al kan dit ook weer met een SQL statement :) :) :) Recordset is in dit geval niet nodig. Scheelt weer tijd.

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
Ik kan wel allemaal joins gaan gebruiken en dergelijke, maar wat schiet ik daar mee op?
De data die ik tel staat allemaal in 1 tabel, alleen gebruik ik verschillende where-statements voor het tellen.

Verder moet er op dat Excel formulier ook nog wat extra informatie komen, niet alleen dus de waardes die dan in die tabel zijn geflikkerd. Enniehoe, daar ging het hier niet echt om (al waardeer ik de feedback :> ). Het ging mij er meer om van waarom hij zo vreemd doet met die datums......... :/

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


Verwijderd

lamaar Ik geloof dat ik je niet begrijpt.

Wat losse tips misschien dat je daar wat mee kan:

-Zijn je records echt uniek? Tussen 2002 en 2006 zitten 4 jaren resultaat 4 records.

-Kijk eens naar subqueries. Neem maar van mij aan dat is handig. Je hoeft een output veld of een parameter niet te benoemen. Dit kan ook een select statement zijn. Dat bedoelde ik met subqueries. Sorry....

-Met SQL kan alles bouwen, dus ook meerdere calculaties in 1 SQL - string....

Veel plezier ik weet het ook niet meer.

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
Over de jaren en dergelijke
Het gaat met kwartalen, deze staan al in een aparte tabel gedefinieerd en dergelijke in het format("dd mm yyyy")

Dus daar heb ik wel degelijk over nagedacht :)

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
*schop*
Na veel proberen en dergelijke ben ik er nog steeds niet uit, zijn hier mensen die ideeen hebben over dit probleem? Ik ben op het punt dat ik alles wel wil proberen.

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


Verwijderd

Heb je je datum notatie in Control Panel ook eens tegen het licht gehouden. Ik weet wel dat Access heel vervelend kan doen met je datum instelling van Windows zelf.
Anders moet je 'Datum_Completed' ook eens formatten met format(Datum_completed, "dd mmm yyyy") zodat die ook hetzelfde formaat heeft als je startdate en enddate.

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
Dat had ik dus ook al gedaan en dat wilde ook niet werken. Ik heb het nu anders opgelost. Ik heb nu een veld gemaakt in die tabel waar die nu het kwartaal ingooit. Vraag me niet waarom, maar dan wil ie dus wel netjes het juiste kwartaal erin gooien.... |:(

Enniehoe, Access != _/-\o_ IMHO

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze

Pagina: 1