Avatar billede boenne Nybegynder
28. oktober 2004 - 23:17 Der er 40 kommentarer og
1 løsning

Vise dag ud fra dato

Hej :/

Jeg har et tillægsspørgsmål med reference til http://exp.dk/spm/555296
Denne knap bruger ved klik nedenstående kode: (og virker upåklageligt :) )

Private Sub Kommandoknap20_Click()
DoCmd.GoToRecord acForm, "Timeplan Forespørgsel", acNewRec
Me.Dato = DMax("[dato]", "Timeplan") + 1
End Sub

I samme tabel (som bliver vist i formen) har jeg et felt der hedder "dag".
Kan man lave det sådan at feltet dag samtidig bliver opdateret med navnet på ugedagen for den pågældende dato?
Avatar billede jkrons Professor
28. oktober 2004 - 23:22 #1
Du kan lade feltet have datoen stående, og så formatere det som dddd
Avatar billede boenne Nybegynder
28. oktober 2004 - 23:24 #2
Jeg er ikke så stiv i access :) men når du siger formatere det, mener
du så selve formatet for feltet til indtastning?
Avatar billede boenne Nybegynder
28. oktober 2004 - 23:25 #3
Hvordan får jeg så datoen over i feltet dag?
Avatar billede jkrons Professor
28. oktober 2004 - 23:30 #4
Den nemmeste måde er nok at lave noget kode i din formular. Fx på feltet, hvor du taster datoen, kan du indsætte denne kode

Private Sub dag_LostFocus()
Me!ugedag = Format(Me!dag, "dddd")
End Sub

hvor dag er det felt, hvor du taster datoen, og ugedag er det felt, hvor du vil have ugedagen stående. Dag skal være defineret som et datofelt, men ugedag som et tekstfelt.
Avatar billede boenne Nybegynder
28. oktober 2004 - 23:36 #5
Jeg tror vi snakker lidt forbi hinanden - eller også har jeg udtrykt mig forkert

Det der skal ske er at jeg ved klik på en knap får indsat datoen i et felt der hedder "Dato", samtidig skal datoen fra feltet "Dato" kopieres over i feltet "dag" - feltet dag viser ugedagen for den aktuelle dato..
Avatar billede jkrons Professor
28. oktober 2004 - 23:43 #6
OK. Når du klikker på knappen indsættes datoen i feltet Dato:

Prøv efter linien

Me.Dato = DMax("[dato]", "Timeplan") + 1

at indsætte

Me!Dag = Format(Me!dato, "dddd")
Avatar billede jkrons Professor
28. oktober 2004 - 23:45 #7
Alternativ kan du lade knappen indsætte datoen i begge felter og så formatere det ene felt som dddd.
Avatar billede boenne Nybegynder
28. oktober 2004 - 23:49 #8
ok - linien virker - delvist..
Tabellen bliver opdateret med henholdsvis dag og dato, men i feltet
"dag" i formen viser ikke dagen..
Avatar billede jkrons Professor
28. oktober 2004 - 23:53 #9
Hvis du bladrer væk fra posten, og tilbage igen, vises dagen så?
Avatar billede boenne Nybegynder
28. oktober 2004 - 23:54 #10
nej
Avatar billede jkrons Professor
28. oktober 2004 - 23:55 #11
Det lyder mystisk. Er feltet Dag i formularen bundet til feltet Dag i tabellen?
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:00 #12
Ja, som kontrolelement er feltet dag..
Avatar billede jkrons Professor
29. oktober 2004 - 00:03 #13
Det lyder ret underligt, at hvis de felter er bundet sammen, og feltet i tabellen har et indhold, at feltet i formularen så er tomt.

Hvordan er de to felter defineret (datatype og format)?
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:07 #14
dag er defineret som tekst, - intet format
dato er defineret som "dato og klokkeslet", og format - Mellemlangt datoformat
Avatar billede jkrons Professor
29. oktober 2004 - 00:08 #15
Er dag defineret som tekst i både tabel og formular?
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:12 #16
I formularen findes der for feltet "dag" ikke noget om format som der f.eks. gør i feltet Dato.. i Dato er formatet det samme som i tabellen
Avatar billede jkrons Professor
29. oktober 2004 - 00:14 #17
Hvordan er feltet Dag oprettet i formularen? Det lyder som om det er her, der er noget galt.

Prøv evt. at slette feltet i formularen og indsætte det igen fra feltlisten.
Avatar billede mugs Novice
29. oktober 2004 - 00:15 #18
Afprøvet og fungerer:

DoCmd.GoToRecord acForm, "form1", acNewRec
Me.dato = DMax("[dato]", "tabel1") + 1
Me!dag = Format(Me!dato, "dddd")
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:15 #19
Jeg prøver lige at slette og sætte ind igen..
Avatar billede jkrons Professor
29. oktober 2004 - 00:17 #20
mugs-> Det virker også hos mig :-)
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:20 #21
mugs> jkrons sagde det samme, med præcis samme kode - Jeg forstår bare ikke hvorfor at den så ikke viser det i feltet dag, når det kommer med i tabellen .. nåede ikke at slette :) gør det nu..
Avatar billede mugs Novice
29. oktober 2004 - 00:22 #22
boenne > koden er afprøvet i samme trestdb, jeg brugte i dit forrige spørgsmål. Hvis du lægger din e-mail, kan jeg sende den.
Avatar billede mugs Novice
29. oktober 2004 - 00:24 #23
Noget helt andet er jo, at det slet ikke er nødvendigt at have det i tabellen. Når du har datoen vil det jo give redundante data, at have det samme felt 2 gange.

Det må kunne laves i en forespørgsel som et udtryk, der genberegnes hvis dato skifter værdi.
Avatar billede jkrons Professor
29. oktober 2004 - 00:27 #24
mugs-> Det var også min oprindelige tanke, men der må jo være en grund til at det skal registreres to gange.
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:28 #25
bjorn@skoledesign.dk

Jeg har oprettet det nye felt, som et bundet objekt, dog er jeg nu i tvivl om at indstillingerne for felterne er rigtige..
Avatar billede jkrons Professor
29. oktober 2004 - 00:30 #26
Hvis du trækker feltet fra feltlisten i designvisning skulle det gerne nedarbe alle egenskaberne fra det samme felt i din tabel.
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:35 #27
OK.. nu skete der noget den viser noget i feltet, men først når man går tilbage i posterne og frem igen.. den skal jo helst vise det med det samme
Avatar billede jkrons Professor
29. oktober 2004 - 00:37 #28
Så indsæt en linie med Refresh.
Avatar billede jkrons Professor
29. oktober 2004 - 00:38 #29
Eller måske bedre Requery, altså slut din kode med

Me.Requery
Avatar billede mugs Novice
29. oktober 2004 - 00:41 #30
2 eksempler sendt.

Hvis der benyttes Requery vil formularen jo genforespørge, og stille sig på den første post regnet efter tabellen.

Spørgsmålet er, om en Refresh er nok, idet den jo ikke tilføjer nye poster men udelukkende opdaterer eksisterende poster.
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:41 #31
JUHUUU det virker..
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:42 #32
tjekker lige om refresh tilføjer nye poster..
Avatar billede mugs Novice
29. oktober 2004 - 00:42 #33
Fedt, hvad var fejlen?
Avatar billede jkrons Professor
29. oktober 2004 - 00:42 #34
Godt :-)

Nu tror jeg også at det er ved ar være sengetid. Der er en arbejdsdag forude.
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:44 #35
Det ser ud som om at refresh smider det over som det skal :)
og det virker også i formen.. det gjorde Requery ikke..

Tak for de 2 eksempler
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:45 #36
hov jkrons - du har ikke lagt et svar :) vil også gerne give dig points
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:51 #37
Jkrons> Tak for hjælpen i hvertfald :) sov godt. Hvis du vil, kan jeg hvis du svarer senere give dig points.
Mugs> tak for dit store arbejde også, jeg vil kigge lidt på eksemplerne
du har sendt :) points til dig
Avatar billede mugs Novice
29. oktober 2004 - 00:53 #38
boenne > du skal så vidt det er muligt altid prøve at beregne dine data, så du ikke får redundante data i tabellen.

Når du har en dato kan du altid "brygge" videre på den ved at benytte udtryk i dine forespørgsler. Rent teknisk er det den korrekte måde at gøre det på.
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:55 #39
mugs> Jeg ved i øvrigt ikke hvad fejlen helt præcist var. Jeg tog et eksisterende felt fra formen med ref til tabellen, kopierede feltet og omdøbte det til navnet svarende til tabellen..
Requery stillede sig som du sagde i første felt.. så den duede ikke,
der i mod med refresh, blev det hele sat ind i tabel og i form :)
Avatar billede mugs Novice
29. oktober 2004 - 00:57 #40
Når bare skidtet funger, så er ale vel glade. Godnat og tak for point.

http://www.eksperten.dk/spm/555688
Avatar billede boenne Nybegynder
29. oktober 2004 - 00:58 #41
Tak for råd og vejledning :)
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