20. marts 2001 - 14:27Der er
32 kommentarer og 1 løsning
VB i access 2000
Hvergang jeg opretter en ny formular, skal databasen, kontrollere værdien af feltet [cdnr]i den foregående formular og automatisk lægge 1 til i den nye.
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Du skal have lavet en varialbel der bliver tildelt den værdi der skal lægges ind i den nye post. Når du så kommer over i den nye post skal lægge værdien tilbage igen.
Hvis du har lyst kan du prøve at sende databasen til Access@edb.dk. Så skal jeg kikke på det
Thomas jeg har lige prøvet at ligge den ind som kode, men jeg får en run time error \'2471\', objektet indeholder ikke automation objektet cdnr feltets kontrolelementkilde er \"cdnr:\" og navn \"cdnr:\", er det mit problem???
Prøv engang at trykke Ctrl+G og skriv derefter: ?DMax(\"cdnr\",\"Forespørgsel samling A\") i det nederste vindue. Får du også en fejl nu?
Hvis det er tilfældet, så skal du (når du står i kodevinduet) gå i menuen Funktioner->References Kontroller at der ikke står \"MISSING..\" i en af de første linier i den fremkomne dialogboks. Hvis der gør det, skal du fjerne krydset ud for \"MISSING..\"
Nej ikke endnu, har først tid, mandag. men jeg har et nyt spørgsmål, kan man gøre felterne i en formular genre afhængige, så de kun optræder i formularen hvis det er en bestemt type genre?
Ja det kan du godt. Du kan lade en if sæt eller en select case sætning. Her siger du så hvis genrefeltet har en bestem værdi skal de og felter være synlige eller ej. Hvilken kode du bruger afhænger af om du vil fjerne felterne felt eller bare gøre med gråtonet. Fjerner du felter inde midt i formularen kan den godt komme til til at se lidt dumt ud, det er nok bedst at bruge visibel der gør felterne gråtonet.
Private sub Form_current If Genre = \"Den rigtigt genre\" then Me!Felt1.Visible = False Me!Felt2.Visible = False ... Else Me!Felt1.Visible = true Me!Felt2.Visible = true ... end if End sub
Hvis du bruger den med If Me.Newrecord then Me!cdnr.DefaultValue = DMax(\"cdnr\",\"Forespørgsel samling A\") + 1 End if
og feltet ikke er låst, så gør koden jo kun det, at den sætter standard-værdien til maks+1. Du skulle derfor sagtens kunne redigere. Når du alligevel ikke kan redigere, må du have fået sat én eller anden egenskab, som gør at feltet er låst. Kan du redigere nogle af de andre felter i den nye post? Du har ikke lagt koden direkte ind i kontrolelementkilden på teksboksen, vel? Den SKAL ligge i VBA.
Mht at skjule felter, så er det besværligt at rokere rundt på felterne i runtime. Så når du skjuler felter giver det i princippet ikke mere plads på formularen. Du kan måske bruge fanablade istedet?
når jeg begynder at redigere [cdnr]opretter databasen en ny post hvor jeg skriver i og den post med VBA-koden rykkes ned som sidste post.
Jeg er gået over til at bruge faneblade, desværre optager fanerne alt for meget plads, er det muligt kun at få fanerne vist ved den øverst synlige post?
Hmmm, jeg har lidt svært ved at forstå hvad det er, du mener!? Hvis du klikker \"Ny post\" på formularen, hopper du til den sidste (tomme) post, hvor du så kan indtaste den nye post. Idet du begynder at indtaste den nye post, vil Access automatisk give plads til endnu en ny post, som vil få samme CDnr, som den du er ved at oprette. Men det betyder ikke at du skal hoppe til den post...Når du næste gang klikker \"ny post\" (eller på anden måde hopper til den tomme post i slutningen af tabellen) vil du få et nyt CDnr. Eller er det mig, som misforstår dig?
Mht fanabladene, så er jeg bange for at jeg heller ikke forstår dig helt? Hvad mener du med \"er det muligt kun at få fanerne vist ved den øverst synlige post? \"
problemet med cdnr er løst, det virker, nu det jeg mente med fanebladene er at jeg i formularvisning har 5 poster på skærmen ad gangen hver med sin fane, der er nu gået op for mig hvorfor, så spekuler ikke mere på det. Meen jeg har nu et andet problem, kan jeg få den til at hoppe fra det siste felt på fane1 til det første felt på fane2 ved at bruge en kode i \"ved Udgang\" eller \"ved fokus væk\" ?
Okay, du trækker dine point lidt langt, synes jeg :-) Normalt opretter man et nyt spørgsmål for hvert problem...
Men ja! Hvis du skriver: Me![navn på felt du vil hoppe til].Setfocus
Så vil den selv skifte fane og stille sig i det pågældende felt. Om det skal i \"ved udgang\" eller \"ved fokus væk\" er en smagssag, som du må prøve dig frem med. Personligt plejer jeg at lave det på KeyDown, hvor jeg spørger på om ENTER eller TAB er trykket. Men som sagt: det er en smagssag.
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.