Sub formulier vullen met waarden uit een Pop-Up formulier

Status
Niet open voor verdere reacties.

Access2013

Gebruiker
Lid geworden
7 apr 2013
Berichten
33
L.s.

Wie heeft tips/trucs om mijn VBA code aan te vullen.

Ik heb een voorbeeld bestand bijgesloten met daarin een SubFrm die ik graag wil vullen met waarden uit een Pop-Up Frm. Wanneer je in het SubFrm de knop “Frm relatie” aanklikt wordt er een Pop-Up Frm “relatie” geopend. Wanneer ik in het nieuw geopende “Relatie” Frm een keuze maak uit één van de nummers Id relatie (blauw) door daar op te klikken, dan wordt de hele record dmv een VBA code in het SubFrm geplaatst. Dit gaat goed. Wanneer je in de code kijkt heb ik voor mijn code (die goed werkt) geprobeerd een gebeurtenis te maken (groen).

Deze code zou, voor dat de waarde in het SubForm geplaatst wordt de focus van het SubForm eerst op een nieuwe record moeten plaatsen. Zonder deze code wordt de record in het SubForm steeds overschreven.

Wie weet een oplossing?
 

Bijlagen

Je bent veel te omslachtig bezig; normaal gesproken hóef je voor dit soort problemen ook helemaal geen extra formulier te laten zien, laat staan dat je vba nodig hebt om een gekozen record in een ander formulier te plaatsen.
Maar de grootste fout zit eigenlijk al in de tabel [off], waar veel te veel velden in zitten. Je hebt daar alleen de velden [Id off], [Id project] en [Id relatie] nodig. De rest is redundant en kan (nee: móet) daar weg. Verder heb je het formulier [off] gekoppeld aan [project] wat uitstekend is; je ziet nu per project welke leveranciers er aan gekoppeld zijn. Dat toevoegen/kiezen van een nieuwe leverancier doe je natuurlijk via een keuzelijst met invoervak op het formulier [off]. Daar moet je het tekstvak [Id relatie] vervangen door (of wijzigen in) een Keuzelijst met invoervak, die je koppelt aan de tabel [Leverancier]. Noem de keuzelijst dan ook gelijk [cboRelatie] zodat je weet dat je daar nu een keuzelijst hebt staan.
Als je de tabel [off] hebt aangepast (overtollige velden verwijderd) en in je subformulier tóch de overige velden uit [Relatie] wilt zien, kun je de tekstvakken vullen vanuit de keuzelijst. Met =[cboRelatie].[column](2) zie je de plaats, en met =[cboRelatie].[column](3) zie je de categorie (mits je alle velden uit [Relatie] in de keuzelijst zet).

Kortom: hou het vooral simpel; je database wordt toch al moeilijk genoeg :)
 
Hallo Acta,

De velden in Tabel [off] ga ik aanpassen. Met het alternatief voor zoeken dmv Keuzelijst ben ik mee bekend. Heb ik van jou:D . Het Pop-Up Frm had ik in het voorbeeld beperkt met info, anders werd het Upload bestand te groot. Het Pop-Up Frm is in de praktijk meer uitgebreid. Dmv de tekstfilter zou ik een behoorlijk groot resultaat kunnen krijgen aan mogelijke leveranciers mbt kennis [categorie] en afstand tot werklocatie [plaats]. Later wil ik ook op een beoordelingscijfer van leveranciers kunnen filteren. Al deze info lijkt mij toch wat onhandig in een keuze lijst.
 
Dan nog.... Ook op het formulier [off] kun je filters zetten die de keuzelijst in het formulier filteren. Werkt op dezelfde manier.
 
Zie nieuwe bijlage. Tabel [off] aangepast. Ook het SubForm aangepast met Keuzelijst met invoervak. Alleen de code =[cborelatie].[Column](2) enz. is niet stabiel. Wanneer ik het bestand opnieuw open doet de code het niet meer.

Jou laatste opmerking “op het Form filters zetten” begrijp ik niet. Kun je daar meer over uitleggen?
 

Bijlagen

Je hebt nu een filter staan op het formulier Relaties. (tussen haakjes: altijd variabelen declareren met een type aanduiding, dus niet: Dim sFilter maar Dim sFilter As String) Daar hangt een actie achter. Die kun je vrij makkelijk vertalen naar een filter voor de keuzelijst.
 
Je hebt nu een filter staan op het formulier Relaties. (tussen haakjes: altijd variabelen declareren met een type aanduiding, dus niet: Dim sFilter maar Dim sFilter As String) Daar hangt een actie achter. Die kun je vrij makkelijk vertalen naar een filter voor de keuzelijst. Dat heeft wél een nadeel(tje): op het moment dat je een record toevoegt, en een filter toepast, zie je in de bestaande records in het subformulier soms even niks meer staan, omdat die records waarden laten zien die nu zijn weggefilterd. En als de keuzelijst geen waarden heeft, zie je in de tekstvakken ook niks. De opgeslagen waarden zijn er uiteraard nog wel, dus als je de keuzelijst weer herstelt dan zie je alles weer gewoon.
 
Waar plak ik de actie in het in de keuzelijst? In de criteria veld [naam bedrijf] onder Rijbron of daarin de opbouwfunctie? Junior snapt het niet :shocked:.
 
Ik heb in je eerste voorbeeldje de situatie gemaakt die ik eerder heb uitgelegd. Voeg maar een nieuw off record toe, en typ dan een filter in het tekstvak. Andersom mag ook, vanuit een willekeurig record een tekst intypen, maar dat mag geen gevolgen hebben voor de keuzelijst.
 

Bijlagen

Ik weet niet of jou aangepaste situatie goed draait? Zie bijlage afbeelding screenshot met aantekeningen. Ik heb jou code geprobeerd te ontcijferen maar dat gaat iets boven de pet voor mij. Iets meer uitleg alsjeblieft.
 

Bijlagen

Bij mij draaide hij goed, en ook de tekst in het tekstvak. Die heb ik overigens niet aangepast, maar letterlijk van jouw variant laten staan. Maar ik zal er thuis eens naar kijken; nieuwe computer, nieuwe kansen :).
 
't Is een lange reis vanuit Amsterdam :). SelLength en SelStart werken alleen goed als de inhoud van een tekstveld bekend is. Met de gebeurtenis <Bij wijzigen> is die dat niet; daarom kun je een tekstveld in dat geval ook niet met tekstveld.Value uitlezen, maar moet je tekstveld.Text gebruiken. De lengte moet je dus uit de eigenschap Text halen. En dan krijg je dit:
Code:
    Me.Tekstfilter01.SelStart = Len(Me.Tekstfilter01.Text)
 
Hallo Octa,

Ik probeer jou laatste code in het bestand te verwerken, die je mij had toegestuurd. Het lukt me niet om uit te dokteren wat je mij wilt laten zien. Dus ik weet ook niet of ik de code goed in pas. Kun je jouw bestand nogmaals toesturen met jou laatste code daarin verwerkt? Wil je dan ook wat meer aanwijzingen geven met bv waar ik iets moet invoeren met welk resultaat.
 
Zie bijlage met nogmaals een screenshot ahv jou laatste bestand. Volgens mij werkt het. Ik begrijp alleen niet wat je mij wilt laten zien of laten ontdekken.
 

Bijlagen

Ik begrijp alleen niet wat je mij wilt laten zien of laten ontdekken.
Ik ook niet; ik reageer alleen maar op jouw opmerking in bericht #10
Ik weet niet of jou aangepaste situatie goed draait? Zie bijlage afbeelding screenshot met aantekeningen. Ik heb jou code geprobeerd te ontcijferen maar dat gaat iets boven de pet voor mij.
 
In bericht #2 reageer jij op mijn vraag #1. In bericht #2 doe jij mij een voorstel om een meer simpele oplossing te maken voor mijn zoektocht naar “Sub formulier vullen met waarden uit een Pop-Up formulier”. Ik probeer, via jou laatst toegezonden bestand, er achter te komen welke oplossing jij mij probeert aan te dragen. Vandaar de screenshot van wat ik zie. Ik snap alleen niet wat je mij wilt laten zien, en of ik de functie goed toepas :confused:.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan