Checkbox Locaties evenementendtabase

Status
Niet open voor verdere reacties.

Fuser149

Gebruiker
Lid geworden
13 feb 2012
Berichten
33
Ik heb een tabel "evenementen" met volgende velden (id, evenement, aanvangsdatum, einddatum, locatie, ...), ik heb hiervoor een formulier aangemaakt gebaseerd op tabel evenementen: in dit formulier zou ik bij locatie 4 checkboxen willen hebben waar ik kan aanduiden op welke locatie het doorgaat (a,b,c en d) en als ik dan bv a en b aanduid wil ik dat in mijn tabel onder locatie a en b verschijnt! HELP!

alvast bedankt
 
Wil je de locaties kunnen opslaan in één veld (die indruk wek je namelijk) of heb je 4 velden in je tabel gemaakt voor de vier locaties?
 
Ik wil de locatie inderdaad opslaan in 1 veld in de tabel. Als dit niet mogelijk is kan ik wel 4 velden aanmaken maar 1 veld lijkt me leuker... Ik moet ongeveer hetzelfde doen met status evenement (bezig, in verwerking,...)

Alvast bedankt voor de reactie

groeten

Willem
 
Laatst bewerkt:
Dat is databasetechnisch niet de mooiste oplossing, want als je dat doet kun je nauwelijks nog tellingen maken bijvoorbeeld op locaties. Als je drie records hebt met de waarden
Zijlstraat
Dorpsplein
Zijlstraat, Dorpsplein
krijg je, als je wilt weten hoe vaak een locatie is gebruikt, een verkeerde uitkomst. Als je dat niet erg vindt, is er uiteraard wel een oplossing te verzinnen voor je selectieprobleem. Komt nog de vraag: welke versie gebruik je?
 
Kan ik deze locaties in dezelfde tabel zetten of moet ik hiervoor een nieuwe tabel aanmaken en een relatie maken? IK gebruik MS acces 2010 dus ik maak dan 3 records aan met JA/NEE?

groeten
willem
 
Mijn excuses u oplossing is dus niet de perfecte oplossing om locaties te filteren wat is dan de beste oplossing?
 
Zelf zou ik een aparte tabel maken, tEvenement_Locatie bijvoorbeeld,zodat je a) niet gebonden bent aan een maximum, en b) de database integriteit in orde houdt. Wat voor je rapportages e.d. een heel stuk makkelijker is. Met een subformulier voeg je dan aan een evenement nieuwe locaties toe, en that's it.

Kies je voor de één-veld optie, dan kun je net zo goed een keuzelijst maken met meervoudige selectie, dan heb je die hele checkboxen toestand niet nodig: gewoon een keuzelijst( met of zonder invoervak) op je formulier, en je kunt meerdere locaties selecteren en opslaan in één veld.

De door jouw bedachte oplossing met de selectievakjes is met afstand de meest ingewikkelde om te maken ;)
 
Alvast bedankt voor de nuttige info...
Hoe maak je een keuzelijst met meervoudige selectie want ik kan telkens maar een locatie aanduiden?
Als ik later filter op locatie is het mogelijk de bijhorende evenementen hierbij weer te geven?

groeten

Willem
 
Kijk, en daar heb je nou net het probleem met een veld met meervoudige opties: dat wordt dus erg lastig... Databasetechnisch is dat dan ook een hele stevige NONO. Vanwege de gegevensintegriteit sla je per veld maar één waarde op. Zo wordt ons dat geleerd :D

Google maar eens op Normaliseren, dan kom je dat onderwerp gegarandeerd tegen. Zowiezo geen gek idee: kijk maar eens op deze website, die vertelt het wel netjes.

Je kunt, als je een tabel ontwerpt en een opzoeklijst maakt, aangeven of het veld meerdere waarden mag bevatten of niet. Een bestaand veld kun je niet meer omzetten, dus je zult een nieuw veld moeten aanmaken om het uit te proberen. Maar zelf loop ik met een hele grote boog om die (nieuwe) optie heen, want het is alsof je de database ineens teruggooit naar het stenen tijdperk :)
 
Iemand die een idee heeft de bedoeling is eigenlijk: ik werk hier in een gebied met 4 domeinen (a,b,c en d) en ik wil een database maken met de evenementen met aanvangsdatum einddatum, locatie en status. In een formulier wil ik kunnen aanduiden in welke domeinen ik het evenement wil organiseren (vb. a en b) welke status(voorbereiding, bezig, in opbouw,...) De bedoeling is dat ik achteraf kan filteren via een query op aanvangsdatum maar ik daarbij ook de bijhorende status en locatie wil zien die ik hierbij aangeduid heb op formulier... HELP!
 
Dank vor de snelle reacties Octafish maar ik geraak er echt niet uit momenteel :)
 
Kijk, en daar heb je nou net het probleem met een veld met meervoudige opties: dat wordt dus erg lastig... Databasetechnisch is dat dan ook een hele stevige NONO. Vanwege de gegevensintegriteit sla je per veld maar één waarde op. Zo wordt ons dat geleerd :D

Google maar eens op Normaliseren, dan kom je dat onderwerp gegarandeerd tegen. Zowiezo geen gek idee: kijk maar eens op deze website, die vertelt het wel netjes.

Je kunt, als je een tabel ontwerpt en een opzoeklijst maakt, aangeven of het veld meerdere waarden mag bevatten of niet. Een bestaand veld kun je niet meer omzetten, dus je zult een nieuw veld moeten aanmaken om het uit te proberen. Maar zelf loop ik met een hele grote boog om die (nieuwe) optie heen, want het is alsof je de database ineens teruggooit naar het stenen tijdperk :)

IK heb zoals je gezegd hebt een keuzelijst met meerdere waarden voor locatie in mijn gewone evenemententabel gestoken en daarna veld locatie in formulier gezet en dit werkt perfect, ik kan er ook perfect op filteren of vergis ik mij hierin?

Alvast hartelijk dank voor je hulp en snelle reacties!

groeten

Willem
 
Ocatafish ik denk wat ik weet wat het probleem is ik wou nl een query maken met criteria ( geef een locatie) en dan geeft hij errore omwille van meerdere velden kan dit opgelost worden?

groeten
 
Laatst bewerkt:
Zoals ik al zei: als je met een veld gaat werken waarin je meerdere waarden kunt opslaan, dan vraag, (nee, dan roep je!) om problemen :)
Het uitlezen van een veld met meerdere waarden erin is wel mogelijk, en je kunt daar dus ook wel een filter van bouwen, maar zonder een voorbeeldje gaat het wel heel veel tijd kosten om dat voor je te maken. Zowiezo kan ik vanavond pas naar een 2010 db kijken, omdat we op het werk nog met 2003 werken.
 
Ik denk dat je meer iets hebt aan deze code-opzet, waarbij de waarden in een meervoudige keuzelijst staan.

Code:
Private Sub lstCat1_AfterUpdate()

    strSQL = "SELECT CatID, Naam, ParentID FROM tCategorie " & vbCrLf & "WHERE "
    sCat = ""
    i = 0
    [COLOR="#0000FF"]For Each itm In Me.lstCat1.ItemsSelected[/COLOR]
        If Me.lstCat1.ItemsSelected.Count > 0 Then
            sCat = sCat & "(ParentID = " & Me.lstCat1.ItemData(itm) & ") "
            i = i + 1
            If i < Me.lstCat1.ItemsSelected.Count Then sCat = sCat & "OR "
        Else
            Exit Sub
        End If
    [COLOR="#0000FF"]Next itm[/COLOR]

    sCat = sCat & vbCrLf
    strSQL = strSQL & sCat & "GROUP BY CatID, Naam, ParentID" & vbCrLf _
        & "ORDER BY Naam"

    Me.lstCat2.RowSource = strSQL
    Me.lstCat2.Requery

End Sub

Ik hoop dat je de code een beetje kunt lezen, want hij is niet overdreven eenvoudig :)
Het belangrijkste gebeurt in het blauwe blok, waarbij een variabele wordt opgebouwd op basis van de geselecteerde waarden.
 
Is idd niet zoon gemakkelijke code kan je me even op weg zetten voor ik de code helemaal verknoei? Ik heb de velden "evenement", Locatie(s).Value of locatie(s)?, aanvangsdatum, einddatum en status in mijn query opgenomen, ik wil een criteria instellen bij Locatie(s) of locaties(s).value vb. Geef hier een locatie in.

edit: de naam van de query is: Locatiequery

Alvast bedankt genius

groeten
 
Laatst bewerkt:
Edit: Het zou eigenlijk eenvoudiger zijn moest ik een rapport kunnen maken met de evenementen in locatie a , een rapport met locatie b, ... dus zonder criteria maar ik kan niet filteren. Quid?
 
Omdat ik nog met 2003 gebruik op het werk, een aangepast voorbeeldje; de techniek is hopelijk wat duidelijker nu. Met tegenzin uiteraard, want deze werkwijze dreunt tegen alle database principes in die er zijn :)
 

Bijlagen

  • Multi-Keuzelijst.zip
    19,9 KB · Weergaven: 12
Ik heb het opgelost. Ik heb per locatie een Query gemaakt met bij criteria locatie "LocatieA". Dan heb ik een macro aangemaakt om deze query uit te voeren. Nu ga ik een formulier aanmaken met een knop die deze query laat uitvoeren per locatie, weet niet of dit databasetechnisch de beste oplossing is maar het werkt :) JIHAAAA!
groeten

Hartelijk dank voor de goede hulp!
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan