Avatar billede snowball Novice
19. juli 2005 - 14:01 Der er 12 kommentarer og
3 løsninger

Manipulering af data (GUI newbie spm.)

Hej.

For lige at gøre det klart med det samme: Jeg er ikke vant til at lave GUI'er i Access ;)

Jeg har et antal tabeller som hver kun har 1 kolonne med en række poster i. Indholdet af disse tabeller skal jeg have lavet en mindre GUI til, der skal fungere som en Admin del hvor man kan tilføje, ændre og slette poster.

Hvordan gøres dette lettest og smartest? Har tænkt på at lave hver tabel som en SubForm med det felt eller noget og så et par knapper - vil det være fornuftigt?

Et lille eksempel vil være helt perfekt :)

På forhånd tak.
Avatar billede -anders- Juniormester
19. juli 2005 - 14:22 #1
Hej, det lyder som udgangspunkt meget fornuftigt, men er der tale om mange tabeller eller få tabeller?, er der relationer mellem tabellerne, eller står de "alene". Der er mange måde at lave det på, men prøv at starte med at lave en mainform (uden postkilde), man kunne så oprette en subform for hver tabel og indsætte disse som ubunde subforms på din mainform. Men som sagt der er mange måde at gøre det på
Avatar billede -anders- Juniormester
19. juli 2005 - 14:26 #2
Man kan også benytte en eller flere lister på mainformen i stedet for subformen, og benytte knapper til at oprette og ændre samt slette poster, benytter man blot en liste kan man feks. via combobox valg skifte rækkekilde på listen så det svare til den aktuelle tabel, dette kunne styres via select case eller andet
Avatar billede mugs Novice
19. juli 2005 - 14:34 #3
Du kan styre formularernes tilstand fra en "ADMIN-form":

docmd.openform "formularnavn"
[forms]![formularnavn].Allowdelitions = false
[forms]![formularnavn].Alloweditions = false
[forms]![formularnavn].AllowAdditions = false

Det er ikke sikkert stavemåden er korrekt. Men prøv i din VBA-editor at skrive Me. så får du en dropdown med mulighederne.
Avatar billede snowball Novice
19. juli 2005 - 14:46 #4
Der er tale om under 5 tabeller som ikke har relationer til hinanden eller nogen andre tabeller.

Jeg er med på hvordan man laver en SubForm med tabellens felter og tabellen som datakilde, men jeg tænker mere det med at slette en post og sådan.

Vil gerne have et lille eksempel tilsendt på snowball.exp@gmail.com :)
Avatar billede mugs Novice
19. juli 2005 - 15:14 #5
Sendt.
Avatar billede mugs Novice
19. juli 2005 - 15:17 #6
Og den er så kommet tilbage igen:

552 5.7.0 Illegal Attachment a67si2957271rne (in reply to end of DATA
    command)

filerne var zippede.
Avatar billede snowball Novice
19. juli 2005 - 15:30 #7
mugs: Prøv at sende den til den anden email (@geertsen.dk) som du brugte sidst vi havde problemer.
Avatar billede -anders- Juniormester
19. juli 2005 - 15:30 #8
Hvis dine subforms ikke er skrivebeskyttede, er det jo blot at højreklikke for at slette, og elles redigere og oprette på normal vis, dette kræver ikke knapper med vba koder, men afvent eks. fra mugs han ryster altid op med noget godt og brugbart :o)
Avatar billede mugs Novice
19. juli 2005 - 16:24 #9
Sendt igen.
Avatar billede snowball Novice
20. juli 2005 - 08:42 #10
mugs: Dit eksempel er ca. det samme som jeg selv er kommet frem til ;)

Dog så vil jeg gerne have nogle knapper ind i billedet, for især det at slette en post syntes jeg er for besværligt (set ud fra et brugermæssigt synspunkt!) hvis man skal til at højreklikke og så vælge noget bestemt.

Måske det var nemmere og pænere at lave formen med en combobox, et tekstfelt og et par knapper!? Så bliver de eksisterende poster læst ind i comboboxen.

Hvis man vil tilføje en ny post, så skriver man det i tekstfeltet og klikker på Tilføj knappen.

Hvis man vil slette en post, så vælger man den i comboboxen og klikker på Slet knappen.

Hvis man vil ændre en post, så vælger man den i comboboxen, teksten vises i tekstfeltet, man kan ændre teksten, og så klikke på Gem knappen hvorefter værdien ændres i DB'en og alle værdier indlæses på ny i comboboxen.

Ovenstående er måske lidt mere besværligt, men også pænere og mere brugervenligt for folk der ikke er vant til den måde som man kan få Access til at bladre i posterne :)
Avatar billede mugs Novice
20. juli 2005 - 09:14 #11
Hvis du vil slette en post kan du bruge denne til et alfanumerisdk felt:
DoCmd.RunSQL "DELETE FROM TABEL Where TABEL.IDFELT= '" & Me.COMBO & "'"
Til et numerisk felt:
DoCmd.RunSQL "DELETE FROM TABEL Where TABEL.IDFELT= " & Me.COMBO & ""

Hvis du vil slette formularens aktuelle post:
DoCmd.RunCommand acCmdDeleteRecord

Mulighederne er så mange, at det ikke er nemt at give et eksakt svar på hvad der er bedst til din situation. Du kan jo også have en startformular med en række knapper der åbner den samme formular i forskellige tilstande.
Avatar billede snowball Novice
26. juli 2005 - 14:24 #12
Beklager jeg ikke har vendt tilbage, men har haft travlt med andre projekter. Er dog ved at arbejde lidt på dette igen ;)
Avatar billede mugs Novice
26. juli 2005 - 14:30 #13
OK
Avatar billede snowball Novice
08. august 2005 - 16:19 #14
Beklager min manglende respons - har pt. ferie, så der bliver ikke arbejdet på projektet.

Jeg deler pointene mellem jer som tak for hjælpen :)
Avatar billede -anders- Juniormester
08. august 2005 - 17:43 #15
Tak for point :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