Noodoplossing Read only subform gevraagd

Status
Niet open voor verdere reacties.

Bartuls

Terugkerende gebruiker
Lid geworden
2 mei 2001
Berichten
3.662
Ik zie dat er nog niemand op je vraag gereageerd heeft.
Is het probleem inmiddels opgelost?

Wat je zou moeten doen in de code voor beide subforms is het volgende:
- Open het formulier in ontwerk modus. (OpenForm method met parameter view = ACDesign)
- Wijzig de properties van het formulier
- Sluit het formulier met de method Close met parameter save = acSaveYes.

Dat zou het moeten doen.
 
Probleem nog niet opgelost

Nee Bartuls. Ondanks vele pogingen is het probleem niet opgelost. Ik ben er inmiddels achter dat ik iets moet doen met de eigenschappen AllowAdditions, AllowDeletions en AllowEdits van de subformulieren.
Is het mogelijk met een procedure het hoofdformulier te openen in de bewerkstatus (DoCmd.OpenForm stDocName, , , , acFormAddit) en dan vervolgens de drie genoemde eigenschappen van de subformulieren op True te zetten? Dat zou het probleem namelijk ook oplossen omdat het openen van het formulier en de subformulieren in de read-only status geen problemen geeft.
Alvast bedankt voor je reactie
 
Als je het hoofdformulier geopend hebt kun je de subformulieren niet meer in ontwerp modus openen. Je zult dit soort dingen dus moeten doen voordat je het hoofdformulier geopend hebt.

Dim stDocName as string

stDocName = "frmSubFormA"
DoCmd.OpenForm stDocName, , , , acDesign
forms(stdocname).AllowAdditions = true
forms(stdocname).AllowDeletions = true
forms(stdocname).AllowEdits = true
DoCmd.Close acForm, stDocName, acSaveYes

stDocName = "frmSubFormB"
DoCmd.OpenForm stDocName, , , , acDesign
forms(stdocname).AllowAdditions = true
forms(stdocname).AllowDeletions = true
forms(stdocname).AllowEdits = true
DoCmd.Close acForm, stDocName, acSaveYes

Bovenstaande code zou het moeten doen.
 
Bedankt voor de oplossing

Ik zal het vrijdag gaan testen. Alvast bedankt voor de oplossing. Het resultaat laat ik nog even weten.
 
Toch niet helemaal

Beste Bartuls. Enigszins vertraagd heb ik e.e.a. geprobeerd. In de functie jouw code gezet voordat het formulier wordt geopend. Ik zie dat betreffende subforms even geopend worden en weer sluiten maar vervolgens staan ze toch weer read only. Enig idee wat ik nog kan proberen ? Alvast bedankt.
 
OK, dan een hele andere oplossing.
Zorg dat het hoofdformulier NIET meer read-only is.
Zet alleen de velden die je niet gewijzigd wilt hebben op read only.
Hiermee voorkom je waarschijnlijk dat de subs op read only gezet worden bij het openen van het hoofdformulier.
 
Weer terug naar af

Dat is nu juist het begin van het probleem. Het hoofdformulier en de subformulieren zijn van oorsprong geheel te bewerken (alle velden). M.b.v. een functie heb ik de mogelijkheid gemaakt dat men het hoofdform met subformen in de read-only status krijgt zodat als men gaat filteren men niet per ongeluk informatie wist ( en dat gebeurde nog wel eens). Nu blijkt echter dat te pas en vooral te onpas, als men gegevens wil wijzigen en men het formulier opent in de bewerkingsmodus, de subformulieren niet meer te bewerken zijn (read-only zoals eerder beschreven) terwijl het hoofdformulier gewoon wel te bewerken is. Zet ik de betreffende eigenschappen van de subformulieren weer op ja (bewerken, verwijderen en toevoegen toegestaan) dan gaat het weer even goed. Waarom dit gebeurt is onbekend. Ik denk zelf dat men het scherm verlaat via het X van sluiten van Access en dat de subformulieren de read-only status kennelijk opslaan ( anders kan ik niets bedenken). Dit ter verduidelijking van het probleem.
 
Waarom zet je de CloseButton dan niet uit?
Dat kun je doen bij de formulier properties. Je moet dan de property Close Button op False.
 
Ook niet de oplossing

Men kan dan nog Access of het venster sluiten ( x rechtsboven) ook al zet ik de optie closebutton uit. Een ander idee kreeg ik vanmiddag. Is het niet mogelijk in de subformulieren een procedure op te nemen bij de actie Close dat daarna de drie eerder genoemde eigenschappen van het subform ( bewerken ....) op ja worden gezet en zo ja hoe? E.e.a. blijft actueel omdat vanmiddag weer alles read-only was. Bvd
 
Probleem ouderwets opgelost

Onder het motto als hlp mij mij niet kan helpen dan help ik mijzelf een ouderwetse oplossing gezocht. Kopie gemaakt van het betreffende formulier en een andere naam gegeven. Alle velden vergrendeld. Dit geeft 1 probleem. Via enkele knoppen werden andere formulieren gevuld vanuit dit formulier. Dat werkte natuurlijk niet meer omdat het formulier een andere naam had gekregen. Op het vergrendelde formulier deze knoppen verwijderd en een knop toegevoegd die het oude formulier opent met het record van hetzelfde nummer. Daar verschijnen dan ogenschijnlijk de knoppen weer zodat men verder kan. Tot nu toe geen meldingen meer van het blijven hangen in read only van formulieren. Allemaal bedankt voor de moeite.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan