Requery of sluiten en openen

Status
Niet open voor verdere reacties.

Sytse1

Gebruiker
Lid geworden
9 aug 2007
Berichten
584
Office versie
miDer
Een vraag voor OctaFish of een andere ervaren Access gebruiker.
Ik heb een formulier met een stuk of vijf tabbladen.
In deze tabbladen staan subvensters met eigen queries die worden opgeroepen d.m.v b.v.: Me.F_sub.Form.RecordSource = "Q_1"
Er zijn een stuk of zes subvensters die constant bijgewerkt moeten worden.
Nu kan steeds gebruik gemaakt worden van requery en repaint enz.
Mijn vraag is of het niet eenvoudiger is om het hoofdform te sluiten en te openen.
Alles wordt dan direct bijgewerkt. Daarna naar het gewenste tabblad of veld gaan.
b.v.d. voor het meedenken.
Sytse

Code:
Application.Echo False                         ' Echo uitschakelen.
    DoCmd.Close acForm, "F_1"
    DoCmd.OpenForm "F_1", acNormal, "", "", , acNormal
Application.Echo True                         ' Echo inschakelen.
 
Als jij denkt dat formulieren steeds weer opnieuw sluiten en opnieuw openen sneller is, moet je dat vooral doen. Ik heb die ervaring in ieder geval niet. Integendeel zelfs. Één formulier bijwerken is altijd sneller dan 6 formulieren openen. Formulieren continue requerien doe ik overigens zelden, omdat dat bij mijn ook weer zelden nodig is. Als (sub)formulieren goed gekoppeld zijn, gaat dat vanzelf. Sowieso lijkt het mij sterk dat je op een formulier met 6 subformulieren je ze alle 6 moet bijwerken. Want je kunt nooit in meer dan één formulier tegelijk werken. Mij lijkt het me meer dan voldoende om het subformulier een requery te geven zodra dat geactiveerd wordt. Eerder zie je de informatie toch niet.
Wat mij ook hogelijk verbaast, is dat je blijkbaar steeds opnieuw (dezelfde) query aan het (sub)formulier hangt. Lijkt mij een overbodige actie. Als je al de recordsource van een formulier wilt veranderen, verander dan de SQL van die query. Met, inderdaad, een requery voor het snelste resultaat.
 
Dank je wel voor je reactie.
Het is 1 formulier met 6 tabbladen.
Ik zou dan ook dit ene formulier sluiten. Bij het opnieuw openen is alles bijgewerkt.
Als nu in b.v. Tabblad 3 wat ingevuld wordt moet tabblad 1 ook bijgewerkt worden.
Dat gebeurd niet. Tenzij er verschillende requeries worden uitgevoerd.
Vandaar ook mijn idee voor het sluiten en openen van het form.
 
Het is 1 formulier met 6 tabbladen. Ik zou dan ook dit ene formulier sluiten.
Je gaf in je vraag aan dat het om ‘subvensters met eigen queries’ ging. Dan denk ik al gauw aan subformulieren, want één formulier kan maar één query bevatten. Tenzij je het hebt over tabbladen met keuzelijsten, dan kan wat jij zegt wél. Maar zo heb ik het dus niet gelezen. En als ik gelijk heb (subformulieren en geen keuzelijsten) dan sluit je wel degelijk 7 formulieren met één klik.
Hoe dan ook: mijn voorstel blijft gewoon staan :).
 
In de tabbladen zitten naast subforms, keuze lijsten en een overzichts query.
Van alles wat. Als de gebruiker naar een willekeurig tabblad gaat moet hetgeen wat getoond wordt de laatste ver- of bijwerkingen tonen.
Na een bijwerking in een willekeurig tabblad moet ik dan de verschillende queries bijwerken.
Ondanks alle Id koppelingen wordt het niet altijd direct bijgewerkt.
Ik zie het sluiten en openen als de meest simpele manier om alles te actualiseren.
Misschien niet zoals het hoort.
Nogmaals bedankt voor je advies,
Sytse
 
Ik zie het sluiten en openen als de meest simpele manier om alles te actualiseren.
De meest simpele manier is zorgen dat de queries netjes worden bijgewerkt. En dat zou simpel moeten zijn, en gewoon werken. Zonder de db te zien, is er met geen mogelijkheid te zeggen waarom het bij jou níet werkt, al blijft het vermoeden bestaan dat het niet allemaal volgens de juiste regeltjes is gebouwd. Want dan zou je het probleem niet hebben.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan