Avatar billede jh177 Nybegynder
04. august 2012 - 10:14 Der er 4 kommentarer

Knapfunktion - Åbn form og find bestemt post

Jeg har en form med flere poster, som alle hører til en anden post (far med børn).
Nu vil jeg gerne have en knap i listen som ved klik sætter barnet op som far hvorefter hans børn fremkommer i listen (ned i hierarkiet). Hver post i basen har en ref til "sin far" (FID).

Jeg benytter hjælpefunktionen til knap: Formularhandling - Åbn formular -Find bestemte poster. Man får to lister, og man skal angive hvilke felter der skal være ens (eks. ID i overformularen skal være lig ID i underformularen.
Opgaven er altså: Find den post i overformularen, som har samme ID som den post jeg har udpeget i underformularen. Knappen ligger i underformularen, hvor hvert "barn" er listet, hver med sin knap.

Op i hierarkiet skulle man tilsvarende kunne komme ved at sætte ID lig FID, altså: Find den post i overformularen, som har samme ID som FID (fordi FID jo er referencen til "far").
Bemærk, at jeg under Relationer har trukket en relation fra FID til ID. Samme tabel to gange!
Dette lykkes nogle gange, men nu har jeg office 2006 tror jeg det er, og nu lykkes det ikke.
Hvordan kan jeg lave denne handling?

I gamle versioner af accecc kunne man i en makro styre curseren til overformularens id felt. Her kunne man kommandere systemet til at finde den post som havde ID lig en angiven værdi. Det kunne være en værdi i en anden formular angivet ved [form]![Formnavn]![Feltnavn]. Denne måde at referere på var og er utrolig vanskelig at få rigtig, men man kunne med møje og besvær få det til at virke. Skal man benytte sådan en metode, eller kan man godt bruge hjælpefunktionen?

Håber meget på et svar.
Hilsen JH177
Avatar billede Slettet bruger
06. august 2012 - 02:01 #1
Der findes et kontrolelement der bedre egner sig til at bevæge sig rundt i et hieraki med - treeview.

http://mymsaccessblog.blogspot.dk/2008/02/using-treeview-control-as-record.html

men man kan sagtens lave koden bag de knapper du efterspørger, så man, i en formular med underformular, kan bevæge sig op/ned i hierakiet .

Umiddelbart ville jeg anvende filter på hovedformularen. Knappen der  bevæger postvalget op i hierakiet forsøger at sætte
id= dlookup("id","Hieraki","id=" & FID) (datakilde=tabellen Hieraki)

Knappen på underformularen sætter blot id på filteret på hovedformularen til den værdi id har på underformularen. Koden med filter=??  skal vist ligge i hovedformularens klassemodul

Tror blot en toogling af filteron er nok til at formularen requerier

Underformularen følger slavisk efter idet dens fid er låst til hovedformularens id.

--
Definitionen på vanskelig er meget let - det er det man ikke ved!

Dette var så ikke et svar men kommentar
Avatar billede lars_hoeberg Praktikant
09. august 2012 - 20:57 #2
Det kan sagtens lade sig gøre, men der skal nok noget manuelt VBA kode igang på knapperne.
Du må gerne sende mig databasen, så skal jeg gerne prøve at kigge på det.
lars(NOSPAM)hoeberg.dk

(NOSPAM) = @

:-)
Avatar billede jh177 Nybegynder
01. februar 2013 - 23:38 #3
Mange tak for svar, som har betydet, at jewg kan komme videre. Nu vil jeg gerne lukke spørgsmålet. Hvordan kan man gøre det?
Hilsen JH
Avatar billede Slettet bruger
14. februar 2013 - 15:17 #4
Da du selv har markert indlæg  #3 som svar, kan du lukke ved at give  point til dig selv - som skrevet står:
http://www.eksperten.dk/faq#faq-4-2
Nogen gange lægger jeg et svar, for at gøre det lettere - men da point - set fra min side - betyder meget mindre end indholdet i det skrevne - må du hermed gerne lukke ved at give point til dig selv.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester