Avatar billede jmarques Nybegynder
12. februar 2012 - 19:08 Der er 13 kommentarer og
2 løsninger

Alle nye poster i formular gemmes pga af "live" ur

Hej alle,

Det er lykkedes mig at få lavet et live ur i min access 2007 db formular. Super fedt for det har jeg manglet til at få lavet en deadline lignende funktion. Denne deadline (en dato og et klokkeslet) indtaster jeg manuelt i en tom tekstboks konstrueret til formålet (med inputmaske og det hele ...:-)

Når ("live uret") klokken slår den dato og tid jeg har indtastet, er det meningen at feltet skal blive tomt igen automatisk (er ikke nået dertil i nu i vba kodningen). Når mine kollegaer slår en kunde op og ser at tekstboksen med deadlinen er blank kan de frit kontakte kunden.

Hvad jeg ikke lige havde overvejet var at access gemmer alle nye poster i formularer, hvis der er indtastet noget i en af tekstboksene. Eftersom uret er "live" og lavet i en tekstboks - JA så gemmes nu alle nye poster som der åbnes i uanset om jeg skal bruge dem eller ej (vi taler om en kunde database hvor jeg har en del opslag på en dag).

Håber at det giver mening foreløbigt.

Spørgsmål:

Kan jeg flytte "live uret" ud på forsiden af min DB og stadigvæk konstruere en vba kode herfra og ind til formularens deadline tekstboks ?

Forside formularen hedder: Oversigt
Kunde formularen hedder: Kontaktpersoner
Kunde formularens deadline tekstboks hedder: Deadline
"Live uret"s tekstboks hedder: Klokken

Jeg er helt blank vedr. vba kodning så jeg håber at i vil bære over med mig. Jeg skal have det skæret ud i pap hvis det er muligt.

Vba koder der er brugt til live uret i formularen kontaktpersoner ser således ud:

Private Sub Form_Current()
    Me.TimerInterval = 1000
End Sub


Private Sub Form_Timer()
' en tekstboks ved navn KLOKKEN bliver opdateret hver sekund
Me.Klokken = Now()
End Sub

Sig til hvis der skal bruges flere oplysninger eller hvis det er totalt volapyk.

På forhånd tak for hjælpen !

Mvh
Joachim
Avatar billede Slettet bruger
12. februar 2012 - 19:26 #1
Private Sub Form_Timer()
' en tekstboks ved navn KLOKKEN bliver opdateret hver sekund
Me.Klokken = Now()
if me.klokken = form_kontaktpersoner.deadline then
form_kontaktpersoner.deadline = null
end if
End Sub
Avatar billede terry Ekspert
12. februar 2012 - 19:28 #2
I think your approach is rather complicated.

In your previosu question I've placed a comment which should "Empty" all contactes where deadline is reached, not just the one which you are looking at. Reason for this is, if you dont open a contact then it wil not get updated. Doing ity for all makes sure they all get updated.
Avatar billede jmarques Nybegynder
12. februar 2012 - 19:40 #3
Hey Terry you are right I have confused myself completely !! I will have to look at it all Tuesday when I am back.
Avatar billede jmarques Nybegynder
12. februar 2012 - 19:42 #4
Hej spg hurtigt svar på et laaangt spørgsmål. Det ser enkelt ud. Jeg prøver.

Som du kan se ovenover har jeg bokset med dette i en anden tråd og næsten været ved at give op.
Avatar billede Slettet bruger
12. februar 2012 - 19:45 #5
!~)
Avatar billede jmarques Nybegynder
12. februar 2012 - 22:09 #6
Jeg tror jeg er nødt til at gennemtænke en anden løsning. Uanset hvor jeg placerer live uret gør det db meget langsom at arbejde med.

Desuden har terry ret i at tilgangen er for kompliceret. Jeg har vist også forvirret mig selv godt og grundigt.

Tusind tak for hjælpen og tålmodighed !!

I får halvdelen hver - håber at det er ok.

Mvh
Joachim
Avatar billede Slettet bruger
12. februar 2012 - 22:29 #7
Du kunne fjerne sekunderne (format) og vise hele minutter, så kan du sætte timeren til 60000..
Avatar billede Slettet bruger
12. februar 2012 - 22:30 #8
Takker for points!~)
Avatar billede terry Ekspert
13. februar 2012 - 18:42 #9
Thanks for the points here too.
Avatar billede jmarques Nybegynder
15. februar 2012 - 23:49 #10
Hej igen,

Jeg ved ikke om i får dette indlæg nu hvor points er uddelt. Det virker delvist men et langt skridt er trods alt taget, så det er super fedt.

Selvom den er sat til at opdatere hvert sekund så sløver den tilsyneladende næsten ikke idag. Lidt underligt for sidst kunne jeg slet ikke skrive i formularen. Det går uden problemer nu !!

Deadline feltet bliver blank lige på slaget så det er perfekt.

2 eneste problemer er nu:

- Den tilføjer og gemmer stadigvæk en ny post hver gang jeg åbner formularen ?

- Deadline funktionen fungerer kun hvis formularen er åben og jeg er inde på den pågældende post.

Hvis formuleran er åben men jeg er inde på en anden post og arbejde, sletter den ikke deadlinen. Heller ikke når jeg bladrer tilbage til den post der har haft deadline udløb. Så står den der stadigvæk.

Hvis formularen er lukket (men db er åben dog kun på forsiden) så sletter den ikke deadlinen. 

Er det overhovedet muligt at gøre noget ved de 2 ting? Optimalt ville være hvis db kunne køre i en eller anden form selvom den ikke er åben men den kan jeg godt regne ud ikke går.

Næstbedst ville være hvis den kunne køre (fjerne de deadlines der udløber hvis de er overskredet eller hvis de overskrides mens man er på forsiden.
Avatar billede jmarques Nybegynder
15. februar 2012 - 23:58 #11
Fik postet ved et uheld før gennemlæsning sorry!

"Er det overhovedet muligt at gøre noget ved de 2 ting? Optimalt ville være hvis db kunne køre i en eller anden form selvom den ikke er åben men den kan jeg godt regne ud ikke går"

- Her mener jeg selvfølgelig ikke at db skal køre mens den er lukket :-) men at deadline funktionen på en eller anden måde kører i "baggrunden".

"Næstbedst ville være hvis den kunne køre (fjerne de deadlines der udløber hvis de er overskredet eller hvis de overskrides mens man er på forsiden"

- Her mener jeg at db er åben men åben på forsiden (ingen formularer er åben). Om muligt herfra at køre og fjerne de deadlines der er overskredet mens db har været lukket samt fjerne de der måtte komme mens den er åben.

Kan godt høre at det er røv besværligt. Overvejer stadigvæk at finde en helt alternativ model.

Ville egentlig også bare takke en extra gang og fortælle at det faktisk virker i princippet.

Tak for hjælpen mange gange.

Mvh
Joachim
Avatar billede terry Ekspert
16. februar 2012 - 20:59 #12
If the dB isnt running then you can obviously not run your deadline function.

If the dB is open then by using an event in a form then you can run your deadline function.

You can also start the db by using the scheduler system in Windows.

"Her mener jeg at db er åben men åben på forsiden (ingen formularer er åben). .."

I see no reason why you would want to have access open without at least one form.

"Overvejer stadigvæk at finde en helt alternativ model."

Good idea :o)


You should start by writing down your requiremenets and then make the system to satisfy them.
Avatar billede jmarques Nybegynder
16. februar 2012 - 21:15 #13
You should start by writing down your requiremenets and then make the system to satisfy them.

Its not my system to begin with. I was given the task of "meintenance" of an existing db. But it is so very true what you say. You should see what I am up against !!

I see no reason why you would want to have access open without at least one form.

No maybe you dont but I do because of how we work here and again how this dinosaur of a db if build up :-)

We often work more than 1 person at the same time in the db from differen pc´s. To make sure nobody writes in another guys post/kontaktperson profile you always leave the db at the frontpage when your done. As with this problem there is obviously a smarter way to go about this but this is what we have to work with for now.
Avatar billede terry Ekspert
17. februar 2012 - 10:09 #14
I can imagine the challanges.

Have a good weekend
Avatar billede jmarques Nybegynder
17. februar 2012 - 22:17 #15
Thanks you too :-)
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