Bepaalde waarden access

Status
Niet open voor verdere reacties.

josvink66

Gebruiker
Lid geworden
18 okt 2006
Berichten
699
Hallo,

Ik weet dat bij access (2007) het mogelijk is om in een veld van een tabel de waarden uit een andere tabel te halen alleen ik kan niet meer vinden hoe dat moet, dus eigenlijk wat ik wil is:

Dat in een veld van een tabel een dropdown iets komt die de waarden uit een andere veld in een ander tabel haalt.

Verder wil ik ook nog graag dat als in dat 1ste dropdown iets is geselecteerd dat er een 2de veld is die ook waarden haald uit die andere tabel maar dan wil ik zeg maar dat je in de 1ste kan kiezen tussen 1,2 of 3 en dan dat de 2de veld (uit het 1ste tabel) alle waarden laat zien waarbij het bij veld 1 bijvoorbeeld 1 is (als dat dan gekozen is)

Is beetje vaag uitgelegt maar hoop dat jullie het snappen

Groetjes,
 
Je wilt iets dat niet kan, en dat je in mijn ogen ook niet zou moeten willen.... Al moet ik dat antwoord gelijk nuanceren, want het eerste deel van je vraag kan wel. Je kunt namelijk een keuzelijst maken in een tabel. Dat doe je in het Ontwerpscherm van je tabel, waarbij je als Gegevenstype kiest voor de wizard Opzoeklijsten.

Waarom ik dan toch zeg dat je dat beter niet kunt doen? Om twee redenen. De eerste: door opzoeklijsten te maken/gebruiken zie je niet meer welke daadwerkelijke gegevens je hebt opgeslagen. Je kiest er meestal voor om een logische zoekwaarde te gebruiken. Dus als je een keuzelijst voor Klanten maakt, zul je niet het KlantID gebruiken om te zien/zoeken, maar de Klantnaam. Mijn opvatting is, dat je in een tabel altijd de daadwerkelijke gegevens moet zien.
De tweede reden heeft met het tweede deel van je vraag te maken. En het antwoord daarop is, dat je in een tabel geen velden afhankelijk van elkaar kunt maken. Dat kan wel, maar dat doe je op basis van een Formulier. En dan heb je meteen de derde reden waarom ik het nooit zou doen: met een formulier bied je de gebruiker(s) van de database een veel mooiere interface aan, waarmee je bepaalde taken kunt automatiseren, zoals bijvoorbeeld afhankelijke keuzelijsten en op een veel mooiere manier de gegevens kunt controleren die moeten worden opgeslagen. Eigenlijk moet je niet willen dat gebruikers überhaupt maar een tabel zien, laat staan gebruiken...
Conclusie/aanbeveling: maak eerst een formulier voor je tabel, en maak daar de keuzelijsten op.
 
Ik was der ook presies achter hoe ik het moest doen via een formulier Bedankt voor je reactie en je uitleg! ik heb wel een klein vraagje mischien weet jij die:

Ik heb in een veld in een tabel een getal staan.
is het mogelijk via SQL om in een ander veld en list te krijgen die dan de getallen 1 tot en met die cijfer zet? (voor in een formulier dus het ozu ook nog mogen via VBA)
 
Kun je vertellen wat precies je bedoeling daarmee is, functioneel dus niet vanuit je tabellen geredeneerd.
Ik neem tenminste aan dat er in de tabel waar je het over hebt meerdere rijen staan.

Tardis
 
Wat ik dus wil is in een formulier een list met getallen, maar waar die getallen eindigen kan elke x anders zijn (die waarde staat dus in een veld) Dus wil ik graag dat een sql script of iets dus automaties alles neer zet
dus B.V. er staat 6 in het veld dan moet dat sript dus dit in de list zette:
1
2
3
4
5
6

Hoop dat je het nu snapt
 
Ik snap de vraag niet helemaal: je hebt een keuzelijst gemaakt, waar een getal uitrolt, bijvoorbeeld 15. Vervolgens wil je een lijst maken met de waarden 1;2;3...15? Als dat zo is, dan gaat het bijvoorbeeld zo:
In het voorbeeld gebruik ik cboGetallen als input, en cboNieuw als de keuzelijst die moet worden opgemaakt.
Code:
Private Sub cboGetallen_AfterUpdate()
Dim i As Integer, x As Integer
Dim sT As String
 x = Me.cboGetallen.Value
 For i = 1 To x
    sT = sT & i
    If i < x Then sT = sT & ";"
Next i
Me.cboNieuw.RowSource = ""
Me.cboNieuw.RowSourceType = "Value List"
Me.cboNieuw.RowSource = sT
Me.cboNieuw.Requery
End Sub
 
Een lijst is generiek en niet afhankelijk van gegevens per rij in eenzelfde tabel.
Wat je vraagt is op basis van je laatste toelichting en niet logisch en niet mogelijk.
Niet op deze manier.

Als je iets met die nummering wilt gaan doen (bijvoorbeeld op basis van de getalswaarde x in een rij x aanvullende records aanmaken) dan doe je dat via VBA.

Tardis
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan