[Access] Sorteren met query -> subformulier

Pagina: 1
Acties:
  • 304 views sinds 30-01-2008

  • robbertvi
  • Registratie: Februari 2002
  • Laatst online: 24-07-2025
Search functie al gebruikt, maar ik kan niet echt mijn antwoord vinden.

Ik heb een database gemaakt -> screenshot

Zoals je ziet heeft het formulier een sub-formulier. Dit sub-formulier kun je beschouwen als de klant historie.
Nu wilde ik d.m.v. een query een sorteer volgorde maken van de 'Behandeldatum'.(Aflopend)
Het probleem is nu dat ie het niet sorteert in het sub-formulier, dus alle data's staan nog door elkaar.
Hoe kan ik dit oplossen? :D

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
ik denk dat je ff naar de query moet kijken die achter die select hangt... daar voeg je dan zoiets als

SQL:
1
ORDER BY Behandeldatum;


aan toe

lees anders even www.w3schools.com/sql door...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • robbertvi
  • Registratie: Februari 2002
  • Laatst online: 24-07-2025
code:
1
2
3
SELECT Behandelingen.Behandeldatum
FROM Behandelingen
ORDER BY Behandelingen.Behandeldatum DESC;


Dat heb ik als code, maar hij sorteert het wel in de query Gegevensbladweergave, maar niet in de Formulierenweergave. Dus niet automatisch sorteert ie de datum zodat je een goede volgorde 'ziet' in het sub-formulier.

edit: Wat misschien ook handig is om te weten is dat er 'natuurlijk' een sleutel waarde in de tabel zit. (screenshot)
Hoe kun je dus access wijs maken dat je niet de volgorde van die histID wil gebruiken, maar een andere, dus die behandeldatum.

[ Voor 39% gewijzigd door robbertvi op 20-04-2004 17:41 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
in access in de ontwerpweergave van je formulier bij eigenschappen > gegevens (van je select) de selectiequery aanpassen :)

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • robbertvi
  • Registratie: Februari 2002
  • Laatst online: 24-07-2025
prima, heb nu de eigenschappen van het sub-formulier gewijzigd, en daar de SQL code in toegevoegd, het werkt nu :D

en trouwens SELECT * van gemaakt :P

[ Voor 91% gewijzigd door robbertvi op 20-04-2004 22:46 ]


  • Patser
  • Registratie: Maart 2000
  • Laatst online: 20-03 15:39

Patser

this.Close();

In je laatste screenshot moet je even op 't "blokje" links boven in je subform klikken.

Je krijgt dan in het venster waar nu de eigenschappen van de textbox "Behandeldatum" de eigenschappen van je subform. De eerste eigenschap op het tabblad die je nu al open hebt (Gegevens->Besturingselementbron) geeft aan wat de bron is.
Als je achter die eigenschap op de ... klikt mag je de bron aanpassen en kun je een sortering opgeven.

  • robbertvi
  • Registratie: Februari 2002
  • Laatst online: 24-07-2025
Ok, nu heb ik nog een laatste probleem:

Ik wil het formulier met het betreffende sub-formulier uitprinten, maar er geen rapport van maken, alleen als het niet anders kan.

Dus, zo moet het ook op een A4 komen te staan zoals dit -> screenshot

Hoe kan dit makkelijk worden gedaan?

[ Voor 26% gewijzigd door robbertvi op 20-04-2004 23:25 ]


  • Patser
  • Registratie: Maart 2000
  • Laatst online: 20-03 15:39

Patser

this.Close();

DoCmd.PrintOut print 't formulier.
Waarom geen rapport?

  • robbertvi
  • Registratie: Februari 2002
  • Laatst online: 24-07-2025
Verklaar je nader? Moet ik daar een knop van maken met die functie erachter ofzo?
Als ik namelijk dit formulier zo wil printen, dan print hij alleen het 'formulier' zonder de sub-formulieren.
Dus bij bijv. 3 klanten met ieder 4 histories, krijg ik dus alleen de 3 klanten op mijn A4 zonder de betreffende historie van 1 klant.

(Dus 1 klant met 1 van de # histories moet op een A4 komen)

  • TheXception
  • Registratie: December 2003
  • Niet online
Je kunt dit inderdaad met behulp van een button op het form doen.
Je maakt een afdrukbutton met een gebeurtenisprocedure die je eigen gedefinieerde rapport aanroept.

Bijvoorbeeld
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Afdrukken_IM_Click()
On Error GoTo Err_Afdrukken_Click
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.GoToControl "klantID"
    DoCmd.OpenReport "RAPPORTNAAM", acPreview, , "[klantID]=" & [klantID]
   
Exit_Afdrukken_Click:
    Exit Sub

Err_Afdrukken_Click:
    MsgBox Err.Description
    Resume Exit_Afdrukken_Click
End Sub

Bij RAPPORTNAAM de naam van je rapport invullen, bij klantID de naam van het ID dat je voor je klant gebruikt weergeven.

Je rapport moet je vergelijkbaar als je form definieren, dus met een subrapport in het rapport, waar je de historie weer koppelt aan de klant.

Formulieren printen wordt nooit mooi qua lay-out

"It's better to burn out, than to fade away"


  • robbertvi
  • Registratie: Februari 2002
  • Laatst online: 24-07-2025
Ok, thx ik zal dat vanavond eens proberen.
Maar.... het is helemaal niet mogelijk om het formulier + sub-formulier te printen?
Dus het moet via een rapport?

  • TheXception
  • Registratie: December 2003
  • Niet online
Ik heb het nooit geprobeerd, omdat ik het er niet mooi uit vind zien.
Het zal waarschijnlijk wel mogelijk zijn, maar je ontkomt er volgens mij niet aan om een gebeurtenisprocedures te schrijven voor iets dergelijks. (is ook niet zo moeilijk als je je er even in verdiept... :*) )

Een report is in de meeste gevallen vele malen mooier, omdat je je rapport naar eigen inzicht kunt definieren.

Maar NIKS MOET... :9

Wat is voor jou de reden om GEEN rapport te willen?

"It's better to burn out, than to fade away"


  • robbertvi
  • Registratie: Februari 2002
  • Laatst online: 24-07-2025
Heb nog niet echt de tijd gehad om met die code aan de gang te gaan, maar zal dat binnenkort doen. (en eventueel het rapport)

Nu had ik een hele andere vraag, zoals je ziet is het formulier iets veranderd, en wil ik graag een SOM van 2 velden maken, waardoor het 'Totaal' wordt berekend.
Nu is mijn vraag, welke code moet dat precies worden, en waar kan ik die invoeren?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12-2025

curry684

left part of the evil twins

Caine schreef op 24 april 2004 @ 16:15:
Nu is mijn vraag, welke code moet dat precies worden, en waar kan ik die invoeren?
Wie is hier nu aan het programmeren, jij of wij? :? Je hebt al tig vragen gesteld in dit topic, en volgens mij heb je nog meer code van ons dan van jezelf in je project zitten. Ga eens een boek kopen en zelf wat leren developen.

Bovendien, "welke code moet dat precies worden" zijn niet de goede vragen hier in Programming & Webscripting: vragen naar kant en klare code wordt niet op prijs gesteld.

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.