onafhankelijk veld op rapport invullen met SQL? of vba? of anders?

Status
Niet open voor verdere reacties.

hoingkatleen

Gebruiker
Lid geworden
1 sep 2014
Berichten
87
Hoe schrijf je in vba een opdracht zoals in SQL:

SELECT de waarde van veld a, FROM tabel A, WHERE de waarde van veld b = een waarde die opgegeven werd in invulveld x van formulier Y (dat open staat)

Dit wil ik gebruiken om op een rapport een niet-afhankelijk veld in te vullen. De optie SQL vind ik daar niet terug. Misschien kan ik het op deze manier oplossen?


Om het concreet te maken: ik heb een formulier (Y) waarop gebruiker de afdeling (x) invult waarvoor het rapport moet opgemaakt worden met info over de budgetten. Via een knop wordt dat rapport geopend. Bovenaan het rapport heb ik een extra vakje waar het budget (a) van die afdeling (b=x) op moet verschijnen (dat staat los van de records van het rapport en wordt bewaard in een aparte tabel A, met alle afdelingen en bijhorend budget).

Alvast bedankt!
 
Laatst bewerkt:
Als dat al zou kunnen (SQL is een eigenschap van queries, niet van rapporten) is het niet erg betrouwbaar, want je moet een Recordset openen/gebruiken en wil je de waarde van een veld in een tekstveld hebben, dan moet je er 100% zeker van zijn dat er niet meer en niet minder dan 1 waarde wordt uitgelezen.
Maar het kan veel simpeler: geef de afdelingsnaam mee in de OpenArgs parameter, en lees die bij het openen van het rapport weer uit.
 
En om welk formulier gaat het Want ik zie een formulier met een keuzelijst en een werkende oplossing.
 
Het gaat vooral om het rapport (er is er maar 1). Rechts boven is daar een niet-afhankelijk veld. Als iemand in het formulier frm Kies Budgetcode bvb "KVO" invoert, zou ik in dat niet-afhankelijk veld graag het budget ophalen van KVO, uit de tabel Budgetten.
 
Dat haal je nu op met de formule =[Formulieren]![frm Kies Budgetcode]![Keuzelijst8]. En dat werkt net zo goed als welke andere methode ook. Mits uiteraard het formulier geopend is. Maar dat moet met mijn oplossing ook. Dus waarom wil je een andere werkwijze hebben?
 
Ik haal nu in het formulier de afdeling op. Maar ik wil in dat rapportveld het budget van die afdeling plaatsen en dat lukt niet om 1 of andere reden.
Er moet iets staan in de richting van toon budget uit tabel Budgetten, waar budgetcode = wat er ingevuld is in het formulier.
 
Misschien een extra toelichting: oorspronkelijk werkte dit wel. Maar nu heb ik voor sommige records 2 afdelingen. Via het formulier zorg ik ervoor dat hij alle records weergeeft die in veld Budgetcode1 of Budgetcode2 KVO hebben, of welke afdeling ik ook invoer op het beginformulier.
Maar access geeft dan als budget enkel het budget van de afdeling uit Budgetcode1 (tabel Bijwonen Cursus).
Als KVO in Budgetcode2 staat en in Budgetcode1 een andere afdeling, dan wil ik toch het budget van KVO, en dat lukt me voorlopig niet.
 
Het werkt. In het rapport heb ik in het veld 'Budget' volgende expressie gezet: =DLookUp("Budget";"Budgetten";"Budgetcode= Formulieren![frm Kies Budgetcode]![Keuzelijst8]")

Thanks anyway.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan