Avatar billede jmi Nybegynder
25. september 2001 - 14:22 Der er 12 kommentarer og
1 løsning

Mange til mange relation - og formular dertil

Hej

Jeg vil lave en database over min vinkælder, og kunne i denne sammenhænd tænke mig at lave en vindruedatabase dertil. Der er således en mange til mange relation mellem vin og drue, da en vin kan bestå af mere end en druesort, og en bestemt druesort indgår i flere forskellige vine. Jeg har så oprettet en \"mellemtabel\" med fremmednøgle vinid, fra vindatabasen og drueid, fra druetabasen, samt et felt med hvor stor andel af den pågældende drue, vinen består af.

Når jeg skal indtaste data til min database, har jeg på forhånd oprettet en base med druer. Jeg ønsker så en formular baseret på vindatabasen, og med en liste hvorfra jeg kan vælge hvilke druer der indgår i vinen, og notere med hvor stor andel. Dette kan jeg bare ikke få til at lykkes. Jeg kan allerhøjest få det til at virke, hvis jeg laver listen med drueid fremfor druenavn, men hvem kan huske at drueid 57 er lig Pinot Gris fx. (jeg kan godt vise druenavnet samtidigt, men det må da være muligt at vælge et druenavn, og at access så selv finder det associerede drueid og propper det sammen med vinid, og andel med i \"mellemdatabasen\".

Håber at mit spørgsmål er klart nok - det er ihverfald langt nok!

På forhånd mange tak
/Jens
Avatar billede terry Ekspert
25. september 2001 - 14:29 #1
I didnt understand the last question \"Håber at mit spørgsmål er klart nok\" No, just joking:)

You make a query where the name is include and hen use the query instead of the table.
Avatar billede terry Ekspert
25. september 2001 - 14:41 #2
jmi I am sure I know what your problem is but I am not sure how to explain how to help you.
You could send me your database an I will see if I can do it for you.
Avatar billede nih Novice
25. september 2001 - 15:43 #3
kombinationsboks.

I designvisning med markøren i feltet drueID
I fanen opslag vælges kombinationsboks
rækkekilde = tabelen med druer
Bundet kollone = kollone numret med ID (1)
              (værdien der gemmes i tabellen)
Antal kolloner = eks 3 (antal kolloner i
                listboksen der popper frem)
Kollonebredder = 0;2;2 (herved skjules drueID)

Det var bare en måde at gøre det på - når du senere opretter feltet i formulare, indsættes en komboboks med de indstillinge du angiver her.

Niels
Avatar billede nih Novice
25. september 2001 - 15:44 #4
Den glemte de 2 øverste linjer ?????????

Når du definere felterne i din mellem tabel - designvisning, kan du indsætte en kombinationsboks.
Avatar billede jmi Nybegynder
25. september 2001 - 17:37 #5
Tak Niels

Det løste mit problem - genialt.

Jeg har nu fået en nyt problem!!!

Når jeg indtaster mine vine, sker det at jeg støder på en drue som endnu ikke er oprettet, jeg har derfor lavet en knap, som starter formularen til at oprette druer, men listen i vin-billedet bliver først opdateret når jeg har forladt vinformularen og starten den igen? Kan du tilfældigvis også løsningen på det?

/Jens


Avatar billede nih Novice
25. september 2001 - 18:24 #6
Jah - vi kan da prøve

din vinformular ha en hændelse der hedder \'ved fokus\'.
her skal du indsætte følgende VBA kode:

Private Sub Form_GotFocus()
    Me.cmboDruer.Requery
End Sub

Hvor cmboDruer er navnet på din vinliste.

takker for pts.
Niels
Avatar billede nih Novice
25. september 2001 - 22:01 #7
> Jens

Virker det ??? - eller skal jeg uddybe koden.


Niels
Avatar billede jmi Nybegynder
26. september 2001 - 10:24 #8
Hej Miels

Jo det virker upåklageligt - mange tak for det :-)

Jeg har nu fået et (sidste?) problem, nemlig at jeg gerne vil have listen over druer i alfabetisk rækkefølge. Jeg har prøvet selv at definere mit SQL-statement under rækkekilde, hvor jeg så har en order by druenavn på, men det ignorerer den tilsyneladende - kan du også svaret på det?

Mvh
Jens
Avatar billede jmi Nybegynder
26. september 2001 - 10:25 #9
Sorry jeg trykkede forkert på tastaturet ved dit navn Niels (ikke Miels)
Avatar billede nih Novice
26. september 2001 - 10:55 #10
Det burde virke som du har beskrevet.

Jeg går udfra du trykker på de 3 prikker til højre i feltet/egenskaben \'rækkekilde\' og bygger en SQL udtryk der sortere efter druenavn...

Indtil nu har rækkekilden jo været en tabel, der ikke er sorteret.

Niels
Avatar billede nih Novice
26. september 2001 - 10:57 #11
PS: Din SQL sætning SKAL have samme feltrækkefølge som tabellen, ellers går der kludder i din \'budetKollonne\' og \'antalKollonner\'

Niels
Avatar billede jmi Nybegynder
26. september 2001 - 14:20 #12
Je jeg synes også det er mærkeligt, men det virker altså ikke! :-(

MEN jeg har nu fundet ud af hvorfor! Access, tager sql-statementet \"med sig\" ind i formularen når den laves, og er derfor statisk. Ligemeget hvormeget spræl jeg laver ved sql-statementet sker der ikke noget fordi selve opbygningen allerede er knyttet til formularen. Så ved blot at lave en ny formular, så virker det!

Det er jo egentlig logisk nok, men nemt at overse
mange tak for hjælpen Niels, håber jeg må gøre brug af dig i fremtiden.

/Jens
Avatar billede nih Novice
26. september 2001 - 15:12 #13
Ja selvfølgelig vil jeg da hjælpe igen - men du burde nu kunne ændre komboboxen\'s rækkekilde.

Niels
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