Subformulier openen.

Status
Niet open voor verdere reacties.

Henk Benter

Gebruiker
Lid geworden
13 mei 2010
Berichten
158
Mijn access database bestaat uit een hoofd- en een subformulier. in het subformulier voeg ik de disciplines toe die gemaakt moeten worden. 1 project kan meerdere disciplines bevatten. De disciplines (water, laagspanning, cai, gas)worden gevuld vanuit een keuzevak. Omdat bij iedere discipline andere aanvullende gegevens horen, heb ik een nieuwe tabel gemaakt waarin ik de aanvullende gegevens van alle disciplines op sla. Vanuit deze tabel wil ik voor iedere discipline een apart subformulier maken (voor iedere discipline zijn andere aanvullende gegevens benodigd). Wanneer ik dan water als discipline toe voeg, dan zal er een subformulier water moeten worden geopend waarin ik de aanvullende gegevens verwerk. Bij toevoegen van de discipline laagspanning zal het subformulier laagspanning moeten worden geopend, enz.. Alle relaties zijn door mij gemaakt. Ben aan het zoeken geweest naar codevoorbeelden, maar heb deze niet gevonden. Wie helpt mij op weg met de juiste code. Het te openen formulier is dus afhankelijk van de ingegeven discipline vanuit een keuzevak.
 
Ik snap nog niet veel van je db, dus wellicht dat je een voorbeeldje kunt maken. Normaal gesproken hoef je een subformulier namelijk helemaal niet lost te openen; het is een subformulier, derhalve is het al geopend als je het hoofdformulier opent.
 
Hallo Michel,

Om het e.e.a. te verduidelijken heb ik een schermafdruk van mijn toepassing toegevoegd. Zoals je ziet bestaat dit uit een hoofddocument, alwaar de basisgegevens worden vastgelegd, en diverse tabbladen alwaar de subdocumenten staan. In het tabbesturingselement discipline worden middels een doorlopend formulier Disciplines (water, gas lage druk, laagspanning, Cai en Ftth) toegevoegd. Ik wil graag wanneer de discipline water wordt toegevoegd het subformulier frmdetailwater wordt geopend waarin aanvullende benodigde specifieke gegevens voor deze discipline kunnen worden toegevoegd. Kies ik vanuit het keuzemenu gas lage druk, dan zal het subformulier frmdetailgaslagedruk moeten worden geopend, enz.. De relaties heb ik inmiddels gemaakt. Het gaat mij puur even om de code die ervoor zorgt dat het juiste subdocument voor mij opent. De formulieren worden gemaakt vanuit de tabel TblDetailDetailDiscipline (zie de relaties in bijlage).

Ik krijg de uitleg maar moeilijk op papier. Ik hoop je hiermee toch het e.e.a. te hebben verduidelijkt.
 

Bijlagen

  • Voorbeeld.jpg
    Voorbeeld.jpg
    84,2 KB · Weergaven: 42
  • Relaties.JPG
    Relaties.JPG
    40,8 KB · Weergaven: 49
Ik snap het nog steeds niet, vrees ik. In je subformulier kies je een discipline, zover is wel duidelijk. Maar als je daar Water kiest, dan moet je de rest van het formulier toch ook invullen? Wat moet je dan nog met een los formulier? Je record is dan nog niet opgeslagen, en staat nog open.
 
Hallo Michel,

Klopt, als je water kiest, dan moet je de rest van het formulier ook invullen (o.a. opdrachtgever, netwerknummer, opdrachtnummer, contactpersoon, enz.). Op dit moment doe ik dit in het doorlopende formulier in het tabblad. Naast deze gegevens zijn er ook gegevens die specifiek voor water zijn en specifiek voor gas lage druk, enz.. Deze gegevens wil ik ook graag invoeren in een subformulier middels een popup formulier. Nogmaals, deze aanvullende gegevens zijn disciplinespecifiek.
Als je naast elkaar zou zitten is het e.e.a. veel makkelijker uit te leggen.

De code zal het navolgende moeten bevatten:

Bij verlaten van veld of klikken op het veld discipline de navolgende actie uitvoeren.
Als discipline = "water" dan open subformulierwater
Als discipline = "Gas Lage Druk" dan open subformuliergaslagedruk
enz.

Hoe de VBA code eruit moet zien is mij niet duidelijk.
Overigens de voornoemde subformulieren zijn allen gebaseerd op de tabel TblDetailDetailDiscipline waarin ik de ingevoerde informatie verzamel.
 
Laatst bewerkt:
Ik weet niet hoeveel van die disciplines je hebt, maar als het er niet teveel zijn, en elk subformulier een ongeveer even groot aantal categorie-specifieke velden heeft, zou ik voor elke categorie een apart subformulier maken dat exact even groot is. Vervolgens zou ik een apart subformulierobject op het tabblad zetten, en dat vullen met het betreffende subformulier, afhankelijk uiteraard van de gekozen discipline. Dus kies je water, dan hang je het subformulier WaterDetails er in, kies je CAI dan zie je de kabelgegevens. Vind je dat lastig, dan zet je alle subformulieren over elkaar heen op dezelfde plek, verberg je ze allemaal en maak je degene zichtbaar die je aanklikt. Heeft hetzelfde effect. Al wordt je formulier wat zwaarder, omdat er meer formulieren in hangen.
 
Ik heb inderdaad niet enorm veel disciplines. Wellicht kan ik met jou informatie wel bereiken wat ik wil. Ik ga er nu niet meer mee aan de gang. Kom op een later tijdstip terug.

Groet, Henk Benter
 
Succes! Kom je er niet uit, post dan een voorbeeldje, dan kan ik het wat beter uitleggen.
 
Hallo Michel,

Ik heb getracht jou oplossing te verwerken in mijn database. Het is mij niet gelukt de vertaalslag te maken. Derhalve heb ik van je tweede optie gebruik gemaakt en heb ik een voorbeeld bijgevoegd. Ik zou niet weten waar ik het subformulier kwijt moet zonder dat ik de gekozen disciplines in beeld houdt. Ik wil namelijk ten allen tijde kunnen zien welke disciplines we moeten uitvoeren.

Formulier1 in het bijgaande bestandje is een verkorte versie van het subformulier discipline in mijn database. Hier heb ik water, laagspanning en gas lage druk in staan. Wanneer ik op het veld waar water in staat klik, dan zou het formulier water moeten openen. Wanneer ik op het veld laagspanning klik dan zou het formulier laagspanning moeten verschijnen. Ik had zelf gedacht aan het openen van een apart formulier in een dialoogscherm alwaar ik gegevens aan de discipline water kan toevoegen, die ik later kan gebruiken in de diverse query's.

Hoop dat je me kunt helpen.
 

Bijlagen

Is dit een realistische werkversie? Je plaatje ziet er heel anders uit :). Kun je er ook wat betere data in zetten? Mijn datatypiste heeft uitgerekend vandaag ontslag genomen omdat ze deze maand wéér geen salaris heeft gehad, en haar 7 bloedjes van kinderen nu toch écht eten moeten hebben :D.
 
Klopt inderdaad. Ik heb getracht een kleine versie te maken. Ik krijg het origineel niet kleiner dan 240 kb en mag een bestandje van 100 kb uploaden. Wellicht is er een andere mogelijkheid mijn database richting jou te krijgen.
 
Ik zou 'm in ieder geval Comprimeren (als je dat nog niet gedaan had) en dan zippen. Met winrar kun je deelbestanden van 200kb maken, en die mag je wel uploaden. En anders heb je natuurlijk nog de good old fileshare zoals wikisend.com.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan