Gegevens meenemen naar formulier

Status
Niet open voor verdere reacties.

anlag1

Gebruiker
Lid geworden
31 okt 2010
Berichten
144
Hallo allemaal,

Heb een stukje code uit een template gekopieerd om zelf een db te maken. ik ben al een aardig eindje, maar loop nu tegen wat probleempjes aan.
waar ik blijf steken is op het moment dat ik een record kiest in een subform, in dit geval het tweede record en met de knop Machine properties het form 4195 by Project opent.
Het subformulier en formulier 4195 by Project zijn beide gekoppeld aan tabel project machines. De bedoeling is dat de juiste record wordt gekozen in het formulier.
In dit geval Project ID = 4, Machine ID = 8 en Machine No = 4121. Helaas komt de eerste record in het formulier voor te staan wat ook de keuze in het subformulier is.
Verder krijg ik het veld Machine No helemaal niet te zien. De rest van de velden in form 4195 by Project doet even niet terzake.
Ook krijg ik bij indrukken Machine Properties een melding dat veldwaarde 4 niet voorkomt, Daarna wordt het form 4195 by Project gewoon geopend.

wie is er genegen naar dit probleem te kijken?
Mvg
André

db.jpgBekijk bijlage ProjectMachines.rar
 
Ik kan geen rar bestanden openen op het werk, alleen zipjes dus je zult tot vanavond moeten wachten. Het enige dat ik kan zeggen nu, is dat je subformulier zo te zien is gekoppeld aan je ProjectID, en het formulier 4195 zo te zien ook. Je hebt toch niet voor elk machinetype een eigen formulier gemaakt? Dat heeft alleen zin als de machines totaal verschillende eigenschappen hebben die niet in één tabel kunnen. Dan nog: zelf zou ik een tabel Machines maken (met één formulier) met daarop een subformulier voor de onderscheidende eigenschappen. En dat alles onder het motto dat machines een hele hoop overeenkomende eigenschappen hebben (merk, type, aankoopdatum, leverancier, aankoopbedrag en ga zo maar door) en de onderscheidende gegevens óók allemaal dezelfde structuur hebben, die je dan met verschillende categorieën kunt vastleggen.

Vanuit een subformulier een ander formulier openen kan wel, mits je de volledige ID verwijzing meeneemt. Vanuit een hoofdformulier kun je dus een tweede formulier openen op basis van ProjectID (staat op de parent), maar vanuit een subformulier moet je ook de verwijzing naar het hoofdformulier meegeven. Wellicht is dat het probleem bij jou.
 
De machine types hebben 5 velden gemeen, daarna verschilt het aantal invoervelden, de ene machine heeft opties die bij een andere niet voorkomen. Dus ja ik wil per machinetype een formulier maken. al die gegevens komen in één tabel te staan.
Groet André
 
Dan nog zou ik eerst kijken of je die verschillende eigenschappen niet in één tabel kan onderbrengen. Maakt het leven (en je database) zoveel makkelijker... Want ik vermoed dat onder die separate formulieren ook eigen tabellen hangen. Terwijl je, voor zover ik het nu kan bekijken, aan twee of drie tabellen genoeg zou moeten kunnen hebben. Het kan nooit kwaad om af en toe eens kritisch naar een db te kijken :)
 
klopt, alle eigenschappen zitten in één tabel, alleen die wordt benadert door verschillende formulieren. heb totaal 3 tabellen, en 2 ondersteunde tabellen. denk het zo op te kunnen lossen.
Echter het eerder gemelde probleem gooide roet in db.:o
Groet,
André
 
Zal er zo naar kijken :)
 
Ik heb je systeem een beetje aangepast om het werkend te krijgen. Kijk maar eens of je snapt wat ik gedaan heb.
 

Bijlagen

Kan ook door een "dubbelklik" op de gevraagde record in de subform als onderstaande code wordt toegevoegd in de subform vba module
Code:
Private Sub Form_DblClick(Cancel As Integer)
    DoCmd.OpenForm "4195 by Project", acNormal, , "ProjectMachineID = " & Me.ProjectMachineID.Value, acFormEdit, acDialog
End Sub
 
Dank je wel Octafish,
Met OpenArgs neem je de nodige data mee naar het volgende formulier, werkt prima.
Johan, ga ik zeker doen, dank je wel.
groet,
André
 
Als je het subformulier ook wilt gebruiken is een dubbelklik actie niet handig, want dan kun je niet meer selecteren in een veld. Moet je wel in het achterhoofd houden :). Als een formulier alleen gebruikt mag worden om het subformulier te openen, maak ik een transparante knop van de actieknoppen die ik dan over de hele detailsectie leg. Dan is het formulier ook gelijk beschermd tegen selecteren, wat in dat geval ook niet mee zou moeten mogen.
Een enkele klik is ook veel gebruiksvriendelijker dan een dubbelklik.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan