Avatar billede mekaniker Nybegynder
14. juni 2001 - 19:30 Der er 20 kommentarer og
1 løsning

visning af oplysninger i kombibox

Jeg må nok lige starte med sige at jeg er begynder i Access.

derudover er jeg lystfisker og skal registrere nogle fangster i en database.
Jeg har en tabel over alle de søer jeg fisker i.
Så har jeg en én tabel ,hvor jeg har beskrevet de forskellige fiskepladser, der findes ved hver sø.
Og så har jeg en tabel hvor jeg skal registrere mine fisketure.
Indtasningen foregår ved hjælp af en formular. på denne formular er der to kombiboxe.
Når man har valgt søen i den ene kombibox,
skulle det være sådan at den filtrere indholdet af den anden kombibox med pladserne,
så kun de pladser der hører til den valgte sø vises.

Hvordan gør jeg det??
Avatar billede Lasse Novice
14. juni 2001 - 20:02 #1
Jeg kan sige, at mit projekt går ud på at lave en lille smule visual basic kode, så hvis du allerede her vil stå af, så forstæt ikke...

ok, det er LAAAANG tid siden at jeg har arbejdet med access, og da du er begunder, kan det godt være at dette svar er til mere skade end gavn. Men jeg vil gerne prøve alligevel:

Lige nogen antagelser:

1. tabel(søer)
ID1  Soe
1  Nærum sø
2  Furresø
osv...

2. tabel
ID2 ID1  fiskeplads
1  1  på midten
2  1  Ved kanten
3  2  ved kanten
osv....

cb=combobox
hk=højreklikke
vk=venstreklikke

OK, her kommer der noget:

hk på 1.cb, tryk properties...

der kommer nu en boks op med 3-5 stk faneblade. Ét af felterne under ét af fanebladene hedder \"Data\"(eller noget i den stil). Det skal enten være det 1., 2. eller 3. punkt under ét af de fem faneblade. Til højre i feltet er der en trykke knap som du kan trykke.... Tryk den! Du kommer nu ind og kan vælge hvilket data der skal lægge i kombiboksen(jeg regner med at du har arbejdet lidt med sql). Her vælger du ID og Soe men ID vælger du til IKKE at kunne ses...

Når du launcher programmet nu, skulle du gerne kunne se alle søerne fra 1. tabel....

Prøv dette først, og vend tilbage med et resultat.
Avatar billede mugs Novice
14. juni 2001 - 20:25 #2
Hej

Der må være noget grundlæggende galt med din database. Hvordan ser dine relationer ud? Og dine primære nøgler?.

Jeg vil tro, at du kan få hvad du vil, ved hjælp af sammenkædede formularer, men det er en betingelse, at dine relationer / nøgler er korrekte.

Hvis du vil kan du sende db\'en til mig, og jeg vil se op den.

mugs@get2net.dk

Mvh / Mugs
Avatar billede mekaniker Nybegynder
15. juni 2001 - 00:07 #3
Tak til qooky
Så langt er jeg med nu og det virker som du har skrevet.
Hvad gør jeg så med den anden

Mvh Mekaniker
Avatar billede Lasse Novice
15. juni 2001 - 00:33 #4
jeg vender lige tilbage i morgen... ved en 17 tiden... jeg skal hjemad nu...
Når du launcher programmet nu, skulle du gerne kunne se alle
Avatar billede Lasse Novice
15. juni 2001 - 00:34 #5
skip den sidste linie
Avatar billede Lasse Novice
15. juni 2001 - 18:39 #6
ok, jeg er tilbage....

jeg har lige installeret access, så jeg kan være lidt mere nærværende...

Jeg har lige selv prøvet at få noget data ud i comboboksen, men uden held. Jeg ved ikke lige hvorfor, men det har du jo, så det er sikkert bare fint.

Derfor har jeg lavet eksemplet med List bokse i stedet for(det kan du sikkert ikke bruge), men det er 100% den samme fremgangsmåde, så du kan bare genbruge mit eks. Jeg har lavet en lille database med tingene i, så hvis du har en e-mail adresse, så kan jeg sende den til dig.

Jeg kan sige at der er de 2 tabeller, 1 form(med listerne i) også 3 linier VB kode
Avatar billede Lasse Novice
15. juni 2001 - 19:05 #7
du kan også selv prøve ved at gøre følgende:

vælg cb. 1 og tryk properties....
Tryk fanebladet Event
gå ned under \"on Dbl Click\" og tryk symbolet til venstre der ser ud som \"...\"
vælg nu \"code builder\" og tryk ok
nu kommer du over i en Visual Basic editor.
Lige oppe over din cursor skulle der gerne stå noget med Private, lige under noget med end.
Du skriver så nu:
<dbnavn>.<formnavn>.<cb2navn>.Rowsource = \"SELECT fiskeplads FROM tabel2 where tabel2.ID1=\" & <dbnavn>.<formnavn>.<cb1navn>.Value

hvor <dbnavn>=databasens navn og <formnavn> er formens navn. Disse to vil du som regel kunne se oppe i venstre hjørne i vinduet kaldet Project - <dbnavn>

og det er sådan set det....
Den er ikke helt perfekt, men det bliver næste skridt...

Gør dette, eller send mig email adressen
Avatar billede mekaniker Nybegynder
16. juni 2001 - 16:03 #8
Hej qooky
min e-mail er hanmyg@vip.cybercity.dk
Avatar billede Lasse Novice
18. juni 2001 - 22:43 #9
så skulle den være sendt... ja, jeg bor i Mexico, så der er lige 7 timers forskel. Og jeg har ikke netadgang i weekenderne... Derfor går det ikke så hurtigt.
Avatar billede mugs Novice
19. juni 2001 - 15:57 #10
Hej mekaniker

Hvordan gik det med min version af din db?

Mugs
Avatar billede mekaniker Nybegynder
19. juni 2001 - 22:43 #11
Hej Mugs
Tak for dit forslag, men jeg kan desværre ikke rigtig bruge det, for det jeg sendte til dig var bare et eksempel på hvordan det skulle fungere.
Da det er noget jeg ville implementere i min eksisterende database.
Det ville være helt fedt hvis jeg kunne få det til at virke som jeg først gerne ville have det.
Kan man ikke lave noget med en forespørgsel, hvor så resultatet af forespøgslen flyttes over i en temp-tabel.
Kan cb2 så ikke vise hvad der er i denne temp-tabel.

MVH
Mekaniker
Avatar billede Lasse Novice
20. juni 2001 - 00:43 #12
hey mekaniker.... det jeg har sendt dig gør det 100%.... Kig lige på det igen...
Avatar billede mekaniker Nybegynder
20. juni 2001 - 10:27 #13
Hej qooky
Det ser rigtig godt ud, det du har lavet, det virker næsten som det skal, men du skriver st jeg \"bare\" skal bytte dine listeboxe ud med kombobokse.
Det har jeg nu prøvet, men kan altså ikke få det til at virke.
Er det ikke sådan at dú kunne prøve.
Tak for hjælpen
Avatar billede Lasse Novice
20. juni 2001 - 17:21 #14
jo, jeg vil meget gerne prøve.... det vil jeg virkelig. Hvis du sender mig den db, hvor du har lavet en enkelt combiboks, og hvor indholdet stammer fra en tabel, så skal jeg nok lige give den piftet til at det virker.

Vær venlig at pakke den, da jeg sidder på en skodforbindelse - tak

send den til gooky_dk@yahoo.dk , og skriv bagefter herinde at du har sendt den... Så kigger jeg lige på det.
Avatar billede Lasse Novice
20. juni 2001 - 23:25 #15
hvorfor er det egentlig at du vil bruge combobokse????
Avatar billede mekaniker Nybegynder
21. juni 2001 - 11:46 #16
Hej qooky

Nu har jeg sendt dig databasen.
Hvad du ser, er hvad jeg selv er nået frem til indtil jeg støtte på problemer.

Ide\'en med at bruge cb, er at det letter min indtastning´af nye ture.

Databasen bliver selvfølgelig udvidet senere til at indholde mange flere oplysninger om hver tur, hver plads og evt. fangster.

I formularen \"Ny tur\" har jeg lavet den ene cb, som du bad om, og skrevet en tekst hvor den anden cb med se sorteret pladser skal være.
Valget for de to cb skal så gemmes i tabellen \"turer\"

Jeg har også lidt problemer med formularen \"Ny Plads\" Fra denne formular skulle pladserne gemmes i tabellen \"Pladser\", men den gemmer ikke \"soe_nr\"
Efter valget i cb.

MVH
Mekaniker
Avatar billede Lasse Novice
21. juni 2001 - 19:24 #17
ok,jeg har kigget på den nu, og har næsten lavet det færdigt... Jeg kan se at der er nogle ting som du gør forkert. Samtidig kan jeg ikke rigtig gennemskue hvordan det er du vil lave databasen. Der er 2 måder som jeg ser det:

1.)

tabel:Soeer
kolonner: Id(autonummer), Soe_Navn(tekst)

tabel:Pladser
kolonner: Id(autonummer), Soe_Nr(nummer), Plads(tekst)

tabel: Ture
kolonner:Tur_nr(autonummer), Plads(<b>nummer</b>)

Her skal der laves nogle relationsships:

Soeer->Pladser->Ture

Disse skal gøres med \"enforcer referential integrity\". Ved at gøre det, sørger Access databasen for at du ikke indsætter pladser.soe_nr som IKKE eksisterer i soeer.id. Det er en smart feature som jeg syntes du burde tage i brug.
Ved at gøre dette, skal du også overveje nogen andre ting. Når du f.eks. indsætter en ny plads, så skal indsættelsen vide hvilken pladser.soe_nr der skal indsættes. Dette tal SKAL være fra Soeer.id!
Nå, men denne feature har jeg tilføjet din database.


2.)

tabel:Soeer
kolonner: Id(autonummer), Soe_Navn(tekst)

tabel:Pladser
kolonner: Id(autonummer), Plads(tekst)

tabel: Ture
kolonner:Tur_nr(autonummer), Soe(<b>nummer</b>), Plads(<b>nummer</b>)

Her skal der laves nogle relationsships(\"enforcer referential integrity\"):

Soeer->Ture
Pladser->Ture

Ture består nu af 3 nummer. Et unikt, et nummer som refererer til Pladser, en nummer som refererer til Soeer.

Denne måde gør at nogen søgninger bliver længere, men til gængælg får du mindre redundans(det samme data flere steder). Nr 1. har mere redundans, men søgningerne er hurtigere.

Jeg sender dig den ligesnart jeg er færdig...
Avatar billede Lasse Novice
21. juni 2001 - 22:29 #18
hmm, jeg har lavet det således at tingene nu bliver valgt som du gerne ville have det, men jeg kan sku ikke lige funde ud af at sætte det ind. Det er alt for langt tid siden jeg har arbejdet med det, samt at jeg ikke har nogen hjælpefil...
Avatar billede mekaniker Nybegynder
22. juni 2001 - 10:20 #19
Hej qooky
Jeg er ked af, hvad jeg har rodet dig ud i, men jeg håber da, du finder ud af det, det ville glæde mig meget.
Et andet spørgsmål...Bor du permanent i Mexico...??

MVH
Mekaniker
Avatar billede Lasse Novice
22. juni 2001 - 16:31 #20
ja, jeg bor permanent i mexico....


Jeg kigger på det, men jeg vil først gøre det i aften(nat i dk), da jeg har en deadline i dag...
Avatar billede mekaniker Nybegynder
06. juli 2001 - 11:02 #21
Hej qooky
Nu har jeg endelig fået det til at virke i min eksistrende db.
Også ville jeg jo gerne forære dig nogle points, men jeg ved ikke rigtig hvordan jeg gør.
Da jeg afviste svaret fra \"mugs\" forsvandt dette feltet hvor man kan acceptere svaret.
Så hvis du vil have nogle points, må du lige hjælpe mig.

Det er for fedt du gad hjælpe mig...........!!
Tak.....Tak.....Tak.
Nu må man vel også lade db\'en ligge lidt da det endelig er blevet sommer DK.
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