Melding Dubbele waarde

Status
Niet open voor verdere reacties.

iceicebabie

Nieuwe gebruiker
Lid geworden
8 apr 2015
Berichten
3
Hallo,

Het volgende probleem:
Ik heb een formulier deze koppelt een product aan een klant, 2 cb boxjes en een knop, heel basic.

Dus je kiest klant uit cb lijst en daarna product uit cb lijst en drukt op knop product koppelen.
Deze knop doet niets anders als de 2 id's wegschrijven in de tabel TBL_GekoppeldeProducten, cus_id & pro_id.

Nou wil ik een melding krijgen als dit product al gekoppeld is aan deze klant.
Maar het is dus niet een kwestie van opzoeken of die pro_id al in de kolom voorkomt, want hij staat er wellicht al wel 1000 keer in alleen dan met een andere cus_id.

Het is vast heel simpel, maar mn hoofd tolt inmiddels:@

Alvast bedankt voor de hulp!
 
Kwestie van voorkomen dat de artikelen al in de tabel voorkomen. Dus als je in cb1 een klant kiest, dan zie je in cb2 alleen de niet-gekoppelde producten. Kun je ook nooit verkeerd kiezen.
 
Dat klinkt simpel, weet alleen niet hoe ik het doe:P

De producten worden nu opgehaald uit de tbl_Producten.
De producten die gekoppeld zij staan in tbl_gekoppeldeproducten.

Kan ze los van elkaar beide wel uit n query trekken maar geen idee hoe ik dat dan koppel....:o
 
Je hebt voor de 2e keuzelijst beide tabellen nodig. Sowieso de tabel [Producten] omdat daar de gegevens in staan die je wilt zien in de keuzelijst. Maar de 2e tabel bevat de producten die de klant heeft, en dus ook nog niet heeft. Om daarop te filteren moet je de relatie tussen de 2 tabellen veranderen van een Inner Join naar een Outer Join. In de Joineigenschappen kies je dan optie 2 of 3; welke is nooit van tevoren te zeggen. Je moet die koppeling gebruiken waarbij je alle records ziet uit [Producten] en de gerelateerde records uit [GekoppeldeProducten]. Zou je in die query een (sleutel)veld van [GekoppeldeProducten] toevoegen en de query uitvoeren, dan zie je dus ofwel een gevuld veld (klant heeft product) ofwel een leeg veld (klant heeft product niet).
Nu is het simpel: om te zien welke producten een specifieke klant heeft, moet je in ieder geval filteren op KlantID. Dat veld haal je uit je formulier. Je ziet dan, als het goed is, alle producten en de producten die in [GekoppeldeProducten] staan. En die laatste filter je dan weg.
 
Opgelost

Octafish bedankt voor het meedenken!
Heb het anders opgelost(vast niet de meest nette manier, maar het werkt)
DMV een where not in query

[SQL]SELECT TBL_Producten.pro_id, TBL_Producten.pro_description, TBL_Producten.pro_price
FROM TBL_Producten
WHERE (TBL_Producten.pro_id) Not In (SELECT TBL_GekoppeldeProducten.[pro_id] FROM TBL_GekoppeldeProducten WHERE TBL_Gekoppeldeproducten.[cus_id] = Forms!FRM_Koppel_Producten![CB_Klant])
ORDER BY TBL_Producten.[pro_description];
[/SQL]

Dankjewel in ieder geval!
 
Dat was de (wat mij betreft) ingewikkeldere variant die ik achter de hand heb gehouden :). En wat mij betreft ook de aanbevolen methode :d.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan