Toon posts:

[Access 2K] Combobox waarden verschillend per record

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik ben bezig met een stock programma in access en ik denk dat dit eerder hier hoort dan bij het programming forum.
Wat ik dus heb is een intersectietabel die dient om de prijzen van de producten bij verschillende leveranciers bij te houden. iets in de aard van :
product -|-----0< product/leverancier >0----|- bestelVoorstel
ik heb een formuliertje waar ik alle bestelvoorstellen toon en daar heb ik een combobox met de voorkeursleverancier.daar kan de gebruiker een andere leverancier kiezen als er bijvoorbeeld 5 voorstellen zijn bij de ene leverancier en 1 bij de andere (en dit ene product kan door de eerste leverancier geleverd worden) dan kies je die leverancier uit de combobox.
Nu heb ik de query achter de combobox reeds gschreven en die ziet er zo uit

SQL:
1
2
3
4
SELECT tblLeveranciers.leverancierId, [leverancierNaam] & " (" & [prijs] & " EUR)", tblProductPerLeverancier.productId
FROM tblLeveranciers INNER JOIN tblProductPerLeverancier ON tblLeveranciers.leverancierId = tblProductPerLeverancier.leverancierId
WHERE (((tblProductPerLeverancier.productId)=[bestellingVoorstelProductId]))
ORDER BY [leverancierNaam] & " (" & [prijs] & " EUR)";


Wat gebeurd er dus, als je het formulier bekijkt zie je het juiste resultaat naast mijn eerste record, bij mijn 2de record toont hij dezelfde lijst met dezelfde prijzen als bij de eerste record, verkeerde gegevens dus. Hij neemt dus
SQL:
1
tblProductPerLeverancier.productId)=[bestellingVoorstelProductId]

met telkens de waarde van [bestellingVoorstelProductId] van de eerste record. Hoe kan ik zorgen dat iedere record een persoonlijke combobox heeft?

  • pasta
  • Registratie: September 2002
  • Laatst online: 04-04 23:18

pasta

Ondertitel

Signature


Verwijderd

Topicstarter
*up*

  • PromoX
  • Registratie: Februari 2002
  • Laatst online: 11-07 15:55

PromoX

Flying solo

Kun je niet een requery uit laten voeren voor de combobox, wanneer je naar ander record gaat, of denk ik te simpel?

And I'm the only one and I walk alone.


Verwijderd

Topicstarter
Ik werk via een lijst, als ik werk met een reqery dan krijgt de gebruiker dingen te zien waar hij niets van begrijpt :). Ik bedoel, het is de bedoeling om bepaalde producten bij een leverancier te plaatsen en dit moet metteen opvallen maar bij de requery worden de velden geleegd, aangezien niet elk product heeft dezelfde leverancier heeft, man dit is moeilijk uit te leggen, als je het niet snapt probeer ik anders wel eens een screen te tonen

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 17-07 15:44
Je moet de combobox pas z'n source laten bepalen om het moment dat je hem daadwerkelijk kiest (enter)! Dit heeft wel een nadeel: het kan even duren, als er een ingewikkelde query achter hangt.

code:
1
2
3
Private Sub cboMyCombo_Enter()
  cboMyCombo.RowSource = "SELECT etc....."
End Sub

[ Voor 26% gewijzigd door Witte op 17-07-2007 10:57 ]

Houdoe


Verwijderd

Topicstarter
Idd, bedankt, nu werkt het, wel na bijwerken en als standaard recordsource terug de key en de naam instellen zodat de naam kan blijven staan.
Bedankt! hier heb ik toch wat uren aan verloren :)

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 17-07 15:44
Er moet inderdaad wel een standaard recourdsource zijn.
Op zich zou een refresh o.i.d. niet nodig hoeven zijn

Houdoe


Verwijderd

Topicstarter
als je de recordsource veranderd bij dropdown van 1 list, en je KIJKT (niet enter) naar de volgende record is de source ook aangepast, vindt hij die leveranciersId niet meer in zijn lijst...
Pagina: 1