keuzelijst voor access

Status
Niet open voor verdere reacties.

joostzw

Gebruiker
Lid geworden
24 okt 2012
Berichten
18
Mijn probleem is de volgende: Ik ben bezig met het opzetten van een ziekenhuis-vergelijkings-database. Het ziekenhuis waarvoor ik werk heeft 42 afdelingen, die ik graag in een uitrolkeuzeveld zou willen verwerken, zodat ik in de query die ik ga maken, dit veld kan gebruiken om de tabel met alle afdelingen te koppelen aan de tabel met NAW gegevens per ziekenhuis en de tabel met de beoordelingscriteria per afdeling. Echter, Access staat maar uitrolmenu's met maximaal 20 keuzes toe. Is hiervoor een oplossing zodat ik wel alle 42 gewenste keuzes kan invoeren?

Bij voorbaat dank voor de hulp!
 
Heb je dat uitrolmenu soms in de tabel gemaakt op basis van een lijst met waarden die je zelf hebt ingevoerd? Ik kan me voorstellen dat daar een limiet van 20 op zit.
Wat jij nodig hebt is een zogenaamde Keuzelijst met Invoervak en die maak je in een formulier. Daar zit misschien ook wel een limiet op maar die ligt vele malen hoger dan 42 :)

Kun je misschien je database hier uploaden? Dan kunnen we je beter helpen.
Zo nodig eerst 'gevoelige' informatie verwijderen of vervangen door iets onschuldigs.
 
Hoi joost,
Hier iets zeer simpel als vb, ik ken de beperkingen niet van access maar via visual studio en access als backend kan je alle kanten op (het is helaas te groot om hier te posten)
Zoals pfl al zei een voorbeeldje is makkelijker. Ik wil wel helpen om het in een progje te gieten.
Hier kan je het http://s000.tinyupload.com/?file_id=44725744259552280182 downloaden, maar zoals ik zei zeer simpel.

Greetz
 
de betreffende database

Bedankt voor jullie reacties. Het gaat (in de ontwerpweergave) om het veld 'Naam afdeling'. Als ik hier een drop down menu met alle 42 mogelijkheden van zou kunnen maken, zouden zaken als typo's e.d. niet meer tot misverstanden kunnen leiden. Het UMCG heeft 42 afdelingen, die dus allemaal in de lijst zouden moeten komen, om deze werkbaar te maken. Ik werk zelf voor het UMCG, en aangezien we een systeem willen creëren waarin we ziekenhuizen kunnen vergelijken hebben we besloten ons 'eigen' ziekenhuis als pilot te gebruiken, om de beperkingen van de database te onderzoeken. Dit is tot nu toe de enige beperking die we hebben kunnen vinden. In bijgevoegde database bevinden zich 3 tabellen. Het veld 'naam afdeling' zou de drie tabellen aan elkaar moeten verbinden in ons concept. In het eveneens bijgevoegde Word-document treft u een lijst van alle onderdelen die ik in de keuzelijst verwerkt hoop te zien. Let wel: de aanduidingen 'Specialismen', 'Diagnostiek en medische ondersteuning' en 'Centra' moeten in deze drop down lijst NIET voorkomen. Graag hoor ik uw reacties!Bekijk bijlage alle afdelingen UMCG.docx. De Access database geeft bij toevoeging een melding 'Ongeldig bestand'
 
Hallo Joost,
De database kun je toevoegen door hem in een ZIP-bestand te uploaden. Een Access bestand wordt inderdaad niet geaccepteerd, waarschijnlijk omdat er kwaadaardige code in zou kunnen zitten of zoiets :)
 
hierbij de database

Alsof er in een Zip-bestand geen kwaardaardige code verstopt kan zitten....
 

Bijlagen

  • Testdatabase UMCG voor Zorgkaart1.zip
    21,3 KB · Weergaven: 37
Laatst bewerkt:
Dat zeg ik... zippen :d

Ik zal er eens naar kijken.
 
Zie bijlage.

Ik heb het volgende gedaan:

- Een nieuwe tabel 'Afdelingen' toegevoegd met daarin een autonummeringsveld 'AfdID' en een veld met alle afdelingen (in totaal 44 trouwens, geen 42).
- Een nieuw numeriek veld 'AfdID' toegevoegd aan de tabel 'Per afdeling'.
- Het veld 'Naam afdeling' verwijderd.
- De koppeling tussen de beide velden 'AfdID' gelegd in het scherm Relaties.
- Een query gemaakt op basis van de tabel 'Per afdeling'.
- Een formulier gemaakt op basis van deze query m.b.v. de Wizard Formulier.

Vervolgens heb ik in dit formulier in de ontwerpweergave het veld 'AfdID' gewijzigd in een 'Keuzelijst met Invoervak' door er met de rechtermuisknop op te klikken en vervolgens naar 'Wijzig in' en dan 'Keuzelijst met Invoervak' te gaan.

Daarna heb ik bij de eigenschap 'Rijbron' van dit veld de tabel 'Afdelingen' geselecteerd. Vervolgens heb ik op de drie puntjes (...) geklikt achteraan deze eigenschap en een query gemaakt waarbij de afdelingsnamen oplopend gesorteerd worden.

Daarna heb ik de eigenschap 'Beperken tot lijst' op 'Ja' gezet en in de tab Opmaak het aantal kolommen op 2, de kolombreedtes op 0 en 8 cm en de lijstbreedte op 8 cm.

Hopelijk is dit wat je wilde. Zo niet dan hoor ik het wel :)
 

Bijlagen

  • Testdatabase UMCG voor Zorgkaart1.zip
    38,4 KB · Weergaven: 29
Daarna heb ik de eigenschap 'Beperken tot lijst' op 'Ja' gezet en in de tab Opmaak het aantal kolommen op 2, de kolombreedtes op 0 en 8 cm en de lijstbreedte op 8 cm.
Zet in dit geval de Lijstbreedte niet op 8cm, maar op 8,7cm. Je hebt dan geen (totaal onnodige) horizontale schuifbalk meer in je keuzelijst.
 
Dat kan wellicht wel maar de vraag is of je dat nodig hebt. De ziekenhuizen vullen (naar ik aanneem) alleen de gevraagde informatie in voor de afdelingen die aanwezig zijn en niet voor de afdelingen die ze niet hebben. Dus dan weet je toch al welke afdelingen ze wel en niet hebben?
 
Ik zie nu dat je een ja/nee veld 'Aanwezig in dit ziekenhuis?' hebt toegevoegd aan de tabel 'Afdelingen' maar dat heeft m.i. geen zin.
Als je dat al wil dan zou je dit veld toe moeten voegen aan de tabel 'Per afdeling' of 'Algemene ziekenhuisinformatie'.
Maar nogmaals: waarom wil je dat?
 
Wat je m.i. het beste kan doen is een autonummeringsveld toevoegen aan de tabel 'Algemene ziekenhuisinformatie' en vervolgens een numeriek veld met dezelfde naam aan de tabel 'Per afdeling', die je koppelt in het scherm Relaties.
Dan kun je namelijk een hoofd- en subformulier maken waarbij de ziekenhuizen in het hoofdformulier de algemene gegevens invullen en daaronder in het subformulier de afdelingsgegevens.
En indien gewenst kun je ook queries maken en formulieren of rapporten waarin alle ingevulde gegevens gecombineerd worden zodat je een totaaloverzicht krijgt.
 
Jij typt sneller dan ik ontwerp :)
 

Bijlagen

  • Testdatabase UMCG voor Zorgkaart1 .zip
    40,9 KB · Weergaven: 37
Denk eerder dat het andersom is: jij ontwerpt sneller dan ik typ :d
 
Overigens hanteer ik dus consequent de strucuur TabelnaamID voor sleutelvelden in de brontabellen, en Tabelnaam_ID voor de velden in de koppeltabel. Geen identieke veldnamen. Heb in een ander draadje uitgelegd waarom :).
 
Ten aanzien van de ja/nee optie: ik heb een zo volledig mogelijke lijst met mogelijke afdelingen gemaakt. Deze database zal uiteindelijk gebruikt gaan worden om een internationale ziekenhuis-vergelijkings-website te voeden. Vandaar dat ik bij het maken van de keuzes in de tabellen/queries/formulieren hiermee al zoveel mogelijk rekening probeer te houden. Ik werk voor het UMC Groningen. 99% van de overige ziekenhuizen (zowel Nederlandse als Duitse) zullen kleiner zijn dan het UMCG en dus minder afdelingen hebben. Om het geheel zo 'slank' mogelijk te houden, heb ik die checkbox toegevoegd, zodat (op de een of andere manier) we niet de tabellen op afdelingsniveau voor niet-aanwezige afdelingen in het systeem gaan krijgen. Althans, ik nam aan dat dat efficiënter zou werken, ook ten aanzien van bijvoorbeeld de laadtijd van de website.
 
Ten aanzien van de ja/nee optie: ik heb een zo volledig mogelijke lijst met mogelijke afdelingen gemaakt. Deze database zal uiteindelijk gebruikt gaan worden om een internationale ziekenhuis-vergelijkings-website te voeden.
Je laat me schrikken; denk je dat je de database zo als backend voor een website kunt gebruiken? Eerstvolgende tegenvraag is dan: gebruiken jullie SharePoint?

Om het geheel zo 'slank' mogelijk te houden, heb ik die checkbox toegevoegd, zodat (op de een of andere manier) we niet de tabellen op afdelingsniveau voor niet-aanwezige afdelingen in het systeem gaan krijgen.
Een veel slimmere optie is om de lijst te beperken tot de reeds ingevoerde en gebruikte afdelingen. Dat is heel simpel uit te breiden: met de gebeurtenis <Bij niet in lijst> (NotInList) kun je dan een niet-bestaande afdeling (een nieuwe waarde dus) gelijk toevoegen aan de tabel op het moment dat je 'm intypt. Hij is dan vervolgens gelijk beschikbaar in je formulier. Op die manier voorkom je dat je waarden toevoegt in een tabel die je niet nodig hebt. Want wellicht zitten er nu dus ook al afdelingen in je lijst die je nooit nodig gaat hebben. Het is een goed gebruik in databaseland om alleen die waarden op te slaan die ook echt gebruikt worden.
 
Een veel slimmere optie is om de lijst te beperken tot de reeds ingevoerde en gebruikte afdelingen. Dat is heel simpel uit te breiden: met de gebeurtenis <Bij niet in lijst> (NotInList) kun je dan een niet-bestaande afdeling (een nieuwe waarde dus) gelijk toevoegen aan de tabel op het moment dat je 'm intypt. Hij is dan vervolgens gelijk beschikbaar in je formulier. Op die manier voorkom je dat je waarden toevoegt in een tabel die je niet nodig hebt. Want wellicht zitten er nu dus ook al afdelingen in je lijst die je nooit nodig gaat hebben. Het is een goed gebruik in databaseland om alleen die waarden op te slaan die ook echt gebruikt worden.

Het nadeel daarvan lijkt mij dat je de kans loopt dat ziekenhuizen hun eigen omschrijving gaan invoeren voor dezelfde afdelingen. Om maar een voorbeeld te noemen: het ene ziekenhuis heeft een afdeling Dermatologie en een ander ziekenhuis noemt die afdeling Huidziekten. Ik denk dat Joostzw dat nou juist wil voorkomen door af te dwingen middels de keuzelijst dat ze allemaal dezelfde afdelingsnamen gebruiken.
 
Om het geheel zo 'slank' mogelijk te houden, heb ik die checkbox toegevoegd, zodat (op de een of andere manier) we niet de tabellen op afdelingsniveau voor niet-aanwezige afdelingen in het systeem gaan krijgen. Althans, ik nam aan dat dat efficiënter zou werken, ook ten aanzien van bijvoorbeeld de laadtijd van de website.

Ik begrijp eigenlijk nog steeds niet waarom je die checkboxen wilt. In het hoofd- en subformulier (dat Octafish voor je gemaakt heeft) voeren de ziekenhuizen toch alleen de informatie in voor de afdelingen die ze hebben? Waarom zouden ze daar afdelingen gaan invoeren die ze niet hebben?
Desnoods kun je afdwingen dat ze informatie invoeren door alle velden verplicht te maken. Als ze dan een niet-bestaande afdeling invoeren en vervolgens zijn ze verplicht om het aantal bedden, het aantal medewerkers etc etc in te voeren dan komen ze er vanzelf achter dat ze die info niet hebben....
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan