14. december 2005 - 11:18Der er
15 kommentarer og 1 løsning
Oprettelse af brugerflade med flere valgmuligheder
Hej. Jeg har oprettet en tabel, forespørgsler og formularer. Nu vil jeg oprette en brugerflade, hvor jeg kan vælge forskellige muligheder som fx. søge, redigere og slette poster. Jeg har kun en tabel.Brugerfladen skal bygges op over en formular. Hvordan opretter jeg en knap med teksten "rediger" som skal kalde en forespørgsel med alle poster i tabel. Jeg vil også gerne have mulighed for at søge på flere felter samtidig, har prøvet med IF THEN END IF, men får fejlmed. ugyldig syntaks.
Du kan lave en formular uden en postkilde. Denne formular skal være din start formular og db skal altid åbne denne formular når db startes Kald formularen "Start". Til det brug åbner du nu db i databasevinduet > Fanen Makro > Ny. I det øverste vindue vælger du handlingen "Åbnformular", i det nederste vindue vælger du et argument og nøjes med at vælge navnet "Start". Tilbage til det øverste vindue og sæt markøren lige under linien med 2Åbnformular". Her vælger du handlingen "Maksimer". Luk makroen og sig ja til at gemme. Når du promptes for et navn til makroen skriver du:
Autoexec
Luk databasen. Når du Starter databasen vil Access søge efter en makro med navnet "autoexec" og hvis den findes vil den blive åbnet, og de indspillede handlinger vil blive udført. Prøv at åbne databasen igen og se om ikke det er rigtigt.
Nu skal du have programmeret dine muligheder på stasrtformularen. Til det brug kan du tage en kommandoknap fra værktøjskassen og placere den i detaljesektionen. Nu skal du i kanppens Vedklik indtaste en kommando f.eks:
docmd.openqyery "Forespørgslens navn"
Dette vil åbne den forespørgsel hvis navn du har indtastet. Men jeg vil råde dig til at lave en formular der viser de ønskede poster og ændre din kode til:
docmd.openform "formularens navn"
Jeg synes vi skal vente med din søgning indtil du har fået dette til at fungere. Søgning er lidt mere kompleks at have med at gøre.
DET VIRKER. Hold da op, hvor jeg imponeret af dig. Når jeg åbner access spørges jeg om jeg vil blokere usikre udtryk. Jeg svarer nej, men hvad betyder det?
Søgning: Jeg kan bruge "filtrer efter formular"-knappen, men kan kun vælge en post. Der har jeg brug for at kunne vælge fx. et interval. Jeg kunne godt ønske mig at jeg også kunne redigere i en post + (en knap med gem) og muligheden for at slette en hel post.
Godt det fungerer. Når du får meddelelsen om at blokere usikre udtryk, så er det fodi du kører 2003. Det gør jeg ikke og jeg ved ikke rigtig hvad det er. Så der bliver jeg svar skyldig.
M.h.t. at søge i et interval, kan du i den forespørgsel der ligger til grund for din formular indtaste et kriterie. Et kriterie et en begrænsning af de poster du vil se i forespørgslen eller formularen / rapporten.
Der er flere muligheder. Du kan f.eks bruge Between eller >= og <= Har du et numerisk felt der starter ved 1 og slutter ved 100, kan du i kriterielinien i forespørgslen indtaste f.eks:
>=50 And <= 75
Som returnerer de poster, hvis numeriske værdi er imellem 50 og 75. Prøv også, at indtaste >=[] And <=[] som burde give 2 inputbokse hvori du kan indtaste tallene.
Jeg skal til møde nu og har ikke mere tid. Men kan du arbejde med din db iaften, kan jeg brygge lidt eksempler sammen til dig. Evt. kan du sende din db til:
aandersen > Tak, det kunne jeg egentlig godt huske, nu du skriver det.
casaoptima > Jeg har ikke ret meget tid om dagen i disse dage. Jeg er hængt voldsomt op med arbejde. Er det helt umuligt for dig, at vi kan udveksle et par mail iaften?
Ja, helt umuligt, desværre. Men det lysner for mig, der er mange detaljer at få på plads. Jeg er kommet længere med dine råd i dag end det jeg har fået lavet de sidste 14 dage. Du svarer når du har tid, så tænker jeg imens, det har jeg hørt ikke skader;-)
Vedr. Oprettelse af brugerflade: Da jeg bruger access 2003, er der nogle småting som måske er anderledes. Efter oprettelse af en formular uden postkilde, placerede jeg en komando knap fra værktøjskassen i detaljesektionen. Under fanen "Hændelser" valgte jeg "VedKlik" og trykkede på "..." mærket, hvor jeg fik valget mellem udtryks-, makro- og kode generator. Valgte kode generator og indtastede: dacmd.openquery "forespørgelsens navn"
Der er selvfølgelig forskel mellem Access 2000 og 2003. Men ikke i den sammenhæng di skitserer overfor. Men der en stavefejl, du skriver:
dacmd.openquery "forespørgelsens navn"
Den korrekte syntaks er:
docmd.openquery "forespørgelsens navn"
Du kan altid se det i et sådant tilfælde. DoCmd er den "familie" hvori koden Openquery er placeret. Efter du har skrevet docmd og sat et punktum (punktumnotation) SKAL du få en dropdoen liste med alle tilgængelige kommandoer i Docmd-familien som du kan scrolle ned igennem og vælge den korrekte kode. Hvis du staver det dacmd. får du ikke en sådan dropdown og du ved så, at der er en stavefejl.
Selv tak. Det manglede da bare at give point. Jeg skulle bare lige hitte hvordan.
Jeg sidder lige med noget... Jeg har valgt en kombi boks til en formular. Jeg får fint de forskellige kriterier jeg ønsker at vælge mellem. MEN så mangler jeg koden til hvordan jeg kun får de poster frem som opfylder mit kriterium.
Jeg antager, at din formular har en forespørgsel som postkilde og din combo er ubundet forstået på den måde, at den ikke må have formularens forespørgsel som postkilde.
Jeg antager ligeledes, at både combo'en og formularen indeholder det felt efter hvilket du vil udvælge poster.
Så kan du i formularens postkilde (forespørgslen) indsætte et kriterie, der refererer til din combo, under det felt der indeholder data for kriteriet skriver du:
Det mener jeg også jeg gjorde, men så var min Combo usynlig i formularen i formularvisning. Min mail: ik@casaoptima.dk. Jeg ville gerne tildele dig nogle flere point, men hvordan? I vejledningen står der "en boks til venstre i billedet". Du har svaret langt ud over hvad 30 point rækker til.
Jeg bakser lige et eksempel sammen i eftermiddag når jeg er hjemme fra arbejde. Jeg har desværre ikke tid før, så du ser det nok først MAN.
Du kan ikke tildele flere point i dette spørgsmål, idet du har accepteret et svar og spørgsmålet er således lukket. Din eneste mulighed er at åbne et nyt spørgsmål med reference til dette. Det er da rigtigt, at du har fået valuta for dine 30 point, og fred være med det. Dette skal ikke være en pointjagt, men et forum hvor vi hjælper hinanden med de problemer der måtte opstå. Og så har jeg så mange point, at jeg ikke ved hvad jeg skal bruge dem til, og jeg har på fornemmelsen, at du nok kan bruge dine til noget mere fornuftigt end blot at forære dem til mig.
Men m.h.t. dit kriterie, så er det vigtigt for os at få klarhed over, hvad der sker:
- Får du forkerte poster ud i din forespørgsel? - Sker der overhovedet noget? - Får du en fejlmeddelelse fra Access?
Kommentarer som "Det fungerer ikke" er intetsigende, vi har brug for at vide, hvordan en evt. fejl ytrer sig.
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.