24. januar 2010 - 10:42 Der er 10 kommentarer og
1 løsning

Access 2007 - multi-level subformular

Jeg vil lave en formular der viser en adresse og oversigt over alle personer der bor paa adressen, for hver person med oplysninger om alle grupper personen er medlem af og om alle telefonnumre personen har.

Paa databasen http://christianjorgensen.be/Besoegende.accdb er det delvis lykkedes.  Formularen Adresse har en subformular for Person der igen har to sub-sub-formularer, en der viser alle grupper og en der viser alle telefonnumre for personen og som skifter indhold hver gang personen skifter.  Men jeg faar kun den foerste person der bor paa adressen.  De andre personer maa jeg finde ved hjaelp af navigationsknapperne. 

Jeg haaber paa hjaelp til at arrangere det saaledes at jeg paa formularen faar alle personer paa en adresse, hver person med grupper og telefonnumre.

Sagen er at jeg er i faerd med at omlaegge en ikke-normaliseret database over mennesker der frekventerer et velfaerdscenter.  Databasen bestaar af en enkel tabel kaldet Mensen med en record for hver familie.  Tabellen har felter for navn, adresse, o.s.v. for en person og derefter data for partner, barn1, barn2, o.s.v.  Det splitter jeg saa op i adskillige tabeller ifoelge de generelle principper for relationale databaser.  Det er lykkedes mig at overfoere data fra den gamle til de nye tabeller, delvis med hjaelp fra medlemmer af eksperten, jaevnfoer tidligere spoergsmaal fra mig.
Avatar billede mugs Novice
24. januar 2010 - 11:50 #1
"Men jeg faar kun den foerste person der bor paa adressen.  De andre personer maa jeg finde ved hjaelp af navigationsknapperne"

Det betyder jo, at posterne findes i formularen. Er det så ikke blot et spørgsmål om at designe formularen til at vise alle poster i f.eks. en fortløbende formular?
24. januar 2010 - 12:26 #2
Det er SubPersoon subformularen der kun vises en gang i Adresse formularen.  Naar jeg aabner SubPersoon og ser paa Egenskaber -> Standardgengivelse (er det saadan det hedder paa dansk?) staar der Enkelformular (min oversaettelse.)  Hvis jeg proever at skifte til fortloebende formular faar jeg den fejlmelding at det ikke kan lade sig goere for en formular der indeholder subformularer.

Men sub-sub-persoongroep der opfoerer sig som den skal har egenskaben Dataark gengivelse.  Saa jeg proevede at aendre SubPersoon til Dataark gengivelse.  Resultatet er at naar jeg aabner Adres formuleren saa faar jeg alle personer paa adressen men ikke detaljer om grupper og telefonnumre.  For hver person er der et + og naar jeg klikker paa det faar jeg gruppe detaljer men ikke telefon detaljer.

Saa jeg soeger stadig efter en metode i en formular at faa en adresse, samtlige personer paa adressen, og for hver person samtlige grupper og samtlige telefonnumre.
Avatar billede mugs Novice
24. januar 2010 - 12:34 #3
Har du mulighed for at sende db konverteret til en tidligere version som en .zip fil til:

mugs snabelting mail.dk

Så ser jeg på den senere.
24. januar 2010 - 15:37 #4
mugs, nu haaber jeg det virker - jeg lavede en kopi af databasen og bevarede den med endelsen mdb og zippede den.  Hvis du ikke kan aabne den (for eksempel fordi den stadig er i Access 2007 format uanset filekstension) saa laver jeg en lille version - jeg har den eksisterende database i Access 2003 hvor jeg saa vil lave tabellerne, fylde dem med et udsnit af dataerne, og lave formularerne.  Det kan jeg nok goere paa en half time og det giver ekstra rutine.
Avatar billede mugs Novice
24. januar 2010 - 15:43 #5
Jeg kan ikke åbne den.

Jeg har mange gange modtaget db der er konverteret fra 2007 yil tidligere versioner. Jeg mener der findes en funktion i 2007, der med et snuptag konverterer. Har du noget der hedder Funktioner > Databasefunktioner, så prøv at se der.
24. januar 2010 - 15:51 #6
Jeg tror jeg fandt funktionen.  Email skulle vaere undervejs.
Avatar billede mugs Novice
24. januar 2010 - 15:56 #7
BINGO
26. januar 2010 - 13:22 #8
mugs, jeg repeterer for info for andre medlemmer af Eksperten der maatte vaere interesseret i at vide hvad der blev af traaden:  du modtog min database, arbejdede med den, og returnerede via e-mail forslag. Jeg gentager nedenfor, maaske til overflod, problemstillingen og DEL-loesninger vi fandt men som ikke levede op til alle kravene.

Jeg konkluderer, med mindre du har andre triks skjult i aermet, at mit oenske nok ikke kan opfyldes med standard Access funktioner saasom subformularer dannet med bestaaende tools og vizards.

Jeg lukker derfor denne traad.  Opret venligst et svar.  Selv om vi ikke kom til ideal-loesningen hjalp du med at snaevre problemstillingen ind.

Jeg opretter nok et nyt spoergsmaal hvor jeg omformulerer og specificerer problemstillingen og soeger hjaelp til en programmatisk loesning.

Her er saa mit videre udlaeg (som kan skippes undtagen af entusiaster:)

Databasen omhandler mennesker der besoeger et velfaerdscenter.  Jeg har en tabel med stamoplysninger over personerne.  Der kan bo flere personer paa en adresse saa der er en tabel med adresser med fremmednoegle fra Person.  Saa kan personer vaere med i en eller flere grupper og kan have et eller flere telefonnumre ligesom flere personer kan dele et telefonnummer.  Saa jeg har en tabel for grupper, en tabel PersonGruppe med fremmednoegle til Person og til Gruppe, og ligeledes en tabel for telefonnumre og en tabel PersonTelefon med fremmednoegler til Person og Telefon.

Jeg forsoegte ved hjaelp af formularer og sub-formularer at lave en opstilling hvor for hver adresse en subformular blev vist for hver person paa adressen.  Denne subformular skulle indeholde to subsubformularer der for hver person viste samtlige grupper personen er med i og samtlige telefonnumre personen bruger.

Her er et eksempel paa den opstilling jeg soeger:

Kongensgade 25, 1234 Dronninglund

Hans Jensen
  Gruppe 1  03/223344
  Gruppe 2
  Gruppe 7

Katrine Karlsen
  Gruppe 1  0476/123456

Mellem os fandt vi flere forskellige DEL-loesninger.  En loesning var for hver adresse at have en person synlig, denne person med de to subsub-formularer.  Ved hjaelp af navigationsknapperne kan vi saa kalde de andre personer frem, med subsubformularer, der bor paa adressen.

En anden loesning var for hver adresse at vise samtlige personer, hver person med et +.  Ved at klikke paa + aabnede den ene subsormular sig men ikke den anden.  En saerskilt anden subformular viste kun oplysninger for den foerste person.
Avatar billede mugs Novice
26. januar 2010 - 15:55 #9
Nyt forslag sendt.
Avatar billede mugs Novice
26. januar 2010 - 21:38 #10
Det sidste forslag imædekommer ikke spørgerens ønske. i har mailet lidt frem og tilbage, og spørgeren vil lade det læigge lidt.

Venligst læg selv et svar og accepter dette.
26. januar 2010 - 22:53 #11
Vi lukker.
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
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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