Ga naar inhoud

knop formulier openen where parent is open form ?


j.snijder

Aanbevolen berichten

Na wat stoeien ben ik tot het volgende resultaat gekomen;

Private Sub OpenGroeiForm_Click()

Dim sWHERE As String

sWHERE = "[Vijvergegevens_F!Koigegevens_F!KoiGegevensID] =" & Me.KoiGegevensId

'Open the form

DoCmd.OpenForm "GroeiTabel_F", acNormal, , sWHERE

End Sub

Als ik dit gebruik krijg ik een foutmelding dat de haakjes rond het argument verkeerd staan

maar als ik dit gebruik;

Private Sub OpenGroeiForm_Click()

Dim sWHERE As String

sWHERE = "[KoiGegevensID] =" & Me.KoiGegevensId

'Open the form

DoCmd.OpenForm "GroeiTabel_F", acNormal, , sWHERE

End Sub

Werkt het wel maar wordt nog steeds niet automatisch het koigegevensID ingevuld wanneer ik een nieuw record toevoeg, en dat is wat er nou juist moet gebeuren.

Link naar reactie
Delen op andere sites

  • Reacties 22
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit topic

Beste reacties in dit topic

Geplaatste afbeeldingen

Wat ik zou doen is het volgende. Wat geldt voor gezondheid, geldt ook voor OpenGroeiForm.

Zorg ervoor dat je geen nieuw record kan toevoegen met dit formulier. (Ik vind persoonlijk die sluitknop daar ook niet goed...die zou 'k ook verwijderen)

Maak een kopie van die formulier noem het bv GezondheidNieuw_F. Gooi op dit formulier alle navigatie knoppen er van.

Zorg dat dit formulier opent als je op een knop Nieuwe Gezondheid klikt. Je kan deze knop op het tabblad [Koi Po***atie] laten staan of op het formulier [Gezondheid_F]

Als je het nieuwe formulier opent. (Eender van waar maar steeds van waar je de KoiGegevensID hebt staan) doe je het volgende.

   DoCmd.OpenForm "GezondheidNieuw_F", acNormal
   DoCmd.GoToRecord acDataForm, "GezondheidNieuw_F", acNewRec

   Forms!GezondheidNieuw_F.KoiGegevensId = Me.KoiGegevensId

Link naar reactie
Delen op andere sites

Oke ik snap het en het werk, hetzij iets anders dan ik in mn hoofd had, en eerlijk gezek=gd ziet het er beter uit zonder al die knoppen.

in plaats van die records voor een overzicht gebruik ik nu een rapport wat ook weer overzichtelijker is.

Komt alleen een klein probleempje bij;

Als ik uw oplossing gebruik voor het toevoegen van een record (wat goed werkt hoor) en ik vul geen enkel gegeven in dan wordt er een leeg record toegevoegd.

Hoe krijg ik het voor elkaar dat ik het record niet kan sluiten tenzij ik gegevens heb ingevoerd (zeg maar ziekteveld verplicht) of hoe krijg ik een "annuleren" knop (of optie)

Link naar reactie
Delen op andere sites

[ATTACH]28186[/ATTACH]In bijlage vind je een gewijzigde versie van jouw database. IK heb er wat records uitgebonjourd om het geheel onder de 2 Mb te krijgen.

Persoonlijk ben ik niet zo'n voorstander van afbeeldingen of andere dataobjecten 'in' de database zelf op te slaan maar dat is een andere discussie.

Ik heb dus een formulier GezondheidNieuw_F die ik laat openen als er een nieuw record moet worden toegevoegd.

Gezondheid_F heb ik zo aangepast dat je daar geen toevoegingen meer kan doen.

Nu is er nog een probleem als je

DoCmd.GoToRecord acDataForm, "GezondheidNieuw_F", acNewRec

uitvoert dan heb je sowieso al een nieuw record ook als je achteraf cancelt. Wil je dat niet dan kan dat maar dan maak je een niet-aan een tabel -gekoppeld formulier en bewaar je pas als alle gegevens zijn ingevuld.

Er is wel heel wat te lezen over 'Cancel= true' en 'Dirty' maar mijn ervaring is dat dit niet zo goed werkt. (Mss gebruik ik het verkeerd en kan iemand anders een voorbeeld zetten waarbij dat 'wel' werkt)

Dus bekijk het even. Vind je dit maar niet, gooi het aan de kant ;-)

WerKopie-20130922.zip

Link naar reactie
Delen op andere sites

Zonder het formulier te ontkoppelen kan het 'zo'

Plak deze code gewoon bij GezondheidNieuw_F

Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.NewRecord Then
If MsgBox("Klik ja om te bewaren, Nee om te annuleren", vbYesNo) <> vbYes Then
   Cancel = True
   Me.Undo
End If
End If
End Sub

Link naar reactie
Delen op andere sites

Ik loop bij het maken van een selectiequery aan tegen een probleem waarvoor ik een oplossing zoek.

Ik heb een query gemaakt waarin ik de velden, leeftijd, lengte, en gewicht gebruik om totalen en gemiddelden te berekenen.

Dat lukt voor zover goed en word ook goed weergegeven in een formulier.

Nu heb ik ook in de query opgenomen de Id velden voor vijver en Koi gegevens uit beide tabelle

Ik wil nu alleen de totalen zien van het openstaande vijverformulier, dus VijverGegevensId id een waarde die in alletwee tabellen voorkomt.

Hoe krijg ik nu dan zoiets als " Where[VoerTabel_T_VijverGegevens_Id]=[Vivergegevens_T_VijverGegevensId]" werkend ? zodat ik alleen de records uit de juiste vijver te zien krijg ??

- - - Updated - - -

- - - Updated - - -

Moet ik alleen nog even uitzoeken waar ik dat moet plaatsen ? ik ben namelijk niet zo heel erg goed in dit soort dingen :)

Zonder het formulier te ontkoppelen kan het 'zo'

Plak deze code gewoon bij GezondheidNieuw_F

Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.NewRecord Then
If MsgBox("Klik ja om te bewaren, Nee om te annuleren", vbYesNo) <> vbYes Then
   Cancel = True
   Me.Undo
End If
End If
End Sub

Link naar reactie
Delen op andere sites


×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.