records subform bij openen direct tonen

Status
Niet open voor verdere reacties.

Sytse1

Gebruiker
Lid geworden
9 aug 2007
Berichten
584
Office versie
miDer
Het form F_MJ1 heeft 3 subforms.
Bij het laden van het Frm F_MJ1 moet er gekeken worden of er een record aanwezig is.
Alle subforms zijn gekoppeld aan het hoofdform met hun id.
Als er een record aanwezig is blijven de 2 subforms leegtoter naar een ander record wordt gegaan.
Waarom de subforms pas dan het gekoppelde records tonen is mij niet duidelijk.
Met sendkeys F5 worden het records wel getoond.
Maar sendkeys wil ik vermijden
Wellicht moet via vba eerst gekeken worden of er een record aanwezig is.
Als er dan middels VBA naar eof en weer terug naar bof wordt gegaan zijn dan de 2 subforms wel geactualiseerd?
Tevens moet als er geen record aanwezig is het form F_mw worden geopend.
Voor de controle of er een record aanwezig is heb ik de volgende code
Code:
Dim rs As Object
Set rs = Me.Recordset.Clone
If Me.Recordset.RecordCount = 0 then 		'controle of er een record aanwezig is
DoCmd.OpenForm "F_mw", acNormal, "", "", , acNormal 'open dan het form F_mw
else
'hier dan naar eof en weer naar bof zodat de subforms actueel worden?
End if

Bij else dan een code die in beide subforms (S_Afw en S_Verlof) records toont.

Wellicht eenvoudig maar ik krijg het even niet voor elkaar.
Wie de oplossing of suggesties hiervoor
Sytse
 
Ik snap je werkwijze niet. Ik maak mijn db's zo dat je via een hoofdformulier middels knoppen een formulier met een recordset opent, al dan niet met een nieuw record, één gefilterd record of de complete tabel. Subformulieren koppel je op basis van een koppelveld aan een hoofdformulier, dus die laten per definitie altijd gelijk de goede records zien, ik heb daar nog nooit wat voor hoeven te programmeren. Dat jij dat wel moet doen, duidt er op dat je formulieren niet correct gekoppeld zijn. Ook al geef je in je vraag aan dat ze wel degelijk gekoppeld zijn.
Wil je voorkomen dat een formulier niet mag worden geopend in de weergavevorm als er geen records zijn, wat ik mij nog wel kan voorstellen, dan moet je op de startknop van dat formulier de check doen, niet bij het laden van het formulier. Maar zelfs dan nog zou het moeten werken, want een gekoppeld subformulier laat, als er geen records zijn in het hoofdformulier, niks zien. Je geeft jammer genoeg alleen de code, en niet de procedure die je gebruikt. Dat zou ook nog kunnen uitmaken, want bij het openen/laden van een formulier worden routines in een bepaalde volgorde uitgevoerd en als een procedure op een verkeerd moment wordt uitgevoerd, kan het hoofdformulier al geladen zijn en de data in de subformulieren nog niet. En dan zie je inderdaad niks in het hoofdformulier. Je zou dan nog ergens een Refresh of Repaint of zoiets moeten draaien op het hoofdformulier.
 
Beste OctaFish,
Bedankt voor je reactie. Naar aanleiding van je opmerkingen heb alle modules en de volgorde daarin secuur nagelopen. Al het overbodige geschrapt.
Tevens je tip bij het opstarten met de controle op de aanwezigheid van een record aangepast.
De verwijzing van het subform met het hoofdform was inderdaad aanwezig.
Na de schoning en verbetering van de vba werkt alles weer goed.
Sytse
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan