Opgelost Van Formulier naar het ander Formulier

Dit topic is als opgelost gemarkeerd

verschoor-r

Gebruiker
Lid geworden
11 jan 2025
Berichten
12
Goedendag,

Ik heb 2 formulieren waarvan in de ene de niet aktieve ritten staan (toekomstige data) en in het andere formulier is de huidige data. Nu heb ik in het formulier een keuzelijst met daarin 1.Rit toegewezen. En als ik deze heb gekozen zou de rit van het niet aktieve formulier (toekomstige data), naar het aktieve (huidige data) moeten gaan heeft iemand een idee. Ik ben al bezig geweest met ja/nee en deze toe te passen in 2 queries dan werkt het maar het zou moeten werken met de keuzelijst

Alvast bedankt voor de reacties
 

Bijlagen

  • Schermafbeelding 2025-04-10 023735.png
    Schermafbeelding 2025-04-10 023735.png
    132,1 KB · Weergaven: 7
Plaats even een voorbeeldbestand. Daar kunnen we meer mee dan met een schermafbeelding.
 
Oké, ik kijk er later vanavond na.
 
Ik zie in je plaatje twee identieke formulieren, is dat de bedoeling? Want je geeft aan dat in formulier 1 toekomstige ritten staan, en in formulier 2 de actieve. En dat verschil zie ik dus niet. Ik zie dezelfde records met dezelfde waarden en dezelfde kleurtjes.

Als je de twee formulieren op dezelfde tabel baseert, met een filter (waar filter je dan op? De keuzelijst Activiteit?) dan is het vrij simpel. Ook als je een selectiecriteria gebruikt. Die ik in je formulier(en) overigens ook niet terug zie.
Maar gesteld dat het dus één tabel is met twee tegengestelde filters, is het toch vrij simpel: als je in één van de twee formulieren een filterwaarde aanpast (bij een selectievakje: aan- of uitzetten, bij een keuzelijst kiezen van een andere waarde) dan moet je beide formulieren verversen, zodat het filter opnieuw wordt toegepast. Dan 'verdwijnt' het record uit het ene formulier, en verschijnt in het andere.
Die constructie kun je makkelijk aan d3 gebeurtenis <Bij klikken> hangen, zodat de actie wordt uitgevoerd als je een andere waarde kiest.

Ook ik zal kijken of ik zo even naar de de kan kijken, maar het is natuurlijk veel beter als je de oplossing zelf toepast. Wij kunnen het ondertussen wel :).
 
Om alvast een idee te geven:
Als je de twee selectievakjes op de formulieren zet (staan er nu niet) dan kun je met een simpele click op het selectievakje het gewenste resultaat krijgen met deze code:

Code:
Private Sub Aktief_Click()
Dim frm1 As Form, frm2 As Form
    Set frm1 = Forms!PlanbladInAktiefF.Form
    Set frm2 = Forms!PlanbladAktiefF.Form
    With frm1
        .Requery
        .Repaint
        .Refresh
    End With
    With frm2
        .Requery
        .Repaint
        .Refresh
    End With
   
End Sub
Deze code is hetzelfde voor beide formulieren, en werkt daarop dus ook hetzelfde.
 

Bijlagen

Dat heb ik in de queries gedaan, maar als ik via de keuzelijst id1, toegewezen rit geeft dan zou de rit naar het aktieve (huidige data) form moeten gaan daar ben ik al 2 weken aan het over tobben. dlookups ook aan zitten denken maar ik kom maar niet verder
 
Ik ga er vanuit dat het al dan niet ingevuld zijn van het veld ActiviteitID in OpdrachtenT bepaalt of een opdracht al dan niet actief is. Een Ja/Nee veld heb je dus niet nodig. Het veld heb ik uit de tabel verwijderd. De twee query's heb ik aangepast.

In je database krijgt ActiviteitID standaard de waarde 0. Dat is niet juist omdat dat geen geldige ActiviteitID is. Ik heb het tabelontwerp daarom aangepast en de standaardwaarde weggehaald. In de bestaande records heb ik de nullen ook weggehaald.
Dit principe geldt overigens voor alle foreign keys.

Zoals @OctaFish al schreef, verplaats je de gegevens niet echt, maar moet je beide formulieren verversen omdat de onderliggende gegevens gewijzigd zijn.

Ik heb het nu zo gemaakt dat je op PlanbladInAktiefF (waarop alleen records met een lege activiteit staan) alleen activiteit 1 kunt kiezen. Zodra je dat gedaan hebt wordt in de NaBijwerken gebeurtenis van dat veld voor de beide formulieren een requery uitgevoerd.
Op PlanbladAktiefF heb ik het zo gemaakt dat als de activiteit wordt verwijderd voor beide formulieren een requery wordt gedaan (de opdracht wordt dan weer inactief en moet dus op het andere formulier getoond worden).
 

Bijlagen

Peter ik kan je niet genoeg bedanken hier heb ik de hele tijd over na zitten denken nogmaals bedankt
 
Ga nou niet zeggen dat je míjn oplossing niet bekeken hebt.... dat is dan gelijk de laatste keer dat ik je help.
 
Die van jou heb ik ook bekeken Octa en ook jij bedankt, ik denk er te diep over na hoe ik het moet formuleren de codes Thanks
 
Beide oplossingen zijn overigens min of meer identiek. Ik vind overigens de oplossing met het selectievakje makkelijker en logischer. In jouw optiek is een record actief, of inactief. Dat is prima te ondervangen met een selectievakje. En die had je nota bene al :). Daarnaast heeft een actief record een aantal statussen. Daarvoor heb je dan een keuzelijst.

Waarom zou je dus een keuzelijst gebruiken om een record één specifieke status te geven? Dat heeft alleen zin als je meerdere opties in de lijst zet. Nu moet je dus a) de keuzelijst filteren om te voorkomen dat er een verkeerde waarde wordt gekozen, óf de code daarop instellen, en b) dus de keuzelijst eerst aanklikken, en dan een optie selecteren. Bijzonder onhandig, als je het mij vraagt. Maar goed, ik heb er geen verstand van ;)
 
Als ik een rit hebt ingepland, wil ik kunnen zien hoever en wat een chauffeur aan het doen is, de jaren (25) dat ik al planning doet is dat van essentioneel belang. Als je geen controle inbouwt in je planning kan je snel iets vergeten zeker als je te maken hebt met gemiddeld a 200 ritten verdeeld over vandaag en morgen en ongeveer 50 chauffeurs.
Vandaar de keuzelijst, nu moet ik gaan uitzoeken om status 5 Afgekoppeld en 6 Aangekoppeld in orde te maken en de laatste nummer 8 Rit Afgesloten.

Vandaar de keuzelijst Octa
 
Ik ben nog niet zolang bezig met access maar probeer het, ik denk te moeilijk denk ik
 
Als de activiteiten altijd in dezelfde volgorde uitgevoerd worden, dan kan je jezelf het makkelijker maken. Zet een knop op het formulier waarmee je de opdracht automatisch naar de volgende activiteit zet. Makkelijker dan een keuzelijst en kan niet fout gaan.
 
Nee, 1 knop. Als de huidige activiteit bijvoorbeeld 3 is, wordt die met een druk op de knop 4. Dat werkt dus alleen bij een vaste volgorde die altijd geldt.
 
Misschien wordt het tijd om de 'elephant in the room' even bij naam te noemen, want ik zit dit draadje met stijgende verbazing te volgen (eigenlijk al vanaf het eerste bericht).

En dat is: waarom met twee formulieren werken? Het hele proces kan je gewoon op één formulier doen, omdat het een proces is met één tabel, waarin je hooguit wat statussen verandert. Je hoeft alleen in de koptekst een niet-afhankelijke keuzelijst te maken waarin je kiest wat je wilt zien, en op de keuzelijst Activiteit een actie te hebben die bij Klikken het formulier ververst. Klaar ben je. En je bent van alle gezeur verder af.
Maar goed, ik blijf natuurlijk een amateur :).
 
Ik begrijp je Octa, als je met meerdere schermen werkt, dan heb je een beter overzicht. Het klinkt misschien raar maar momenteel doe ik het met excel ook zo. In het begin had ik 1 scherm en je werd gek van het scrollen. naar huidige data en toekomstige data. Nu heb ik 2 schermen en gefilterd op vandaag en toekomst. En dat werkt prettig en als een klant belt kan je direkt reageren op een vraag zoals is de container al opgezet is hij al geladen of gelost gaat zo maar door
 
Terug
Bovenaan Onderaan