Avatar billede lumse Nybegynder
07. marts 2003 - 08:38 Der er 17 kommentarer og
1 løsning

Få Textbox til at vise en afhængighed fra combobox

Hejsa

Jeg er uerfaren med Access, men sidder med problem der bare skal løses.

Jeg har en database som jeg ikke selv har lavet. Den består af tre tabeller med to relationships.
Tabellerne er som følger

Rapport:
Rapportnummer (Primærnøgle)
Kundenavn
Kontaktperson
ProduktnavnID (Fremmednøgle)
PrioritetID (Fremmednøgle)
Og mange flere!!

Produkt:
ProduktnavnID (Primærnøgle)
Produktnavn
Projektnummer

Prioritet:
PrioritetID (Primærnøgle)
Prioritet

Jeg har desuden en form, med Textboxes og Comboboxes.

Nu problemet:
Jeg har en combo box, hvor man kan vælge mellem projektnavne, den virker.
Så skal det tilhørende projektnummer vises i en Textbox. Det kan jeg ikke finde ud af.
Projektnummer står ikke i Field Listen, kan jeg rette i den?
Jeg har prøvet at skrive en Query, men uden held.

Hvad gør jeg!!!

På forhånd tak
"Lumse"
Avatar billede lumse Nybegynder
07. marts 2003 - 08:42 #1
ps: Jeg bruger Access 97
Avatar billede mugs Novice
07. marts 2003 - 08:44 #2
Projektnummer står ikke i Field Listen, kan jeg rette i den?

Jeg gætter på, at din combo slår op i tasbellen "Produkt". Åbn denne og tilføj relevante Projektnumrer.
Avatar billede lumse Nybegynder
07. marts 2003 - 08:51 #3
Projektnumre er allerede i tabellen, det er et spørsmål om hvad jeg skal skrive i formen!
Avatar billede lumse Nybegynder
07. marts 2003 - 08:58 #4
Det kan forklares lidt nemmere hvis du har Northwind databasen (den der følger med som demo til Access).
Hvis man vil tilføje 'customers Phone' i formen 'Orders' så den bliver vist automatisk når man har valgt en customer, ligesom adress, City, Region ext. allerede bliver?
Avatar billede mugs Novice
07. marts 2003 - 09:01 #5
Der er noger der tyder på, at relationerne ikke er optimale. Men denne er afprøvet i en lille testdb og fungerer:

Dim intsearch As Integer
intsearch = Me!produkt
Me!produktnr = DLookup("[Produktnr]", "Produkt", "[id]=" & intsearch)

Me!produkt er din combo
Me!produktnr skal tilføres indholdet af tabellen Produkt i feltet produktnr
id er produktid i tabellen Produkt

Læg din e-mail hvis du vil have den tilsendt.
Avatar billede mugs Novice
07. marts 2003 - 09:02 #6
Indsøt koden i comboen's BeforeUpdate.
Avatar billede lumse Nybegynder
07. marts 2003 - 09:03 #7
ole@lumse.dk
Avatar billede mugs Novice
07. marts 2003 - 09:08 #8
Sendt.
Avatar billede lumse Nybegynder
07. marts 2003 - 09:11 #9
Beklager, jeg kan ikke åbne filen, jeg arbejder med Access 97
Avatar billede mugs Novice
07. marts 2003 - 09:14 #10
Konverteret og sendt som 97
Avatar billede lumse Nybegynder
07. marts 2003 - 09:15 #11
Er det ikke muligt bare at lave en Query som i SQL, f.eks.

SELECT Produkt.Projektnummer FROM Produkt WHERE Produkt.ProjektnavnID = <navn på combo box>
Avatar billede mugs Novice
07. marts 2003 - 09:23 #12
Hvorfor flere Query'es en højst nødvendigt?
Avatar billede lumse Nybegynder
07. marts 2003 - 10:02 #13
Jep, jeg har fået det til at virke, men, det er jo ikke just efter databaseregler at flytte et navn fra en anden tabel ind i en tabel, som allerede har et unikt-ID som giver navnet. Det må kunne laves på en reglementeret måde. Det har de ihvertilfælde gjort med NortWind DB, hvordan det ved jeg ikke.
Jeg holder mig til SQL fremover, det ved man hvad er :o)
Tak for hjælpen
Avatar billede mugs Novice
07. marts 2003 - 10:09 #14
Du behøver heller ikke at sætte det ind i tabellen. Afhængig af hvor du skal bruge data, kan du blot indsætte DlookUp funktionen i et ubundet tekstfelt i din formular, så det ikke bliver lagret. Skal du bruge det i en rapport, gør du det på samme måde.

Du kan også prøve at se på dine relationer.
Avatar billede lumse Nybegynder
07. marts 2003 - 12:43 #15
Det der er lavet nu er ikke så smart, for når man ændrer i Projektnr på produktet bliver det jo ikke ændret i Rapporttabbelen, derfor er det ret vigtigt at jeg KUN har ID stående i begge tabeller, således at databasen er korrekt normaliseret.
Jeg kan sagtens for comboboxen til at virke, men skal der så ikke sættes en funktion ind i 'Control Source' i textboxen der skal vise projektnummer?
Håber du kan hjælpe
Avatar billede mugs Novice
07. marts 2003 - 14:21 #16
Hvis du vil hjave projektnummer ind i tabellen, skal du blot bruge den samme DlookUp funktion, men blot referere til feltet projektnummer.

Hvis dine relationer var lavet anderledes i databasens grundkondtruktion, ville det ikke være noget problem.
Avatar billede lumse Nybegynder
07. marts 2003 - 14:32 #17
Det forstår jeg ikke, men det er måske mig der ikke forklarer mig godt nok.

Jeg vil ikke have projektnummer ind i tabellen Rapport, den skal kun stå i tabellen Produkt, hvor den hører hjemme.

Dit eksempel er godt nok, bortset fra at Projektnummer kun må stå i Produkt tabellen, og ikke i Tabel1 som din hedder.

da det ikke er mig der har lavet Databasen kan jeg selvfølgelig ikke stå inden for den, men jeg skulle da mene at den overholder alm. DB-regler med normalisering.

Håber dette afklarer mit problem
Avatar billede mugs Novice
07. marts 2003 - 14:57 #18
Se min kommentar kl 10:09, på den måde bliver Projektnummer ikke lagret, men bliver i formularen / rapporten.
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