Avatar billede casaoptima Nybegynder
14. december 2005 - 11:18 Der 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.
Avatar billede mugs Novice
14. december 2005 - 11:34 #1
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.
Avatar billede casaoptima Nybegynder
14. december 2005 - 12:45 #2
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.
Avatar billede mugs Novice
14. december 2005 - 13:43 #3
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:

mugs@mail.dk

som en zippet fil. Så kan vi arbejde id fra den.
Avatar billede -anders- Juniormester
14. december 2005 - 14:04 #4
Når jeg åbner access spørges jeg om jeg vil blokere usikre udtryk. Jeg svarer nej, men hvad betyder det?

Der er brugerdefineret sikkerhedsniveuer når makroer afvikles i Access2003, prøv at tjekke nedenstående

Funktioner/Makro/Sikerhed, her er der 3 forskellige niveuer, hvis du vælger Lav forsvinder disse advarsler
Avatar billede casaoptima Nybegynder
14. december 2005 - 14:22 #5
Det er til stor hjælp. Tusinde tak til jer begge. Håber mugs har tid i morgen.
Avatar billede mugs Novice
14. december 2005 - 14:32 #6
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?
Avatar billede casaoptima Nybegynder
14. december 2005 - 15:24 #7
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;-)
Avatar billede mugs Novice
14. december 2005 - 17:18 #8
Vedr. søgning kan jeg anbefale denne:
http://www.nyholm.dk/makeiteasy/Home.asp?ContentID=30&MenuItemID=25
eksemplet hedder Filter- og søgefunktion. Der er en vejledning med.

For at åbne en formular der er klar til at tilføje en ny post:
DoCmd.OpenForm "Formularnavn", acNormal, "", "", acAdd, acNormal

For at slette aktuel post:
DoCmd.RunCommand acCmdDeleteRecord

For at gennemtvinge en lagring af aktuel post:
DoCmd.RunCommand acCmdSaveRecord

Iøvrigt så velkommen til eksperten. Her er et pat gode råd om hvordan man opfører sig her på sitet:

http://expfaq.1go.dk/?id=3#behandling_af_svar
Avatar billede casaoptima Nybegynder
15. december 2005 - 10:43 #9
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"
Avatar billede mugs Novice
15. december 2005 - 11:23 #10
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.

Mine kommandoer skal fungere i 2003.

Tak for point
Avatar billede casaoptima Nybegynder
15. december 2005 - 11:43 #11
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.

Undskyld stavefejlen, du har helt ret.
Avatar billede mugs Novice
15. december 2005 - 12:44 #12
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:

[Forms]![FORMULARNAVN]![NAVNET PÅ COMBO'en]

Navnet på combo'en finder du i fanen andre.
Avatar billede casaoptima Nybegynder
15. december 2005 - 14:42 #13
Sorry, den sidste del af din forklaring forstår jeg ikke. Hvor er det at jeg skal skrive[forms]... osv.?

Omkring åben ny post, slette post samt gemme post, så virker det også. Du er en knag (Jysk - betyder 13 med pil opaf).
Avatar billede mugs Novice
15. december 2005 - 15:54 #14
Du skal skrive det på kriterielinien i den forespørgsel der ligger til grund for formularen.
Har du en e-mailadresse, så sender jeg et eksempel.
Avatar billede casaoptima Nybegynder
16. december 2005 - 08:25 #15
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.
Avatar billede mugs Novice
16. december 2005 - 09:40 #16
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.
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