Ja, post de database mee

. Nee dus, ik zou dan echt de db moeten zien. Overigens heb ik nergens de namen formulier1 en formulier2 gebruikt; sterker nog: ik heb in mijn voorbeeldje een nieuw formulier met de naam 'main' gemaakt (die naam doet er overigens niet toe) en daar een reeds bestaand formulier op geplakt. In dat formulier een tekstvak met de naam 'vak1' gemaakt, en een knop op het hoofdformulier. Aan de
naam van het subformulier (dat dus een bestaand formulier is) heb ik niets veranderd; wél heb ik de naam van het
Object veranderd. En daar gaat het vermoed ik fout.
Ik heb het in bovenstaand plaatje proberen uit te leggen met pijlen. Links zie je het formulier [Scootmobiel_Invoeren], en het lege formulier [Main]. Ik heb het formulier [Scootmobiel_Invoeren] in het ontwerpscherm naar het formulier Main gesleept, en daar een knop boven gezet. Mijn (nieuwe) subformulier heet uiteraard geen "Sub", en zoals je ziet heb ik het formulier ook niet hoeven hernoemen.
Wat ik wél heb gedaan: ik heb het formulier eenmaal aangeklikt, zodat het formulier geselecteerd is. En nu zeg ik iets wat eigenlijk helemaal fout is: ik héb het formulier namelijk niet geselecteerd, maar het
object waar het formulier in is geplaatst! Dát is namelijk wat Access doet: het zet een frame op het formulier, en daar wordt het subformulier gezet. Dat object kun je herkennen aan de kleine vierkante oranje blokjes op de hoeken en in het midden van de randen. En dat heeft wat extra complicaties, want dat object heeft óók eigenschappen. En dáár moet je dus naar verwijzen in de code! Ik heb in het Eigenschappenvenster dan ook met een rode pijl en een rode cirkel aangegeven wat ik heb gedaan. En dat is: op het tabblad <Overige> de naam van het
Object veranderd naar "Sub". Daarbij verandert er dus niets aan de naamgeving van het formulier, want dat heet nog steeds [Scootmobiel_Invoeren].
Lang verhaal, maar ik vermoed dus dat je deze werkwijze niet hebt toegepast

.
Code:
[COLOR=#3E3E3E]Me.Sub.Form!Vak1.Visible[/COLOR]
Dan is nu hopelijk ook de code duidelijker.
Me. verwijst naar het huidige
actieve formulier (Main dus).
Sub.Form verwijst naar het object Sub, en wel naar het formulier dat in dat object ligt.
!Vak1 is dan de volgende laag: het object Vak1 dat zich op dat subformulier bevindt. En met
.Visible bepaal je of iets zichtbaar is of niet. In de code wordt die zichtbaarheid aan- of uitgezet.
Hopelijk is het nu wat duidelijker!