selectievak koppelen aan datum

Status
Niet open voor verdere reacties.

jennifer18380

Gebruiker
Lid geworden
9 feb 2010
Berichten
14
Eindelijk na veel puzzelen trek ik toch maar de stoute schoenen aan om een vraag te stellen. Ik ben een database aan het maken voor een muziekvereniging. Nu wil ik in tabel leerlingen een selectievakje hebben (is al gemaakt) waarin ik aan kan vinken dat het inschrijfgeld is betaald.
- Hoe kan ik dit linken aan de datum waarop ik hem aanvink(graag jip en janneke taal ;))
- hoe kan ik vervolgens selecteren op deze datum? (Ik denk gewoon via een query)
 
Even voor het begrip: wordt het inschrijfgeld éénmalig verrekend en betaald? En waarom dan twee velden om dat te regelen? Als je een datumveld hebt, dan lijkt mij dat een leeg veld betekent: nog niet betaald, en een datum: betaald (op die datum).
Je hebt dus geen selectievakje nodig.
 
Klopt ben ik ook net achter. Nu alleen nog het probleem: Mijn formulier omzet moet het totaal zijn van het lesgeld + inschrijfgeld (inderdaad éénmalig). Hoe zorg ik ervoor dat ik dus elke maand een selectie kan maken van het inschrijfgeld wat er die maand is betaald?

p.s. Dank je wel voor je snelle antwoord!
 
Klopt ben ik ook net achter. Nu alleen nog het probleem: Mijn formulier omzet moet het totaal zijn van het lesgeld + inschrijfgeld (inderdaad éénmalig). Hoe zorg ik ervoor dat ik dus elke maand een selectie kan maken van het inschrijfgeld wat er die maand is betaald?

Door een query.
Bijv. tabel Musica is
  • Naam
  • Datum_betaald
  • Betaald
  • Lesgeld
  • Inschrijfgeld

Dan maak je een query bijv.
SELECT Naam, Datum_betaald, Betaald, SUM(Lesgeld + Inschrijfgeld)
FROM Musica
WHERE Betaald = 1
AND
Datum_betaald >= '01-02-2010' AND Datum_betaald <= '28-02-2010'
Group By Naam;

Dit zal niet helemaal goed zijn aangezien ik het uit me hoofd doe maar zoiets zou moeten werken ;)
 
Laatst bewerkt:
Als je de betalingen van elke vorige maand wilt zien, kun je deze formule gebruiken:

Between DateAdd("m";-1;DateSerial(Year(Date());Month(Date());1)) And DateSerial(Year(Date());Month(Date());1)

Met deze variant wordt om het maandgetal gevraagd, en krijg je de resultaten van de maand ervoor.

Between DateAdd("m";-1;DateSerial(Year(Date());[Maand];1)) And DateSerial(Year(Date());[Maand];1)

Kortom: met deze formules kun je een beetje spelen...
 
Oké dank je wel voor jullie snelle hulp! Ben aan de afronding bezig en dat blijft spannend. Nu loop je tegen de kleine dingen aan die niet werken. Wat is het makkelijkste om straks als scherm te gebruiken een schakelbord of een formulier? Ik heb nogal wat rapporten etc. die ze uit moeten kunnen printen en formulieren die ze moeten kunnen openen.
 
Een schakelbord is een formulier, waar een tabel achter hangt. Het onderhoud ervan is op zich redelijk goed te doen, omdat je dat via het menu Schakelbordbeheer kunt doen. Het nadeel is, dat je het een beetje lastig kwijt raakt als je iets anders wilt. Ook is het technisch onderhoud lastig, omdat bijna alles met VBA wordt geregeld. Maar je hoeft dus niks zelf te programmeren, alleen maar na te denken over de verschillende niveaus waarop je de rapporten en formulieren wilt neerzetten.

Als je zelf een formulier maakt, heb je meer vrijheid om zelf te bepalen wat je bij elkaar wilt zetten. Als je uit je eigen formulieren een knop wilt verwijderen, kun je hem weggooien, en alles blijft gewoon werken.
Zelf werk ik eigenlijk alleen maar met eigen opstartformulieren, want ik werd een beetje Gallisch van het Schakelbord...
 
Super dank je wel dat wordt dus een formulier! Ik krijg alleen de query met de datumformule niet werkend hij geeft elke keer een foutmelding. Kun je me stap voor stap even uitleggen hoe ik dit opstel zodat ik weet wat ik fout doe? Sorry dat ik zo'n leekvragen stel. Maar super bedankt dat jullie ze oplossen!
 
Welke foutmelding?
 
Ik krijg de foutmelding de syntaxis van de expressie die u hebt opgegeven is ongeldig. U hebt bijvoorbeeld een operand opgegeven zonder een operator.

Als het makkelijker is om het in het bestand te zien dan kan ik kijken of ik het bestand kan zippen.
 
Ik krijg de foutmelding de syntaxis van de expressie die u hebt opgegeven is ongeldig. U hebt bijvoorbeeld een operand opgegeven zonder een operator.

Als het makkelijker is om het in het bestand te zien dan kan ik kijken of ik het bestand kan zippen.

ja graag het bestandje want dan kunnen wij ermee klooien ;)
en als het werkt je de oplossing sturen :D.
 
ik kan het bestand niet verder comprimeren dan 126 kb. Dus als je een ander adres zou hebben waar ik het naar toe kan sturen of een tip hebt hoe ik hem nog kleiner kan maken. Ik heb hem van ruim 1400 naar 661 en nu naar 126 gekregen, maar niet lager.

Ik hoor het graag!
 
Je kunt met Winrar het bestand opsplitsen in twee stukken van max 100 kb. Zie plaatje voor de instellingen. Maar geef ook maar de SQL tekst waarin de fout zit, misschien kan ik het daar al aan zien.
 

Bijlagen

  • WinRar.webp
    WinRar.webp
    26,5 KB · Weergaven: 97
Ok aangezien mijn laptop niet op internet kan ga ik het even op een andere pc overtypen. Ik heb in de tabel leerlingen de volgende gegevens
inschrijfgeld (standaard éénmalig 30 euro)
Datum_betaald (wanneer het inschrijfgeld betaald is zodat er maar 1x 30 euro bij de omzet berekend wordt en niet elke maand)
Clubgeld (elke maand 2,50)
Maandtarief (standaard tarief wat de leerling elke maand moet betalen, afhankelijk van het aantal minuten les)
Korting
De totale omzet is dus (clubgeld + de ontvangen inschrijfgelden van die maand + maandtarief) - eventuele korting. Hoe krijg ik dit in mijn query verwerkt?

Ik heb nu:
SELECT Leerlingen.Achternaam, Leerlingen.Voornaam, Leerlingen.Datum_betaald, Leerlingen.Inschrijfgeld, Leerlingen.Clubgeld, Leerlingen.Maandtarief, Leerlingen.Korting, Sum (([leerlingen]![Inschrijfgeld]+[Leerlingen]![Clubgeld]+[Leerlingen]![maandtarief])-[Leerlingen]![Korting])
FROM Leerlingen
WHERE Between DateAdd(''m'';-1;DateSerial(Year(Date());1)) And Dateserial(Year(Date());Month(Date())'1)

Ik krijg de foutmelding: Syntaxisfout (operator ontbreekt) in query-expressie Between DateAdd(''m'';-1;DateSerial(Year(Date());1)) And DateSerial(Year(Date())Month(Date());1)

In mijn accesboek (jaja een groentje met een boek van 1000 pagina's en er dan nog niet uitkomen;)) staat dat de operator met BETWEEN altijd AND moet zijn, maar dat is zo. Waar ligt de fout? Is het stuk Select wel ok? Of ben ik hier al de mist in gegaan?

Ik ben jullie erg dankbaar voor al jullie antwoorden tot nu toe. Fijn dat er mensen zijn die je willen helpen zodat ik mijn vrijwilligerswerk tot een goed eind kan breien.
 
Die melding is inderdaad niet heel erg duidelijk, ook al omdat de fout al eerder is gemaakt:

WHERE [Datumveld] Between DateAdd("m";-1;DateSerial(Year(Date());1)) And Dateserial(Year(Date());Month(Date());1)
Er ontbreekt een verwijzing naar een datum... Overigens zat er ook nog een klein foutje in de DateAdd string zelf...
Kijk eens of dit nu wel werkt?
 
Helaas weer dezelfde melding. Ik heb het bestand nu eindelijk gezipt.

Bij de query omzettotaal zou ik een totaal moeten hebben van inkomsten (in de vorige mail stond de tabel workshop er niet bij) (inschrijfgeld(per datum dat die betaald is éénmalig) + clubgeld + maandtarief + omzet workshop - korting). Deze wil ik graag per maand uit kunnen draaien.

Ik hoop dat je er uit komt!

Ik krijg ook een foutmelding formuliernaam Muziekpakhuis049 verkeerd gespeld of verwijst naar een formulier dat niet bestaat. Het bestaat idd niet, maar ik weet niet hoe ik de melding kan verwijderen.

Super bedankt ik word al bijna gek dat het niet lukt, maar elke keer weer fijn dat iemand met verstand er naar kijkt. Top!
 

Bijlagen

Helaas weer dezelfde melding. Ik heb het bestand nu eindelijk gezipt.

Bij de query omzettotaal zou ik een totaal moeten hebben van inkomsten (in de vorige mail stond de tabel workshop er niet bij) (inschrijfgeld(per datum dat die betaald is éénmalig) + clubgeld + maandtarief + omzet workshop - korting). Deze wil ik graag per maand uit kunnen draaien.

Ik hoop dat je er uit komt!

Ik krijg ook een foutmelding formuliernaam Muziekpakhuis049 verkeerd gespeld of verwijst naar een formulier dat niet bestaat. Het bestaat idd niet, maar ik weet niet hoe ik de melding kan verwijderen.

Super bedankt ik word al bijna gek dat het niet lukt, maar elke keer weer fijn dat iemand met verstand er naar kijkt. Top!

Ik kan het bestand niet openen omdat je het gesplitst hebt in 2 of meerdere delen en dit is alleen het eerste deel (part01).
 
Helaas weer dezelfde melding. Ik heb het bestand nu eindelijk gezipt.

Bij de query omzettotaal zou ik een totaal moeten hebben van inkomsten (in de vorige mail stond de tabel workshop er niet bij) (inschrijfgeld(per datum dat die betaald is éénmalig) + clubgeld + maandtarief + omzet workshop - korting). Deze wil ik graag per maand uit kunnen draaien.

Ik hoop dat je er uit komt!

Ik krijg ook een foutmelding formuliernaam Muziekpakhuis049 verkeerd gespeld of verwijst naar een formulier dat niet bestaat. Het bestaat idd niet, maar ik weet niet hoe ik de melding kan verwijderen.

Super bedankt ik word al bijna gek dat het niet lukt, maar elke keer weer fijn dat iemand met verstand er naar kijkt. Top!

Wat betreft de Muziekpakhuis049. Ik heb niet veel verstand van access maar je hebt ooit ergens een formulier gemaakt en ergens heb je aangegeven dat als je je access bestand opstart dat dit formulier opgestart moet worden. ik heb een formulier aangemaakt en nu geeft ie geen melding meer. ik kon niet vinden waar je hebt ingesteld welk formulier op moet starten maar dat zal jij wel weten.

wat betreft de query, kdenk dat dit het is. je moet de maandnummer invullen. ik heb 3 dummy waardes ingevoerd dus maandnummer 11 en 12 werken. ik heb hier de startdatum genomen. kweet niet precies welk veld je nodig hebt mara dit leek me genoeg.

Byee VRC
 

Bijlagen

Heel erg bedankt, maar ik denk dat je mijn vraag verkeerd begrepen hebt. Je hebt nu namelijk de startdatum gepakt, maar het gaat er om dat op het moment dat ik de datum invul bij datum betaald dat access dan 30 euro inschrijfgeld éénmalig berekend. Vanuit hier moet ik dus een rapport kunnen maken met de omzet per maand, maar ik krijg het volgende niet voor elkaar:
a. Dat het formulier 30 euro berekend op het moment dat ik datum betaald invul (éénmalig dus)
b. Dat ik een formulier kan maken waar ik de omzet per maand uit kan printen. Deze bestaat dus uit: betaalde inschrijfgelden van die maand + clubgeld + maandtarief + kosten workshop die gehouden zijn in die maand - korting.

Dit haal ik nu niet uit de query.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan