Avatar billede avalon116 Nybegynder
11. marts 2003 - 22:32 Der er 11 kommentarer og
1 løsning

vælge flere værdier

Jeg har en database med udlejningsvarer. For hver ordre kan kunden leje flere forskellige produkter (og evt. flere af samme slags).

Jeg vil gerne lave en liste eller lign. der baserer sig på en tabel med det samlede udvalg. På listen skal man ud for hvert produkt på listen kunne indtaste det antal som kunden lejer.

Nogen forslag?
Avatar billede mortrr Praktikant
11. marts 2003 - 22:35 #1
På en formular i Access, eller?
(bare for at være sikkert på om det er access eller fx asp løsning du er ude efter)
Avatar billede avalon116 Nybegynder
11. marts 2003 - 22:38 #2
ja på en formular i Access
Avatar billede mortrr Praktikant
11. marts 2003 - 22:45 #3
Det kan laves på flere måder.

Den simpleste er nok at du laver en underformular som er linket til den nuværende med fx ordreid.
Underformularen bygget du på varene left join ordrelinier.
Når kunden så skriver et antal, oprettes automatisk en ordrelinie.

Noget i den stil?
Avatar billede mortrr Praktikant
11. marts 2003 - 22:46 #4
"til den nuværende" er lidt noget sludder - "til hovedformularen"

Sig til hvis forslaget skal uddybes eller du er ude efter noget andet.
Avatar billede avalon116 Nybegynder
12. marts 2003 - 08:42 #5
"left join ordrelinier" det forstår jeg ikke helt.
Avatar billede avalon116 Nybegynder
12. marts 2003 - 08:45 #6
hvis jeg skulle lave databasen på samme måde som beskrevet ovenfor, men kunden kun kan leje een ting ad gangen, ville jeg lave en liste, hvor man kunne vælge fra. Så ville man bruge "select distinct row". Jeg havde håbet at der fandtes en sætning i stil med "select multiple rows", men det gør der vel ikke?
(og i så fald kunne kunden vel heller ikke leje flere af samme slags vare)
Avatar billede mortrr Praktikant
12. marts 2003 - 13:54 #7
Forstod du den med at lave en underformular?

Lad os sige du har en formular med kundens ordre.
Denne indeholder orderID, kundeid osv.
På den er der en underformular som viser de aktuelle bestillinger af varer.
Altså alle rækker fra OrdreLinie tabellen hvor OrdreID=Ordre.OrdreID.
Det er en hel traditionel visning af en kundes ordre.

Hvis man ændrer underformularen så den bygger på
select * from varer left join ordrelinier on varer.vareid=ordrelinier.vareid and ordreid=parentform.ordreid
Så vil du få vist alle varene, og der vil kun stå antal (som er et felt i ordrelinier) ud for de varer som kunden er ved at bestille.
Når kunden skriver tal i antal, vil der automatisk tilføjes en række i ordrelinie tabellen.
(parentform er efter hukommelsen - kan ikke lige huske hvad den hedder. Den refererer til subformens parent - altså selve ordre formularen)
Avatar billede avalon116 Nybegynder
12. marts 2003 - 14:15 #8
skal den ikke på en eller anden måde vide at "antal" hænger sammen med underformularen?
Avatar billede mortrr Praktikant
12. marts 2003 - 14:30 #9
Antal skal jo stå i underformularen.

Eksempel på felterne i underformularen:
Ordrelinie.Antal, Varer.VareNr, Varer.Navn, Vare.Pris, OrdreLinie.TotalPris


Er jeg igang med at forvirre dig total? ;-)
Avatar billede avalon116 Nybegynder
12. marts 2003 - 14:52 #10
nåh sådan.
jeg er lidt forvirret, for jeg er temmelig grøn i det her. Men med god hjælp herfra forsøger jeg at komme igennem, og det er i hvert fald et godt sted at lære - og ofte meget bedre end hjælpefilerne i programmet.
Avatar billede avalon116 Nybegynder
12. marts 2003 - 20:57 #11
ha, der tog jeg vist munden for fuld. I Eksempeldatabasen er der noget der ligner det, du prøver at få mig til at forstå - og med dit svar og det konkrete eksempel, tror jeg problemet er løst, så du får point.
Avatar billede mortrr Praktikant
12. marts 2003 - 22:35 #12
Jamen så siger jeg god fornøjelse og takker.
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