Op basis van selectie data uit andere tabel tonen

Status
Niet open voor verdere reacties.

LodewijkG

Gebruiker
Lid geworden
6 dec 2012
Berichten
98
Beste allen,

Ik probeer het volgende te doen:

De tblProductOrderId als subformulier (gegevensblad weergave) voor de tblOrder.

Nu zou ik graag willen dat als er een product gekozen wordt (ProductId) de leverancier(CompanyName) en de prijs/geldigheid(ProductPrice) (ValidFrom/ValidUntill) zichtbaar worden in hetzelfde formulier. Dit doe ik nu door een lege tekst cel toe te voegen met de DLookUp functie.

Is hier ook een makkelijkere/betere manier voor?

relaties.jpg

Alvast bedankt!
 
Je kiest je product nu met een Keuzelijst met invoervak, neem ik aan, dus dat kan inderdaad simpeler en sneller. DLookup is voor dit soort zaken sowieso een slechte optie. Je kunt de waarden namelijk gewoon uit je keuzelijst opvragen. Het tekstveld krijgt dan de formule =cboProduct.Column(#) als Besturingselementbron. Daarbij staat # voor de gewenste kolom -1; Access telt namelijk vanaf 0. Dus als in de keuzelijst de prijs in de derde kolom van je query staat, dan zet je in het Besturingselementbron:
Code:
=cboProduct.Column([B]2[/B])
 
Nu zou ik graag willen dat als er een product gekozen wordt (ProductId) de leverancier(CompanyName) en de prijs/geldigheid(ProductPrice) (ValidFrom/ValidUntill) zichtbaar worden in hetzelfde formulier.
Je kan toch gewoon de gewenste velden opnemen in de query voor je subformulier?
 
Dag Octafish,

Wederom bedankt voor het snelle antwoorden. Ik heb in mijn keuzelijst met invoervak [ProductId] [ProductCode] [ProductDescription] [ProductPrice] uit een query die *tblProduct *tblProductPrice en [CompanyName] uit tblCompanies toont. dus bovenstaand werkt geloof ik niet voor mij, kan dit ook aan der query gelinked worden ipv de cel?

Mvgr,

Lodewijk
 
Ik snap nog niet helemaal wat je aan het doen bent of wat je wilt (dat laatste dan wel iets beter). Die query op de keuzelijst zou er volgens mij dan zo uit moeten zien:
PHP:
SELECT DISTINCTROW Products.ProductID, Products.ProductCode, Products.ProductDescription, Products.ProductPrice, Products.ValidFrom, Products.ValidUntill, tblCompanies.CompanyName 
FROM tblCompanies INNER JOIN Products ON tblCompanies.CompanyID = Products.CompanyID
ORDER BY Products.ProductDescription

En je tekstvakken die dan resp. prijs, Valid From, Valid Until en CompanyName moeten laten zien krijgen dan de formule
Code:
=cboProduct.COlumn(1)   'Product code
=cboProduct.COlumn(3)   'Prijs
=cboProduct.COlumn(4)   'Valid From
=cboProduct.COlumn(5)   'Valid Until
=cboProduct.COlumn(6)   'Company name
Uiteraard de keuzelijst wel goed instellen; als je 7 kolommen in de bron hebt, dan moet je ook 7 kolommen bij <Aantal kolommen> invullen. En als je niet alle kolommen wilt zien (lijkt mij niet nodig) dan kun je de breedte van de kolommen bijvoorbeeld instellen als: 0;0;3;2;0;0;4. Dan zie je alleen de Productnaam (zoekt makkelijk), de prijs en de leverancier.
 
Misschien mis ik hier iets maar waarom haal je die informatie uit een query voor een combobox terwijl je die ook gewoon in de query voor het subformulier kan opnemen?
Met de query voor de combobox selecteer je de gewenste ProductID en middels de query voor het subformulier wordt dan automatisch de bijbehorende leverancier en de prijs/geldigheid ingevuld door Access.
 
Misschien mis ik hier iets
Daar zijn zoveel redenen voor aan te geven dat ik daar makkelijk een hoofdstuk voor de Access cursus van kan maken :). Aangezien dat niet een vraag van TS is en ik de topic schoon wil houden, ga ik daar nu niet verder op in. :).
 
Lodewijk, wellicht kun je je database even uploaden hier zodat we kunnen zien wat je nou eigenlijk wilt?
 
Als je tenminste niks aan de antwoorden hebt :D.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan