11. juni 2004 - 09:31Der 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:
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
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)?
Synes godt om
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.
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.
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?
Synes godt om
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].
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...
Hvis du skriver denne sætning direkte i en tekstboks, skal alle kommaer erstattes med semikolon.
Synes godt om
Slettet bruger
15. juni 2004 - 11:32#11
Den virker heller ikke med semikolon, den viser #navn?
Synes godt om
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???
Synes godt om
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...
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)
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)
Synes godt om
Ny brugerNybegynder
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.