Avatar billede Slettet bruger
11. juni 2004 - 09:31 Der er 16 kommentarer og
1 løsning

Aktiv kombi boks

Jeg har en kombinationsboks med en tekstboks ved siden af. Ønsket er så, at når jeg vælger noget i kombinationsboksen, så kommer der automatisk en tekst i tekstfeltet.

Jeg forsøger at få denne sætning ind som kontrolelement:

=DLookUp ("[ostebedømmelse produktfejl]", "Karakter bredde", "[Produktfejl]=" & Forms![Formular bedømmelse]![bedømmelse underformular]![fejl ydre])

Men der er noget galt med syntaksen. En anden ting er, at jeg skal også have tilføjet at forms![ostebedømmelse produktfejl]![produktegenskaber]=ydre

Er der nogen der kan hjælpe.
11. juni 2004 - 09:35 #1
Prøv med:
=DLookUp("[ostebedømmelse produktfejl]"; "Karakter bredde"; "[Produktfejl]=" & Form![bedømmelse underformular]![fejl ydre])
11. juni 2004 - 09:36 #2
mht dit andet spm, så fortår jeg det ikke helt! Skal forms![ostebedømmelse produktfejl]![produktegenskaber] sættes lig et andet felt [ydre] (eller er det det samme felt, som før)?
Avatar billede Slettet bruger
11. juni 2004 - 10:56 #3
Der står #navn? i tekstboksen, desværre...

Mht til andet spørgsmål: Nej, jeg mener "ydre" som en selvstændig værdi.
11. juni 2004 - 11:22 #4
Der må så være en fejl i et af de feltnavne, som du refererer til.
Ofter er der problemer med navnet på subformen.
Kontroller at [bedømmelse underformular] er det navn, som underformular-objektet har (og ikke bare det navn, som formularen har)
Og tabellen, som du vil slå op i, hedder "karakter bredde"?

hey, vent lidt...Er komboboksen også placeret på underformularen? I så fald, skal koden bare se således ud:
=DLookUp("[ostebedømmelse produktfejl]"; "Karakter bredde"; "[Produktfejl]=" & Form![fejl ydre])

mht 2. spm, så skal det kodes. Hvis værdien skal sættes idet man vælger noget på komboboksen, skal jeg lige vide hvordan felterne ligger i forhold til underformularen. Hvis begge felter ligger på samme 'niveau', kan du lægge denne kode på komboboksens EfterOpdatering-hædelse:

Me![produktegenskaber]=Me!ydre

Hvis de ligger på forkellige 'niveauer' så skal der lige korrigeres.
Avatar billede Slettet bruger
11. juni 2004 - 12:42 #5
Nu står der #fejl, da jeg prøvede:

=DLookUp("[ostebedømmelse produktfejl]"; "Karakter bredde"; "[Produktfejl]=" & Form![fejl ydre])
11. juni 2004 - 12:45 #6
du er nødt til lige at forklarer hvordan felterne ligger i forhold til underformularen. Ellers skyder jeg bare blindt i tågen....
Hvilke felter ligger på hovedformularen og hvilke på underformularen?
Avatar billede Slettet bruger
11. juni 2004 - 13:07 #7
[ostebedømmelse produktfejl] er en tabel, som indeholder felterne: ostetype, produktegenskaber, produktfejl og karakter bredde.

Min kombinationsboks [fejl ydre] ligger i underformular [Bedømmelser underformular], der igen ligger i formularen [Formular bedømmelse]. Når jeg så laver et valg i denne kombiboks, så skal karakterbredden komme op i tekstboksen ved siden af (den ligger også i underformularen). Karakterbredden skal findes i tabellen [ostebedømmelse produktfejl], dvs. at produktfejl findes ved hjælp af kombiboksen [fejl ydre], produktegenskaber findes ved hjælp af værdien "ydre" og ostetype findes ved hjælp af [sort/type] i hovedformularen [Formular bedømmelse].

Fik du den...
11. juni 2004 - 13:16 #8
Jeg tror det :o)

Problemet er, at der er mange muligheder for, hvor fejlen kan ligge. Du har ikke mulighed for at sende db'en til mig, vel? Det ville gøre det lidt nemmere. Du finder min mailadresse ved at klikke på mit navn...
Avatar billede Slettet bruger
14. juni 2004 - 09:20 #9
Hvad er der galt med syntaksen:

=DLookUp ("[ostebedømmelse produktfejl]", "Karakter bredde", "[Produktfejl]='" & Forms![Formular bedømmelse]![bedømmelse underformular]![fejl ydre] & "'")
14. juni 2004 - 11:17 #10
Hvis du skriver denne sætning direkte i en tekstboks, skal alle kommaer erstattes med semikolon.
Avatar billede Slettet bruger
15. juni 2004 - 11:32 #11
Den virker heller ikke med semikolon, den viser #navn?
Avatar billede Slettet bruger
21. juni 2004 - 10:40 #12
Der er forresten opstået en anden fejl, nemlig den sætning som du foreslog i komboboksens efteropdaterings-hændelse: Me![produktegenskaber]=Me!ydre

Det virkede ikke så jeg slettede sætningen igen, men nu når jeg indtaster i hovedmenuen, så kommer der lige en meddelse om at Microsoft Access ikke kan finde makroen Me![produktegenskaber]=Me!ydre???
Avatar billede Slettet bruger
22. juni 2004 - 14:48 #13
Til Thomas Jepsen

Jeg kæmper med at få åbnet min mail her på arbejdet. IT-afdelingen har af en eller anden årsag problemer med dette. Når den bliver åbnet vil jeg gerne sende min db til dig, du er nød til at slette den bagefter, men jeg kan virkelig bruge den hjælp til lige at færdiggøre. Dvs. fjerne et par problemer.

Jeg har afvist dit svar, så finder vi ud af points senere...

Tak for din interesse og engagement.
22. juni 2004 - 14:52 #14
Du sender den bare, når I får mail'en op at køre.

Hvis du lige gider smide link til dette spm med i mailen, så jeg ikke behøver sidde og lede (http://www.eksperten.dk/spm/508585).

Vi tales ved...
24. juni 2004 - 12:51 #15
Hej Severin,

Jeg har kigget på din formular.

Det viste sig, at du havde byttet op på Felt og domæne (tabel) i DLookup-kriteriet.
Den rigtige kontrolelementkilde ser således ud:
=DLookUp("[Karakter bredde]";"[ostebedømmelse produktfejl]";"[Produktfejl]='" & [fejl ydre] & "'")

Mht me![produktegenskaber]=me!ydre-fejlen, så skyldes det, at du på formularens EfterOpdatering-egenskab havde skrevet "me![produktegenskaber]=me!ydre". Dette er ikke en gyldig syntaks.
Jeg kunne ikke finde feltet Produktegenskaber, så jeg vidste ikke helt, hvad du ville med den. Men jeg ville bare fjerne den, hvis jeg var dig.

Men sætningen me![produktegenskaber]=me!ydre er en VBA-sætning, og skal som sådan skrives i VBA-editoren. Du åbner VBA-editoren ved at klikke på den lille knap med 3 prikker til højre, når du står i f.eks. egenskaben EfterOpdatering. Herefter vælger du Kodegenerator.


Du bad om min mening om applikationen; Jeg synes, at applikationen er rigtig flot. Du har en rigtig god komposition i dine skærmbilleder, samt god sans for stil og farver :o)

Derudover vil jeg selvfølgelig anbefale dig at begynde at kigge på VBA, da mulighederne er langt større (bla pga fejlhåndtering og langt flere tilgængelige kommandoer). En database, udviklet vha VBA i stedet for makroer er også nemmere at gennemskue og fejlrette i.

Jeg kunne ikke undgå at bemærke at samtlige formularer har 135 linier kode (inkl tomme linier) hvor langt det meste ikke blev brugt til noget.  Det er den samme kode, som står i dem alle sammen - formentlig fordi du bare har kopieret den samme formular hver gang du skulle lave en ny?
Disse bør "renses" for overflødig kode, da det er med til at sløve systemet ned og kan også i princippet frembringe fejl.

Faktisk er der allerede en struktur-fejl i databasen (hvis du fra VBA-editoren vælger menuen Debug->Compile Ostebedømmelse, så får du en fejl om "Network error...".
Løsningen på dette er en del benarbejde: Åbn hver formular i design og find egenskaben "Har modul" og sæt den til "Nej" (med mindre, der er formularer, hvor du VED, at der er VBA-kode!). Denne handling vil slette alle kodelinier på den enkelte formular.
Når disse er slettet bør du oprette en ny database og derefter importere alle objekter igen. Herefter skulle databasen være ren og sund igen :o)

mvh
Thomas
Avatar billede Slettet bruger
24. juni 2004 - 13:21 #16
Du er suveræn... Men hvordan med points..
24. juni 2004 - 13:26 #17
Du kunne have ændret point-antallet ved at klikke på de 30 i toppen.

Men ellers kan du oprette et nyt spm f.eks. med overskriften "Ekstra point" og i teksten skrive: "ref: http://www.eksperten.dk/spm/508585".

Du må højest give 170, men du behøver ikke at give fuld point - jeg er bare glad for, at vi fik løst dit problem :o)
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