drie maal een opdracht uitvoeren

Status
Niet open voor verdere reacties.

old Hippy

Gebruiker
Lid geworden
24 mei 2008
Berichten
911
Hallo allemaal

ik wil het volgende
in de database staat een kolom maand in gevuld met maandnummer.
Nu word deze in een listview gezet.
Dus als de maand er 5x in voorkomt zet het de 5 rows in de listview en telt de gegevens op.
Deze kunnen dan weer worden afgedrukt.
ik geef met een zoek box het maand nummer bv. 1 en alle rows met 1 worden netjes in de listview gezet.

Dit werkt allemaal goed.

wat ik wil is dat er een kwartaal in word gezet.
dus de zoek box met 1 verhogen en het vullen opnieuw starten
hier na weer1 verhogen en opdracht opnieuw starten.
hopelijk kan iemand mij helpen

of een query om per kwartaal in de datatafel te sorteren.

Hopelijk is dit duidelijk genoeg
alvast bedankt

Old Hippy
 
Qua query kan je de where clause vergroten (aangenomen dat je SQL gebruikt)

Als je gebruikte database "BETWEEN" toestaat kun je dat gebruiken. bijvoorbeeld:

[SQL]SELECT maanden FROM database WHERE maanden BETWEEN 1 AND 3[/SQL]

Je krijgt dan ineens het eerste kwartaal. Het zou ook in 3 keer kunnen, maar als het kan zou ik het in de query oplossen
 
Hi wampier
Heel hartelijk dank voor je snelle en goede oplossing.
Dit werkt prima nogmaals dank.
Groet Old Hippy
 
HI Sorry
Maar toch nog een probleempje

Heb voor ieder kwartaal een query.


Als ik kwartaal 1 selecteer

krijg ik maand 1 en 2 en 3 en 10 en 11 en 12

dus alles met een 1
Is dit optelossen?

Groet Old Hippy
 
Kun je even je hele query hier neerzetten (zoals die naar de database gaat)? Wat gaat er echt naar de database toe?

Is de kolom maanden wel een "getal" en niet "tekst"? (enige wat ik zo uit mijn hoofd kan bedenken wat er mis zou kunnen gaan)
 
Hi wampier

is niet zo gek
als je zoekt laat hij alles met een 1 dus ook 10 11 en 12
het komt dus niet voor in 4 tot 6 of 7 tot 9 of 10 tot 12
daar deze maar 1 keer voorkomen de maand notatie haal ik op met MaandTextBox.Text = Now.Month
en deze word in de database gezet.
het maand nummer word als 1 opgegeven
mischien moet ik daar een 0 voor zien te krijgen

query
Code:
SELECT        Maand, Datum, Factuurnummer, Contactpersoon, Betreft, Offertebedrag, Geleverdgemonteerd, Materiaalomschrijving, Prijsmateriaal, AantalUren, Uurloon, Totaaluurloon, BTWUurloon, Subtotaal, BTW, 
                         VerlegdBTW, Totaal, VerlegdofBTW, HulpT1, HulpT2, HulpT3, HulpT1A, HulpT2A, HulpT3A, KlantID, ABTWH, ABTWL, FactuurID
FROM            VerkoopFactuur
WHERE        (Maand BETWEEN '1' AND '3')
ORDER BY Maand

Groet Old Hippy
 
Het "probleem" met getallen als tekst wegschrijven in de database is dat functies zoals "BETWEEN" anders gaan werken. Er een 0 voorschrijven lost het probleem slechts gedeeltelijk op.

Als je BETWEEN gebruikt op deze manier op tekst wordt het eerste character van de tekst vergeleken met de opgegeven range als letterlijke tekst en niet meer als een wiskundige vergelijking.

Zo zijn er meer functies die anders werken als de kolom gedefinieerd is "tekst" en "getal"

SUM getal(1) + getal(2) = 3
SUM tekst(1) + tekst(2) = 12

Als je de kolom e.d. niet aan wil passen kun je de where opdracht volledig specifiek maken:

WHERE (Maand = "1" OR "2" OR "3")

dat vergt wat meer typewerk maar dat zou volgens mij wel moeten werken.
 
Dat is het beste als dat nog kan. Mogelijk moet je dan wel een convert doen voor het wegschrijven, als je database dat niet kan.

Anders kun je dus, met exacte zoekopdrachten, nog bereiken wat je wil met een tekstkolom. (maar persoonlijk vind ik inderdaad een "INT" kolom de betere oplossing)
 
Laatst bewerkt:
Ok Het werkt met int database aangepast

Hartelijk dank wampier weer bij geleerd.

Groet Old hippy
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan