Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 7 van 7

Onderwerp: Query - GroupBy werkt niet

  1. #1
    Senior Member
    Geregistreerd
    2 april 2002
    Locatie
    Halsteren
    Afstand tot server
    ±183 km
    Vraag is opgelost

    Query - GroupBy werkt niet

    Ik heb 2 tabellen, Archief en Persoon.
    In beide tabellen komt een veld GebDatum voor met identieke eigenschappen.
    Als ik een query maak met daarin de volgende expressie

    Leeftijd: IIf(Format(Date()-DateValue([GebDatum]);"yy")>17;"volwassen";"jeugd")

    Dan werkt dat op beide tabellen prima.
    Zodra ik echter de GroupBy functie aanzet werkt dat bij een query op de tabel Persoon prima, maar bij een query op de tabel Archief geeft dat de volgende foutmelding
    "Gegevenstypen komen niet overeen in criteriumexpressie"

    Ik heb de gegevens typen van beide tabellen eindeloos nagekeken, kan geen verschillen vinden. Ik heb nieuwe kale query's gemaakt met alleen bovenstaande gegevens erin gekopieerd, verder geen velden toegevoegd, op de ene tabel werkt het wel en op de andere niet.

    Iemand enig idee wat hier aan de hand kan zijn ?

  2. #2
    Mega Honourable Senior Member
    Geregistreerd
    6 juli 2010
    Locatie
    Eindhoven
    Afstand tot server
    ±91 km
    Staan de velden van de tabel zelf op "DATE" of "STRING"? Je weet zeker dat er in "archief" geen entry is die niet is ingevuld (leeg)?

    Hoewel het moelijk is te zien waar het vandaan komt is er blijkbaar ergens een entry die niet te herleiden is tot het type "datum".
    "Ik geloof niet in een limiet van mijn kunnen,
    wel van mijn kennis"

  3. #3
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    Ik vind je berekening niet helemaal geweldig; ik zou het zo doen:
    Code:
       Leeftijd:IIf(DateDiff("yyyy"; [GebDatum]; Date()) + CInt(Format(Date(); "mmdd") < Format([GebDatum]; "mmdd"))>17;"volwassen";"jeugd")
    Maar ik denk niet dat dit je probleem gaat oplossen.
    Zonder de db te zien, is er helaas niets van te zeggen. Je geeft aan dat de tabellen identiek zijn (qua datumveld) dus dan ben ik snel uitgekakt.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  4. #4
    Senior Member
    Geregistreerd
    2 april 2002
    Locatie
    Halsteren
    Afstand tot server
    ±183 km
    Quote Origineel gepost door wampier Bekijk Bericht
    .....Je weet zeker dat er in "archief" geen entry is die niet is ingevuld (leeg)?......
    Hoe simpel kan het zijn, dat was de oorzaak, 2 lege velden gevonden. Bedankt !!

  5. #5
    Senior Member
    Geregistreerd
    2 april 2002
    Locatie
    Halsteren
    Afstand tot server
    ±183 km
    Quote Origineel gepost door OctaFish Bekijk Bericht
    Ik vind je berekening niet helemaal geweldig; ik zou het zo doen:
    Code:
       Leeftijd:IIf(DateDiff("yyyy"; [GebDatum]; Date()) + CInt(Format(Date(); "mmdd") < Format([GebDatum]; "mmdd"))>17;"volwassen";"jeugd")
    ......
    Daar ga ik nog even naar kijken. Bedankt voor je antwoord.

  6. #6
    Mega Honourable Senior Member
    Geregistreerd
    6 juli 2010
    Locatie
    Eindhoven
    Afstand tot server
    ±91 km
    Quote Origineel gepost door Tvhouwel Bekijk Bericht
    Hoe simpel kan het zijn, dat was de oorzaak, 2 lege velden gevonden. Bedankt !!
    Het was de enige "logische" verklaring die ik kon bedenken. Helaas zal voor veel mensen de link niet zo snel gelegt worden. Veel dataproducten houden er helaas nogal obscure regels op na, en nog obscuurdere errors die je daar uit kan krijgen.
    "Ik geloof niet in een limiet van mijn kunnen,
    wel van mijn kennis"

  7. #7
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    Je kunt, als je lege waarden in het veld toestaat (wat ik dus nooit zou doen in dit geval) dat nog zo ondervangen:
    Code:
    Leeftijd:IIf(DateDiff("yyyy"; Nz([GebDatum];DateSerial(Year(Date());Month(Date());1); Date()) + CInt(Format(Date(); "mmdd") < Format(Nz([GebDatum];DateSerial(Year(Date());Month(Date());1; "mmdd"))>17;"volwassen";"jeugd")
    Dan bereken je in ieder geval altijd met een datum en krijg je geen foutmelding meer.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren
Aanbiedingen