query en inputselectie

Status
Niet open voor verdere reacties.

Venne

Gebruiker
Lid geworden
8 sep 2000
Berichten
148
Ik wil een selectiequery maken om een bepaald deel van een tabel te tonen.

Een element van de tabel is STRAAT.

Bedoeling is dat de gebruiker na het starten vd query de naam van een straat invult, waarna hij alle namen en adressen ea ziet van de mensen die in die straat wonen, en geen andere.

Toch graag ook de mogelijkheid om alle gegevens te zien.

Dus ofwel 1 bepaalde keuze, ofwel alles.
 
Maak daar een parameterquery van. Bij criteria in je query vul je in:

Like [Voer straatnaam in:] & "*"

Je hoeft dan slechts een gedeelte van de straatnaam in te vullen. Als de gebruiker een "*" invult, krijg je alle straten te zien.

Groetjes,
Bennie
 
Bennie,

dit klinkt goed, doch bij mij werkt het nog niet.

Ik heb een tabel met namen en adressen ea, waarin een veld numeriek veld STRAAT.
In een andere tabel staat een tekstveld STRAATNAAM.
Verder bestaat een grote tabel met allerlei gegevens.

In de query gebruik ik die drie tabellen, met oa een link tussen het numeriek veld STRAAT en het tekstveld STRAATNAAM.

Als ik bij het uitvoeren vd query een bepaalde straatnaam correct invul, krijg ik toch alles te zien.

Heeft de volgorde vd linken misschien belang?
 
Ik neem aan dat de tabel met het tekstveld STRAATNAAM de tabel is die alle straatnamen bevat. Dat is dus de tabel waar je de query op loslaat. (Veldnaam: Straatnaam). Kijk dus goed in de query welke Tabel er wordt genoemd. Zet die desnoods vooraan.

Groetjes,
Bennie
 
De tabel met het veld STRAATNAAM heeft slechts 1 ander element: StraatID. De link met de eerste tabel gebeurt via dit element StraatID.

Merkwaardig, feitelijk normaal, is dat als ik de query aanpas, met als criteria een straatnaam tussen dubbele aanhalingstekens, alles naar wens verloopt, dus enkel de mensen uit de gegeven straat worden getoond.

Blijft dus het startprobeem: hoe het criteria schrijven, zodat de gebruiker een straatnaam invult, en enkel de mensen die door wonen getoond worden.

Ik vraag meteen of het mogelijk is een schermpje te zien, waarop alle straatnamen voorkomen, zodat de gebruiker 1 ervan aanlikt om te kiezen.

Ondertussen reeds fel bedankt voor de gedane moeite.
 
Het is mij niet helemaal duidelijk hoe je tabellen er uit zien.
Kun je per tabel even een overzichtje van de velden geven.
Dan is het niet zo moeilijk een query te maken die doet wat jij wilt.
 
Bartuls, ik ben zeer blij dat jij de draad terug opneemt. Gedurende enkele dagen kon ik geen tijd vrijmaken voor dit probleem, doch nu komt ik er graag op terug.

Ik werk met 3 tabellen en 1 selectiequery.
1) TabelMENSEN met rubrieken ID, naam, lid van vereniging, dit laatste waar/onwaar; (deze tabel bevat heel wat meer mensen dan in deze toepassing gebruikt worden)
2) TabelVERENIGING met rubrieken ID, mensenID, straat; dit laatste is een numeriek veld, dat overeenstemt met ID in tabel STRATEN;
3)TabelSTRATEN met ID en straatnamen.
4) QueryVERENIGING
met linken tussen
a. tabelMENSEN rubriek ID en TabelVERENIGING rubriek MensenID
b. TabelVereniging rubriek straat en TabelSTRATEN rubriek straatnaam
De selectie gebeurt in de eerste kolom vd query, als volgt:
veld : straatnaam
tabel: straten
sorteervolgorde: oplopend
weergeven: ja
criteria: Like [Geef straatnaam] & "*"

Ik hoop dat een en ander voldoende duidelijk is, zoniet vraag je maar.
 
Je moet een query gaan opbouwen die jou de betreffende straatnamen teruggeeft.
Die query kun je dan gebruiken om een listbox te vullen met de straten die je wilt laten zien.
Ik ga er even van uit dat je je selectiekriterium invult op formulier frmStraten in tekstveld txtStraatSelectie.

De query ziet er als volgt uit:

dim strSQL as String

strSQL = ""
strSQL = strSQL & "SELECT ID, straatnamen "
strSQL = strSQL & "FROM TabelSTRATEN "
strSQL = strSQL & "WHERE straatnamen LIKE " & "'" & forms![frmStraten]![txtStraatSelectie] & "*'"

Als je op het formulier een listboxje met het resultaat van de straten hebt staan met de naam lstStraten dan kun je vervolgens dit listboxje vullen met de volgende statements:

forms![frmStraten]![lstStraten].rowsource = strSQL
forms![frmStraten]![lstStraten].Requery
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan