Avatar billede jmarques Nybegynder
21. december 2011 - 14:38 Der er 30 kommentarer og
1 løsning

"alarm eller besked" når det bliver en bestemt dato

Hej alle,

Jeg har 2 opgaver jeg skal have løst, hvis det er muligt?

Opgave 1:

Jeg har brug for at få besked fra min access database, når jeg når til en bestemt dato. Jeg skriver selv datoen ind i formularen.

I beskeden skal stå kontaktpersonens fornavn og efternavn

Kan man det ?

Formularen hedder: Kontaktpersoner

Feltet i tabellen kontaktpersoner hedder: Barring udløber

Følgende er lavet til formålet:

- tekstboks med kort datoformat 
- indputmaske 99-99-00;0
- almindelig tekst

Felterne i samme formular til navne hedder: Fornavn, Efternavn

Opgave 2:

Når jeg har skrevet datoen ind i nævnte felt, vil der gå en bestemt periode før denne dato er nået.

Kan man få baggrundsfarven i feltet fornavn og efternavn til at skifte farve fra hvid til rød for eksempel.

Og tilbage til hvid igen efter datoen er overskredet?

Håber det giver mening ellers så spørg bare.

På forhånd tak for hjælpen.

Mvh
Joachim
Avatar billede mugs Novice
21. december 2011 - 14:53 #1
If date()= Me.dit datofelt then
msgbox Me.fornavn & " " & me.efternavn
end if

Indsæt koden i formularens Current
Avatar billede mugs Novice
21. december 2011 - 14:57 #2
2.
If date() = me.dit datofelt then
me.fornavn.backcolor = 255
me.efternavn.backcolor = 255
end if

If date() < me.dit datofelt then
me.fornavn.backcolor = 0
me.efternavn.backcolor = 0
end if

Jeg mener at hvis repræsenteres med tallet 0, ellers må vi lige eksperimentere med det.
Avatar billede jmarques Nybegynder
21. december 2011 - 15:08 #3
Opgave 1)

Indsæt koden i formularens current ?

Jeg gætter men er det i fanebladet Hændelser i Egenskabsarket ?:

- Hændelser
- Ved Indgang

Sorry men jeg er ikke helt 100 % sikker på hvad jeg laver.
Avatar billede mugs Novice
21. december 2011 - 15:27 #4
Hændelser og den heddermCurrent eller VedAktuel i danske versioner. Pas på, at det er selve formularen du har fat i, og ikke detaljesejtionen eller andre objekter
Avatar billede jmarques Nybegynder
21. december 2011 - 15:49 #5
Ok KANON - det lader til at virke. Dvs ingen fejlmeldinger. Så må vi se i nat om der kommer en besked boks op. Har lavet en test !

Opgave 2) skal den stå samme sted i forlængelse af opgave 1 ?
Avatar billede jmarques Nybegynder
21. december 2011 - 15:59 #6
Det virker !

Super ! Tusind tak for hjælpen. Jeg Googlede mig til farvekoderne. Det kom til at se således ud:

If date() = me.dit datofelt then
me.fornavn.backcolor = vbWhite
me.efternavn.backcolor = vbWhite
end if

If date() < me.dit datofelt then
me.fornavn.backcolor = vbRed
me.efternavn.backcolor = vbRed
end if

Mvh
Joachim
Avatar billede mugs Novice
21. december 2011 - 16:14 #7
me.dit datofelt > skal jo ændres til navnet på dit aktuelle datofelt.

vb-white o.s.v. kender jeg godt når du skriver det. Men 255 for f.eks. rød fungerer også.

Kan du ikke eksperimentere med at rette maskinens dato / tid for at teste det?

Fungerer det ikke vender du blot tilbage. Tak for point.
Avatar billede jmarques Nybegynder
21. december 2011 - 16:34 #8
Ja det er sandt det tog lige et par forsøg eller 5 for jeg fattede det.

Nu kan jeg ikke få baggrunds farven til at skifte væk fra rød hvis jeg fjerner datoen ?

Har leget lidt med farvekoderne - man skal ikke pille ved noget der virker !

Tanken var at baggrundsfarven kun skulle være rød sålænge datoen ikke er overskredet. Når den overskrides skulle den blive hvid igen.
Avatar billede jmarques Nybegynder
21. december 2011 - 16:42 #9
Og for resten jeg kan se at ud over at fastholde farven hvis jeg fjerner datoen så laver den baggrunden om på alle profiler.

Den skal kun gøre det på den specifikke profil.

De har et autonummererings nummer.

Kan man evt bruge det?
Avatar billede jmarques Nybegynder
21. december 2011 - 16:52 #10
Sorry om igen !

Koden ser nu således ud:

If date() = me.dit datofelt then
me.fornavn.backcolor = 255
me.efternavn.backcolor = 255
end if

If date() < me.dit datofelt then
me.fornavn.backcolor = 255
me.efternavn.backcolor = 255
end if

Det virker langt hen af vejen.

Hvis jeg taster en dato ind på en kontaktperson bliver baggrundsfarven rød. Jeg skal dog lige lukke formularen først og åbne den igen. Ikke noget problem.

Kun at alle kontaktpersoner nu er røde, det var ikke tanken. Kan det autogenererede nummer bruges i den forbindelse ? Så det kun er helt specifikt den kontaktperson/nummer der bliver rød ?

Fjerner jeg datoen igen, bliver baggrunden helt korrekt hvid igen, men på alle kontaktpersonerne. Jeg skal lukke formularen først og åbne den igen. Ikke noget problem.


Giver det mening?

Mvh
Joachim
Avatar billede mugs Novice
21. december 2011 - 17:29 #11
Jeg gætter så på, at du bruger en fortløbende formular, og så dur det ikke.

Du skal så ind i formularens egenskab "Betinget formatering" og opsætte nogle regler. Har lige afprøvet det i en anden db i 2010, og det fungerer fint.
Avatar billede jmarques Nybegynder
22. december 2011 - 10:36 #12
Ja det gør jeg tror jeg - hver gang jeg opretter en ny kontaktperson får denne automatisk et nyt nummer, det næste i rækken.

Hvor finder jeg "Betinget formatering" ?

Har ledt i formularens egenskabs ark men kan ikke rigtigt finde det ?
Avatar billede mugs Novice
22. december 2011 - 11:21 #13
En fortløbende formular er en ofrm, hvor du sr alle poster listet unden hinanden.

Betinget formatering har ikke noget med formularens egenskaber at gøre. Du skal finde det på en af værktøjslinierne øverst, men det er lidt afhængig af, hvilken version du bruger.
Jeg bruger 2010, og finder formateringen under formens designvisning under fanen format. Du skal sætte markøren i det felt du vil formatere.

Jeg er lige væk t par timer, men du vender bare tilbage.
Avatar billede jmarques Nybegynder
22. december 2011 - 11:47 #14
Jamen så er det ikke en fortløbende formular.

Den starter altid op på en ny tom side klar til en ny indtastning.

Jeg fandt betinget formatering men fik det ikke til at virke synes jeg.

Problemet er stadigvæk at alle for og efternavne har rød baggrund, når jeg har tastet en udløbsdato i feltet på en bestemt kontaktperson. Det forsvinder ligeledes på dem allesammen når jeg sletter datoen igen.

Betinget formatering har nogle betingelser den spørger om som jeg sikkert benytter forkert !
Avatar billede mugs Novice
22. december 2011 - 13:34 #15
Må jeg se din db. Komprimer den og send den som en .zip fil til:

mugs snabelting bbsyd.dk

så ser jeg på det senere.
Avatar billede jmarques Nybegynder
22. december 2011 - 15:14 #16
Det må jeg desværre ikke. De er strikse herinde med den slags. Det ville godt nok være det nemmeste, det kan jeg godt se.
Avatar billede mugs Novice
22. december 2011 - 15:28 #17
Hvis du kun kan se een post ad gangen, hvordan kan du så se at alle navne er farvede?

Hvoa er det ved betinget formatering du ikke kan få til at fungere?

Hvilken version bruger du?
Avatar billede jmarques Nybegynder
22. december 2011 - 15:38 #18
1) der er en lille pil nederst på siden i begge retninger:

Post: (pil venstre) - numre - (pil højre)
Håber det giver mening kan ikke illustrere det bedre.
Der er også en dobbeltpil til at hoppe helt hen til 1. post eller sidste post.

2) Skal jeg vælge ved fokus, større end, mindre end osv ?

3) Microsoft Office Access 2007
Avatar billede mugs Novice
22. december 2011 - 16:14 #19
1. Det er der også ved fortløbende formularer. Gå i designvisning og kontroller formens egenskaber i fanen formater. Hvad står der i Standardvisning.

2. Du skal jo måle på en dato i forhold til Date(). Så du skal jo have større end.
Avatar billede jmarques Nybegynder
22. december 2011 - 17:45 #20
1. Der står Enkel formular
2. Ok det prøver jeg lige.
Avatar billede jmarques Nybegynder
22. december 2011 - 17:57 #21
2. Nu virker det - men kun nede i datofeltet (det var ikke start planen men egentligt helt fint). Når jeg bladrer hen til andre kontaktpersoner er baggrunden i datofeltet hvidt som det skal være

Jeg skal måske have skrevet noget lignende der styrer baggrundsfarven i Fornavn og Efternavn i betinget format ?

Og evt derefter fjerne vba koden for for og efternavn ?
Avatar billede mugs Novice
22. december 2011 - 18:11 #22
Du bør fjerne VBA-koden når du ikke længere benytter den. Men start med først at gøre den til en kommentar. Det gør du ved at sætte en apostrof i starten af hver linie således:

' kode
' mere kode
osv

det gør, at linierne bliver sprunget over når kode eksekveres. Derefter afprøver du funktionen igen og fungerer det, sletter du koden.

Du skal oprette regler i betinget formatering for hvert felt der skal farves.
Avatar billede jmarques Nybegynder
22. december 2011 - 18:36 #23
Ok det prøver jeg.

Skal lige være sikker.

Reglen for fornavn vil se således ud: Fornavn()
Avatar billede mugs Novice
22. december 2011 - 18:47 #24
Der er jeg måske gået lidt galt i byen. Når du laver en regel for feltet fornavn, måler du jo kun på dette felt, og du bliver jo spurgt om, hvad feltværdien skal være = < eller >. Og så kan du jo ikke måle på datoen. Det skal jeg lige tænke over.
Avatar billede jmarques Nybegynder
22. december 2011 - 18:48 #25
Ok jeg er med på at jeg skal stå i feltet fornavn men ikke hvad reglen skal hedde ?

Har fjernet vba koden og har nu kun dato feltet. Det virker upåklageligt !
Avatar billede jmarques Nybegynder
22. december 2011 - 18:49 #26
Ellers er det fint som det er nu !
Avatar billede jmarques Nybegynder
22. december 2011 - 19:29 #27
Mugs jeg må på juleferie. Har fri nu - tak for hjælpen du har været en kæmpe hjælp !!

Jeg vender tilbage om 4 dage ca.
Avatar billede mugs Novice
22. december 2011 - 19:37 #28
Du vender bare tilbage.

God ferie og God Jul
Avatar billede jmarques Nybegynder
22. december 2011 - 19:41 #29
Tak og i lige måde !
Avatar billede jmarques Nybegynder
30. december 2011 - 11:46 #30
Hej Mugs - glædelig Jul !

Jeg tror at jeg beholder det som det er nu - hvor funktionen kun gælder i dato feltet.

Meen nyt spørgsmål :-)

Når nu datoen overskrides og baggrundsfarven skifter tilbage til hvid - kan man får feltet til at blive blankt igen dvs. at datoen man har tastet ind forsvinder igen ?

Som altid tak for hjælpen !!

Mvh
Joachim
Avatar billede jmarques Nybegynder
04. januar 2012 - 22:06 #31
Hej Mugs,

Hvis du har mulighed har jeg 2 ting mere:

- Når datoen overskrides og feltet bliver hvidt igen må datoen gerne forsvinde også.

- I datofeltet har jeg en inputmaske der ser således ud: 99\-99\-00;0. Kan jeg evt indsætte langt datoformat med klokkeslet, uden at det påvirker vba koden ? og meget gerne med en inputmaske.

På forhånd tak for hjælpen :-)

Joachim
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