[VBA Access] zoeken obv 2 argumenten in een tabel

Pagina: 1
Acties:
  • 52 views sinds 30-01-2008

  • ErikNL
  • Registratie: April 2004
  • Laatst online: 21-05 17:08
Hoi,

Ik heb het volgende probleem:
Ik heb een vba code om op basis van een ingevulde waarde in een formulier iets op te zoeken uit een andere tabel. Deze code gaat als volgt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub ProductNaam_AfterUpdate()
ProductID = ProductNaam

Dim Product
Product = Forms!Tabel_orders.ProductID

DoCmd.OpenForm "Form_producten", , , , , acHidden
DoCmd.GoToRecord acDataForm, "Form_producten", acGoTo, Product

VraagTrailingOp 'naar module
DoCmd.Close acForm, "Form_producten"

End Sub


en in de module:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Sub VraagTrailingOp()

'fee uit record halen
Trailing = Forms!Form_producten.Trailing
'controle goede naam gekozen

Dim bericht
bericht = MsgBox("Je past nu de reseller aan, hiermee verandert de Fee in " & Trailing, vbYesNo)
If bericht = 7 Then
    Exit Sub 'wanneer antwoord "nee" is gebeurt er niets
End If

Forms!Tabel_orders.Trailing = Trailing
End Sub


Maar nu wil ik op basis van 2 argumenten gaan zoeken. Ik heb een tabel waarin deze 2 argumenten staan maar hoe laat ik hem nu op 2 argumenten zoeken?
Hij moet zoeken op basis van waarden uit het formulier: de 2 argumenten zijn:
ProductID en ResellerID.

Achterliggend verhaal is dat elke verschillende Reseller per product verschillende percentages als afspraak heeft dus:
Reseller1 heeft bij:
product 1 als percentage 4%
product 2 als percentage 2%
product 3 als percentage 8%
enz.

Reseller2 heeft bij:
product 1 als percentage 5%
product 2 als percentage 9%
product 3 als percentage 3%
enz.

Al deze afspraken zijn vastgelegd in 1 tabel namelijk: tabel_afspraken_resellers
Deze tabel is opgebouwd als volgt:
Kolomtitels: ResellerID------ProductID------AfgesprokenPercentage
-----------------1-----------------1-----------------4%
-----------------1-----------------2-----------------2%
-----------------enz.
-----------------2-----------------1-----------------5%
-----------------2-----------------2-----------------9%


Is het mogelijk om met de huidige code op basis van 2 argumenten te gaan zoeken of moet ik daarvoor een andere manier gebruiken?


Ik probeerde zelf o.a.:
code:
1
2
3
4
5
6
7
8
9
10
11
12
Dim Reseller
Dim Product
Reseller = Forms!Tabel_orders.ResellerID
Product = Forms!Tabel_orders.ProductID

DoCmd.OpenForm "Tabel_afspraken_resellers", , , , , acHidden 
DoCmd.GoToRecord acDataForm, "Tabel_afspraken_resellers", acGoTo, Reseller  
DoCmd.GoToRecord acDataForm, "Tabel_afspraken_resellers", acGoTo, Product 

VraagFeeOp 'naar module
'DoCmd.Close acForm, "Form_producten"
DoCmd.Close acForm, "Tabel_afspraken_resellers"

maar dat werkt dus niet, hij blijft maar op 1 argument steken.

Tis een heel verhaal, maar ik hoop dat iemand hier iets op weet, ben er namelijk al een tijd mee bezig en heb tot nu toe nog geen oplossing gevonden.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14:26

gorgi_19

Kruimeltjes zijn weer op :9

ErikNL, zou je niet je topic op meerdere plaatsen willen openen? 1 topic is voldoende. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • ErikNL
  • Registratie: April 2004
  • Laatst online: 21-05 17:08
owkeej, wist niet dat dat niet mocht, zal er wel overheen gelzen hebben |:(

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14:26

gorgi_19

Kruimeltjes zijn weer op :9

Hmmm, in je andere topic is men al verder met code enzo... Dan gooi ik deze wel dicht.. :P

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Dit topic is gesloten.