Avatar billede mlhave Nybegynder
14. september 2003 - 19:31 Der er 28 kommentarer og
1 løsning

Flere valg med toggle button

Jeg skal lave en formular til indtastning af Presse udklip fra aviser.
Alle oplysninger om udklippet skal gemmes incl dets placering på avissiden. Jeg bruger verdenshjørnerne til at angive det fx:

NV  N    NØ
V    C    Ø
SV  S    SV

Der er lavet med togglebuttons i en frame, med det er nok ikke løsningen, for det er ikke nok at sige udklippet var placeret på position Ø, så var det jo nemt nok. Desværre skal det være muligt at markere fx Ø og SV hvis udklippet fyldte meget på siden.

Kan I hjælpe med det?
Avatar billede mugs Novice
14. september 2003 - 19:36 #1
I din tabel laver du et numerisk felt (Byte). Træk det ind i den forespørgsæe der ligger til grund for formularen.
I formularen tager du nu en Gruppeboks fra værktøjskassen og sørg for, at dine guider er slået til. Herefter følger du blot guiden og så kører det.
Avatar billede mugs Novice
14. september 2003 - 19:39 #2
En gruppeboks kan have på til 20 muligheder, og det er kun muligt at vælge een. I dit tilfælde skal du jo så vælge N, NV, V, SV o.s.v.

Gruppeboksen vil tildele hvert enkelt mulighed en numerisk værdi, der vil blive returneret til tabellen. Hvis du vil lave kriterier på feltet, skal du i forespørgslen vælge den værdi der svarer til betegnelsen N, S, m.v.
Avatar billede mlhave Nybegynder
14. september 2003 - 19:40 #3
Nej det gør det ikke, for hvis du gør det er det kun muligt at vælge fx Ø og ikke både Ø og SV på en gang :o(
Avatar billede mugs Novice
14. september 2003 - 19:45 #4
Det er korrekt at du kun kan vælge een værdi. Det optimale må være, at du har en entydig betegnelse for udklippets start. Hvis du vil have andre værdier med, kan du blot lave flere bokse, der fortæller Start, Slutning m.v. af udklippet.

Jeg mener det er afgørende, at du kun har een værdi for hver parameter som angiver Start, højrerposition, venstreposition m.v.
Avatar billede mlhave Nybegynder
14. september 2003 - 19:55 #5
Lyder lidt kryptisk og det må kunne laves bedre.

Et udklip kan have flere placeringer...

Med tblPresseklip må man kunne finde en måde at oprette poster i en tilknyttet tabel tblPlacering ved hjælp af toggle buttons eller ligende der samtidig kan vise det pænt på en formular. Jeg har forsøgt mig med noget kode under de forskellige togglebuttons (AfterUpDate) "Hvis knappen trykkes ned så indsæt værdier i tblPlacering + hvis knappen trykkes op så slet værdien i tblPlacering hvor ....

men jeg er ikke god nok til at kode :o(

tblPresseKlip
  PresseKlipNr
  Resume
  Medie

tblPlacering
  PresseKlipNrRef
  Placering
Avatar billede mugs Novice
14. september 2003 - 20:04 #6
Det kan da sagtens laves på den måde du skitserer. Men jeg mener ikke det er godt nok. Du vil have flere værdier for klippets placering. Og så vidt jeg kan se af ovenstående vil du gemme disse værdier i feltet Placering. D.v.s. at du jo får flere værdier samlet i det samme felt. Det kan kun gå galt.

Desuden skal du overføre klippets ID (PresseklipNr?) til tabellen tblPlacering. Klippets placering er jo unik for klippet, idet der jo ikke kan være 2 klip med den samme placering i det samme medie. Derfor er det ikke nødvendigt med en tabel mere.

Jeg fastholder mit første forslag som det mest simple. Dette skal dog ikke tydes på den måde, at der ikke kan komme andre og bedre forslag.
Avatar billede nih Novice
14. september 2003 - 22:36 #7
Hvorfor laver du ikke en tabel med alle felter.
Det kan godt forsvares rent normaliseringsmæssigt, idet det bliver nemmere at søge i tabellen bagefter og medmindre du senere opfinder nye verdenshjørner er den rimelig nem at vedligeholde.

tblPlacering
  PresseKlipNrRef
  N
  NV
  NØ
  Ø
  V
  C
  SV
  S
  SØ

Niels
Avatar billede nih Novice
14. september 2003 - 22:37 #8
felterne skal selvfølgelig være boolean (ja/nej) og de kan direkte forbindes med toglebuttons på din form
Avatar billede brynil Nybegynder
14. september 2003 - 22:39 #9
Kunne man ikke benytte binære tal, altså 1, 2 ,4, 8 osv til at afgøre hvilke togglebuttons der er true. Så får man jo et enkelt tal der ikke modsvares af en anden kombination. Altså:

1  2  4
8  16  32
64 128 256

hvor 9 så er NV + V.

Hvis en af jer kan lave et loop af en art der løber gennem de 9 knapper, så vil jeg meget gerne se koden til det!
Hvis ideen da kan anvendes!!
Avatar billede nih Novice
14. september 2003 - 22:44 #10
Så skulle man i både former, rapporter og forespørgsler regne et binært tal om til en pladsering.
Måske jeg ville gerne se et eksempel - jeg er ikke skrap til at regne med binære tal
Avatar billede nih Novice
14. september 2003 - 22:52 #11
Det er vel egentligt det mit forslag går ud på:
0  0  1  0  0  1  0  0  0
Nø N  Nv Ø  C  V  Sø S  SV

de ni ja/nej felter representere hver en bit i et 9 cifret binært tal.

Niels
Avatar billede terry Ekspert
15. september 2003 - 09:01 #12
brynil>Your idea is EXACTLY what I would use :o)
Avatar billede terry Ekspert
15. september 2003 - 09:02 #13
This requires only ONE field in the table!
Avatar billede brynil Nybegynder
15. september 2003 - 12:53 #14
terry> ja, men jeg ku ikke få vba til at loope ToggleButton(n) som jeg kan i vb? Forsøgte med andre syntakser men fik det ikke til at virke. Men det må vel kunne gøres!
Avatar billede brynil Nybegynder
15. september 2003 - 17:59 #15
Kan du ikke anvende denne metode. Jeg har lagt 9 togglebuttons i et Frame1. Som Caption har de fået navnene du angiver N, NV, Ø osv.

Dim i As Integer
Dim x(1 To 9) As String
Dim Plac As String

For i = 1 To 9
    If Frame1("ToggleButton" & i).Value = True Then
        x(i) = Frame1("ToggleButton" & i).Caption
    End If
    Plac = Plac + x(i)
Next i
MsgBox (Plac)

Hvis du hellere vil bruge det binære tal så kan du anvende efterfølgende. Du skal dog huske at sætte hver buttons Tag værdi til det korrekte binære tal.

Dim i, x As Integer

For i = 1 To 9
    If Frame1("ToggleButton" & i).Value = True Then
        x = x + Frame1("ToggleButton" & i).Tag
    End If
Next i

MsgBox(x)
Avatar billede mlhave Nybegynder
15. september 2003 - 22:45 #16
Jeg vil meget gerne se eksempelet, da jeg ikke er verdensmester i at læse VBA...
Kunne du sende det til mlhave@mlh.dk?
Avatar billede mlhave Nybegynder
16. september 2003 - 16:08 #17
brynil> Hmmm, det virker tilsyneladende - hvordan får man det ned i tabellen?
...og husk at lægge et svar :o)
Avatar billede brynil Nybegynder
16. september 2003 - 17:53 #18
Det vil jeg tro afhænger meget af hvordan din database iøvrigt er bygget op og jeg er ikke ekspert på det område. Nedenstående linie kan indsætte værdien fra variablen Plac til Tabel1, Felt a i det eks du fik igår.
Erstat linien MsgBox(Plac) med nedenstående:

DoCmd.RunSQL "INSERT INTO Tabel1 (a) VALUES ('" & Plac & "')"

Du blir' bedt om at bekræfte at du ønsker at indsætte en ny record.
Avatar billede mugs Novice
16. september 2003 - 17:56 #19
Uden bekræftelse:

DoCmd.SetWarings False
DoCmd.RunSql ....
DoCmd.SetWarnings True

Husk at sætte Warnings True efter gennemløb af koden, ellers forbliver de frakoblede i hele applikationen.
Avatar billede brynil Nybegynder
16. september 2003 - 19:24 #20
mugs>> Øv, du vidste jo godt hvordan det sku gøres! Jeg brugte ½ time på at få den dér  & Plac & til at virke! ;-)
Avatar billede mugs Novice
16. september 2003 - 19:29 #21
brynil -> Ja, warnings true og False ved jeg. Men hvis du bemærker mit svar vil du se, at det går i en helt andern retning end dit. Derfor bakkede jeg ud af den egentlige besvarelse, da jeg følte, at spørgeren ville i din retning og ikke min.
Avatar billede brynil Nybegynder
16. september 2003 - 19:49 #22
mugs>> Det kan du måske ha ret i. Men jeg reagerede faktisk på spm om 1 værdi i et felt, som du selv nævnte. Og da jeg er mere til Excel end Access (som det måske ses ovenfor), så vil du nok være bedre til at komme med et integreret forslag. Der er jeg nemlig stået af! Jeg blev helt forskrækket da han bad om et ex og det viste sig jo også, at syntaksen var noget anderledes i Access end det vist ovenfor.
Avatar billede terry Ekspert
16. september 2003 - 19:52 #23
dont forget it is also necessary to SET the toggle buttons again :o)
Avatar billede mugs Novice
16. september 2003 - 19:52 #24
brynil -> Af samme grund blander jeg mig sjældent i Excel ;o)
Avatar billede terry Ekspert
16. september 2003 - 19:54 #25
I would also change
Plac = Plac + x(i)
to
Plac = Plac & x(i)
just to make sure that it deosnt get added but concat'ed
Avatar billede brynil Nybegynder
16. september 2003 - 20:09 #26
mugs>> Måske, men det synes jeg da er synd. Man kan godt se gode ideer og løsninger uden at være 'eksperten' på området. Og Access og Excel er jo lissom lidt i familie med hinanden.
På den anden side kan jeg også godt se problemet i at gud og hvermand kommer med forslag på hvilket som helst spørgsmål. (Gns antal indlæg pr spm = 100, gyys)
Avatar billede mugs Novice
16. september 2003 - 20:17 #27
brynil -> Access og Excel er meget i familie, og jeg bruger da også Excel en del i min dagligdag, men mest på den måde, at jeg eksporterer data fra Access til Excel. Grunden til dette er, at mange brugere opfatter Access som "abtrakt", idet man ikke kan se data som kolonner og rækker. Jeg "styrer" Excel fra Access v.h.a. VBA. Så kan brugerne arvejde med data i det program de ønsker.

M.h.t. indlæg pr. spørgsmål har du ganske ret. Men mange af svarene er da også af en dårlig kvalitet, idet mange ikke læser spørgsmålet først, men udelukkende svarer med "spredehagl" i håb om at score et par billige point. Det er synd for eksperten (og for spørgeren).

Hvis du lægger din e-mail, kan jeg sende dig et eksempel på integration Access -> Excel, som jeg ofte har brugt på eksperten.
Avatar billede brynil Nybegynder
16. september 2003 - 20:31 #28
mugs>> Den tror jeg ikke jeg har fået. Du har sendt dine iøvrigt ret gode eksempler for et godt stykke tid siden. Hvis det er ok skriver jeg direkte til dig? 
Jeg har faktisk længe gået og tænkt på at få sendt noget Excel arbejde til dig for kommentarer oa.
Avatar billede mugs Novice
16. september 2003 - 20:33 #29
mugs@mail.dk
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