Hulp met comboboxen in Access

Status
Niet open voor verdere reacties.

Kuifje_007

Gebruiker
Lid geworden
25 mrt 2004
Berichten
209
Ik heb een formulier met comboboxen voor de tennisafval-schema.

In de eerste rij zijn er bijv. 32 comboboxen, de tweede 16 comboboxen, de derde 8, etc.
De eerste rij kan je makkelijk selecteren uit de tabel. Maar de tweede rij comboboxen moet je selecteren uit de eerste rij. Om precies te zijn: de eerste combobox van de tweede rij moet de gegevens halen uit de eerste en tweede comboboxen van de eerste rij, en tweede combobox uit de derde en vierde comboboxen uit de eerste rij, etc..

Tevens wil ik de gegevens wegschrijven in een tabel maar ik heb geen idee hoe het moet bij deze comboboxen.

Kan iemand een klein progje maken (4 comboboxen in de eerste rij, twee in de tweede rij, een in de derde rij), als je daarvoor tijd hebt. Daarvandaan kan ik wel zelf uitbreiden en ervan leren.

Alvast bedankt!! :)
 
Zo zou ik het doen

Wat je wilt kan op zich wel. Ik mis in jouw formulier een veld voor de winnaar wat je vervolgens weer gebruikt voor de aansturing van de querie voor de volgende ronde. Daarnaast probeer je alles in 1 tabel te schrijven en dat zal niet lukken omdat iedere volgende ronde het aantal records (wedstrijden) halveert. Hoewel ik geen verstand heb van tennis zou ik het op de volgende manier doen. Als je het weg wilt schrijven naar een tabel zul je er verschillende moeten maken. Een tabel met alle deelnemers. De 2e tabel krijgt 16 records (=wedstrijden) met daarin de velden Speler A, Speler B en winnaar. Voor alle velden gebruik je een querie gebaseerd op de tabel deelnemers ( 32 spelers). De 3e tabel krijgt 8 records (=wedstrijden) met dezelfde velden (Speler A, Speler B en winnaar 2e ronde), De querie voor deze velden is gebaseerd op het veld winnaar uit de 2e tabel. Zo kun je verder gaan tot aan de finale. Iedere keer gebruik je een querie gebaseerd op het veld winnaar uit de vorige tabel.
In het hoofdformulier kun je dan verschillende formulieren gebruiken gebaseerd op de verschillende tabellen. Suc6
 
Bedankt voor je antwoord!
Hoe ga ik de tabellen (tabel Eerste ronde: Speler A, Speler B en Winnaar) koppelen aan de deelnemers die een voorspelling van de hele toernooi wilt maken?
Dus de deelnemers moeten voorspellen welke speler van elk wedstrijd in elk ronde gaat winnen.
 
In de kolom Speler A en Speler B staan gegevens die tegen elkaar moeten spelen.
Hoe kan ik in kolom Winnaar een van deze speler selecteren?
 
Mijn volgende vraag is:

Ik heb tabellen en formulieren gemaakt. In de formulieren van elke ronde kan je de spelers A en B selecteren en de winnaar. Helaas zie ik nu dat winnaar selecteren niet goed is, de winnaar in elke veld is altijd tussen Speler A en B van de eerste rij. Hoe kan ik de winnaar kiezen in elk rij apart?
 

Bijlagen

Gebruik unieke ID

Er van uitgaande dat ieder record een uniek ID heeft ( bv obv autonummering) kun je in de querie een verwijzing opnemen naar dit ID nummer. Dan maak je een kopie van de Querie waaruit je A en B kiest en neemt daarin ook een verwijzing naar het veld ID op. Dan hou je nog maar twee spelers over die aan de criteria voldoen namelijk A en B.
Suc7

Bij nader inzien twijfel ik of dit werkt omdat het Id nr in een andere tabel staat dan die waarop je Querie gebaseerd is. Ik heb echter momenteel niet de tijd je database te bekijken. Wat misschien ook een optie is om achter veld speler A een knopje te zetten en achter veld speler B hetzelfde. Achter deze knopjes zet je respectievelijk iets van: Me.winnaar = Me.spelerA c.q. Me.winnaar=Me.spelerB. Door op het knopje achter de winnende speler te klikken na de wedstrijd wordt het veld winnaar gevuld en kun je weer verder. Op de querie zal ik proberen nog terug te komen. P.s. kun je niet beter gaan darten?
Suc8
 
Laatst bewerkt:
Queries

Je probleem is dat je geen onderliggende tabel hebt gemaakt zoals ik eerder beschreven heb. Wil je het doen op jouw manier dan betekent dat dat je een tabel met 1 record krijgt waarbij je voor iedere speler een veld moet aanmaken ( 36 x) iedere speler uit de volgende ronde (18x) enz. Je kunt dan je keuze met queries oplossen maar per veld in de volgende ronde moet je 3x een querie maken. In de 1e selecteer je naam A in de 2e naam B. De 3e querie baseer je dan op de eerste twee queries. Dit is veel werk. Het maken van verschillende tabellen is dan makkelijker. Ik heb het voor de eerste twee spelers aangepast in de mdb. Nu nog hopen dat ik hem kan versturen.
Suc9

Ik zie nu dat ik waarschijnlijk je eerste versie bekeken heb want ik zie nu een versie met wel verschillende tabellen. Ik zal deze nog even bekijken. De bijlage lukt niet helaas.
 
Laatst bewerkt:
Toch mbv Id

Nu de goede database bekeken. Je moet 3x een querie maken. Querie 1 selecteer je Id en veld speler A Vermeld je bij criteria veld speler A : [Forms]![2nd Round]![Speler A]en in het veld Id [Forms]![2nd Round]![ID]. Dit levert 1 naam op. Hetzelfde doe je in Querie2 maar dan met veld Speler B en ID. Ook dit levert 1 naam op. De derde Querie baseer je op de tabel waar alle namen in staan van de deelnemer. Vanuit Veld1 leg je 2x een 1 op veel relatie naar de querie1 ( veld speler A) en querie2 (speler B). Nu criteria vermelden in de velden Speler A en B en wel Is not null. Dit op VERSCHILLENDE niveaus doen anders werkt het niet. Dan levert Querie3 twee namen op. Die hang je onder het veld Winnaar. Wat je nu nog moet doen is zorgen dat zodra je velden Speler A en B wijzigen Me.winnaar een requerie krijgt. Ditzelfde doe je als het veld winnaar de focus krijgt. Zo wordt zodra je in een nieuw record staat met een ander ID de relevante twee namen van dat record getoond. Suc6
 
Beste Anne-Marie,

Hartelijk bedankt voor je antwoorden, maar ik moet eerlijk zeggen dat ik niet veel van begrijp. Het lijkt me best ingewikkeld.

[Forms]![2nd Round]![Speler A], !ID en B werken niet. Ik kan geen Query krijgen uit de eerste twee Query.

Sorry, ik ben blijkbaar een echte leek op Access. :o
 
Laatste poging

Ik zal nog 1 poging wagen en ik baseer mij even op het formulier 2nd Round. Als eerste moet je het veld ID opnemen in dit formulier in de Detailssectie. Als je het veld niet wilt zien kun je via eigenschappen bij Zichtbaar nee vermelden.
Dan maak je querie 1 die je baseert op de Tabel 2nd Round. In deze querie neem je Speler A en het veld ID op. Bij criteria vermeld je respectievelijk [Forms]![2nd Round]![Speler A] en [Forms]![2nd Round]![ID].
Dan maak je querie 2 die je baseert op de Tabel 2nd Round. In deze querie neem je Speler B en het veld ID op. Bij criteria vermeld je respectievelijk [Forms]![2nd Round]![Speler B] en [Forms]![2nd Round]![ID].
Om het in Nederlands te zeggen wordt op deze wijze in Querie1 de naam van speler A geselecteerd uit het betreffende record en bij Querie2 de naam van speler B. Nu moet je voor je veldje winnaar ( van deze twee) een querie hebben die BEIDE namen laat zien.
En dus maak je Querie3. Deze baseer je op de tabel Spelerslijst waarin de namen van alle spelers staan; op de querie1 en op de querie2. Nu moet je eerst de goede relatie leggen tussen de tabel en de querie. Klik het veld [veld1] 1x aan en sleep dit naar het veld [spelerA] in de querie1. Zo leg je een relatie. Dubbelklikken op het lijntje van de relatie en geef aan dat je alle records uit de tabel wil en alleen de identieke uit de querie1. Ditzelfde doe je voor querie2 maar dan met het veld [speler B]. Selecteer nu de velden [speler a] uit Querie1, [spelerB] uit querie2 en [veld1] uit de tabel. (door te dubbelklikken in het bovenste gedeelte verschijnen de velden onderin. Nu nog de criteria vermelden. Vermeldt bij Speler A “is not null” en doe hetzelfde achter criteria veld Speler B MAAR DAN 1 RIJTJE LAGER. Nu is de querie3 klaar en kun je deze onder het veld van de winnaar als rijbron plaatsen.
Nu moet je nog zorgen dat het veld winnaar in het formulier waar de querie3 de rijbron van is een Requerie krijgt. Ga naar eigenschappen, focus en maak daar de gebeurtenisprocedure Me.Winnaar.Requerie. Ditzelfde zet je bij de eigenschappen Na bijwerken van de velden Speler A en Speler B. Duidelijker als dit kan ik het niet zeggen anders zul je iemand met iets meer ACCESS kennis moeten raadplegen. Suc6
 
Ja, het is eindelijk gelukt! Hartelijk bedankt! Nu kan ik het weer verder ontwikkelen. Bedankt, Anne-Marie!! :thumb:
 
Ik wil nu proberen om iets anders te doen. Ik vraag of het mogelijk is om de gegevens uit de vele verschillende comboboxen onder elkaar in een tabel weg te schrijven.
Bijv. op een formulier staan in de eerste ronde 32 comboboxen. Een deelnemer kiest dus 16 speelsters voor de tweede ronde dus men moet 16 speelsters kiezen mbv comboboxen. De gegevens moet dus naar de tabel worden weggeschreven met de naam van de deelnemer, welke ronde, naam van de speelster en later eventueel de punten. Volgens mij kan dit met een VBA-codes. Welke codes heb je hiervoor nodig?
Alvast bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan