Gegevens uit 2 tabelvelden beschikbaar krijgen in een keuzevak

Status
Niet open voor verdere reacties.

anlag1

Gebruiker
Lid geworden
31 okt 2010
Berichten
144
Hallo,

Ik wil gegevens uit 2 tabelvelden beschikbaar krijgen in een keuzevak van een formulier,
dacht aan een query die 2 velden samenvoegd,echter heb geen idee hoe dit te doen.

Groet,
andre
 
Als je een keuzelijst maakt, kun je dat ofwel met de hand doen, en dan kun je hem gelijk maken zoals je aangeeft, ofwel met de wizard, en dan maak je 'm op basis van één van de twee velden die je wilt gebruiken. Daarna kun je de Rijbron eigenschap van de keuzelijst aanpassen, en alsnog de twee velden samenvoegen.
 
OctaFish,

Dank voor je snelle reactie,
maar begrijp niet hoe ik in de rijbron eigenschap alsnog de 2 velden kan samenvoegen.

in de rijbron eigenschap staat nu
SELECT [qry_connections_location].[LOC1] FROM [qry_connections_location] ORDER BY [LOC1];

Het gaat om de velden LOC1 en LOC2, beide komen ze uit de qry_connections_location.
misschien dat een voorbeeldje mijn vraag verduidelijkt
LOC1 LOC2
a c
b d

de waarden van het keuzevak moet dan zijn:

a
b
c
d

Groet,
andre
 
Je hebt samenvoegen, en samenvoegen. Meestal als mensen twee velden willen samenvoegen, dan gaat het bijvoorbeeld over de velden AchterNaam en VoorNaam, die dan samen in één veld moeten komen. Dat doe je dan met: [Voornaam] & " " & [Achternaam]. Maar zo te zien bedoel je dat niet; jij wilt één veld maken, op basis van twee aparte velden. Of zie ik dat verkeerd?
 
OctaFish,

Dat heb je helemaal goed, vindt het idd lastig om te verwoorden wat ik precies bedoel,
de gegevens uit veld LOC1 en de gegevens uit veld LOC2 moeten in een nieuw veld, laat ik maar zeggen onder elkaar.
Gr.
Andre
 
Dat kan je nog steeds wel met een aanpassing van de rijbron doen. Je moet dan iets maken als dit:

Code:
SELECT [LOC1] As Loc FROM [qry_connections_location] 
Union ALL
SELECT [LOC2] As Loc FROM [qry_connections_location] 
ORDER BY [LOC]

Het kan zijn dat je de veldnamen nog even moet aanpassen; als je al een veld LOC in je query hebt, kan je het nieuwe alias waarschijnlijk niet gebruiken. Maakt ook niet uit, de UNION query werkt met elke naam die je verzint. En in de keuzelijst zie je die toch niet terug.
 
Dag Octafish,

Fantastisch, het werkt, dank voor je hulp, alleen zag ik dat er een aantal keer dezelfde waarde in voor komt,
kan daar ook wat aan gedaan worden, zodat elke waarde slecht één keer wordt weergegeven?
Gr.
Andre
 
met SELECT DISTINCT beperk je de records tot unieke waarden, maar ik weet eerlijk gezegd niet of dat ook met een UNION werkt, omdat je daarmee twee onafhankelijke recordsets koppelt in één nieuwe recordset. Die recordset zelf vormt daarmee een nieuwe recordset. Als je problemen hebt, kun je de tweede SELECT uitbreiden met iets als: WHERE [LOC2] Not In (SELECT [LOC1] FROM [qry_connections_location]). Daarmee beperk je de tweede recordset tot records die niet voorkomen in de eerste.
Ik heb de code overigens niet getest, omdat ik geen voorbeeldje heb om te testen. Zelf Controleren dus!
 
Geldt dit dan ook als zowel in LOC1 als in LOC2 meerdere keren dezelfde waarde voorkomt?
 
Zoals ik al zei, kun je met DISTINCT de recordset beperken tot unieke waarden per query. Dat geldt dan voor zowel de eerste als de tweede query. In de tweede query wil je de waarden die al in query 1 staan uitstaan, en dat doe je dan met de WHERE Not in() toevoeging.
 
Dit is de opbouwfunctie:
SELECT DISTINCT [LOCATIE1] As Loc FROM [tbl_connection_locations_help]
UNION ALL
SELECT DISTINCT [LOCATIE2] As Loc FROM [tbl_connection_locations_help]
ORDER BY [Loc];

dit werkt prima, maar zoals je zelf al zei komen er nog waarden voor in de tweede query die ook al in de eerste query staan
Ik weet niet waar ik in de functie de toevoeging WHERE Not in() moet plaatsen

Gr.
Andre
 
Daar heb je geen WHERE NOT IN voor nodig.
Gebruik UNION ipv UNION ALL, dan worden dubbele waarden uitgefilterd

SELECT DISTINCT [LOCATIE1] As Loc FROM [tbl_connection_locations_help]
UNION
SELECT DISTINCT [LOCATIE2] As Loc FROM [tbl_connection_locations_help]
ORDER BY [Loc];

Tardis
 
Tardis en Octafish,
Bedankt voor jullie hulp, ik denk dat hiermee mijn vraag voldoende
is beantwoordt
Gr. Andre
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan