Ga naar inhoud

[[access'] formulier/rapport vraag


anoniem

Aanbevolen berichten

hallo Ik wil in access een rapport(of een formulier) maken, waarin velden komen te staan, maar deze velden mogen alleen te zien zijn wanneer er een waarde is ingevuld in de tabel bij dat veld. Nu heb ik geen idee hoe ik dit kan doen, ik heb wel wat gedacht aan werken met vissible en niet vissible maken, maar dan krijg je grote lege vlakken zodra er niets is ingevuld. Het gaat om een groot aantal velden, namelijk 200, maar er is slechts maar een aantal ingevuld, welke en hoeveel dit zijn is steeds anders. Ook in de help kon ik niks vinden. Ik maak gebruik van MS Access 2000(nl). Ik hoop dat iemand een idee heeft hoe ik dit kan doen?
Link naar reactie
[quote="Wiep Corbier"]Tja, ik zou zeggen; maak 200 tekstboxjes aan en a.d.h.v. van if statements laat je ze één voor één vullen. + de labels uiteraard. Dus van links naar rechts. Heb je ook geen lege vlakken.[/quote] Ik snap even niet wat je hiermee bedoelt, want als dan een vakje niet gevuld wordt heb je toch weer wel een leeg vlak??? Of zie ik het zo verkeerd?
Link naar reactie
[quote:a63c71e6d2]Of zie ik het zo verkeerd?[/quote:a63c71e6d2] Inderdaad. Het aantal te vullen vakjes verschijnt van links naar recht naast elkaar. Het aantal vakjes dat verschijnt is afhankelijk van het aantal te vullen vakjes. Ik snap je verwarring wel, maar dan moet je weten dat dat je onafhankelijke tekstvakken dient te gebruiken. Het maakt een onafhankelijk tekstvak namelijk niets uit of er de ene keer een adres en de andere keer een berekening in staat. Volg je mij? Voorbeeld: Je hebt 3 onafhankelijke teksvakken. Je hebt een tabel met Naam, adres, en woonplaats. Nu komt in record 1267 geen adres voor: tekstvak 1 = naam tekstvak 2 = woonplaats tekstvak 3 => visible=false.
Link naar reactie
Wat is dat toch makkelijk met VB-script op een webpage, gewoon niet de nobreakspace meestreamen in de <td> ;-) Maar in Access is dat wat omslachtiger. Misschien is het een optie om het formatten van de detailsectie dan maar in zijn geheel in de Detail_Format()-procedure te programmeren, elk tekstvak even breed te maken en de Left-eigenschap voor ieder veld dat niet Null of "" is verhogen met (teller*breedte+marge): ff uit het hoofd: (eerst 200 tekstvakken over elkaar tegen de linkermarge aanzetten) [code:1:95081de37f] For i = 1 To Count(Me.Fields) If Me.Fields(i) <> "" And Not IsNull(Me.Fields(i)) Then Teller = Teller + 1 Me.Controls(i).ControlSource = Me.Fields(i).Name Me.Controls(i).Left = Teller * 2 + 0.1 Me.Controls(i).Visible = True End If Next i [/code:1:95081de37f] Of zoiets, weet niet of ik goed naar de betreffende collecties verwijs... Benieuwd of het werkt...
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...