Avatar billede juks Novice
27. maj 2004 - 13:43 Der er 17 kommentarer og
2 løsninger

gem post

hej ..
jeg ved godt man ikke behøver at gemme  når laver poster ændringer etc. men nogle bruger er forelsket i deres gem knap derfor har jeg lavet en autokey der gemmer ved ctrl + s eller ved tryk på formularen...

men den kode jeg kalder ser sådan her ud ...........
--------------
On Error GoTo er
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
MsgBox "Posten er gemt"
er:
If err.Number Then
MsgBox "Posten er gemt"
Else
End If
-----------------

hvordan får jeg den til at sætte fokus på felt1 eller på anden måde vise at posten er gemt så man kan fjerne msgboxen da det jo er u smart at have sådan en  hvergang ...

det skal virke globalt da jeg styre alle keys via et modul
27. maj 2004 - 13:45 #1
du kan bruge denne kode i stedet:

Docmd.Runcommand accmdsaverecord
Me!Felt1.Setfocus
Avatar billede mugs Novice
27. maj 2004 - 13:45 #2
Sæt en etiket i stedet med egenskaben synlig sat til nej:

On Error GoTo er
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Me.etiket1,visible )= True
er:
If err.Number Then
MsgBox "Posten er gemt"
Else
End If

Og lad så en timer styre hvornår den skal være usunlig
27. maj 2004 - 13:45 #3
hvis du har recordselector på (postvælger), så kan brugeren jo se om blyanten er der eller ej...
Avatar billede jensen363 Forsker
27. maj 2004 - 13:46 #4
felt1.SetFocus ?
Avatar billede juks Novice
27. maj 2004 - 13:54 #5
ja hælder også lidt til at have et " kommunikations " felt ..
eller måske bruge titlen på formularen til det ..
kunne man ikke fx lave en funktion der sætter titlen til
title + "-Posten er gemt"
og lave en funktion der kig ind og lavet den tilbage til kun title så snart de gik igang med at skriv igen
Avatar billede mugs Novice
27. maj 2004 - 13:57 #6
Etiketten der angiver teksten i din formularfod, kan du styre ved.
Me.etiket1.Caption = "Din tekst"
Avatar billede juks Novice
27. maj 2004 - 13:59 #7
ja i behøver ikke give flere svar lige nu overvejer lige hvad jeg skal
27. maj 2004 - 13:59 #8
ok, men glemmer i ikke at tænke på hvordan dette kommunikationsfelt bliver slukket/tændt?

Når man ankommer til posten, er den jo ikke i redigeringsmode....
27. maj 2004 - 14:00 #9
btw: shift+Enter gemmer også (i stedet for ctrl+s)
27. maj 2004 - 14:03 #10
(jeg ved godt, at du sagde, at du ikke ville have flere indlæg, meeeen.....)

Jeg tidligere haft succes med at lægge timer på 1-2 sekunder, hvor man checkede om Me.Dirty = true. Hvis det er tilfældet sættes min GemKnap.Enabled = True (ellers false)
Avatar billede juks Novice
27. maj 2004 - 14:04 #11
jo det er også det der er mit problem lige pt..
tænker lidt om man kunne skrive lidt på så den oprettet en timer funktion der kaldte et nyt modul der så resatte både feltet og timeren ..
men man kan nok ikke resette en funktion man er i gang med at køre


koden jeg arbejder på er her...

On Error GoTo er
Dim tit, besked As String
tit = Screen.ActiveForm.Caption
besked = " Posten er gemt"

DoCmd.RunCommand acCmdSaveRecord
Screen.ActiveForm.Caption = besked
'MsgBox "Posten er gemt"
er:
If err.Number Then
Screen.ActiveForm.Caption = besked

Else
End If
Avatar billede juks Novice
27. maj 2004 - 14:08 #12
hvor meget tungere bliver programet så hvis timeren køre hvert 1-2 sek.
27. maj 2004 - 14:09 #13
ikke meget....
det er jo en meget simpel kommando (If me.Dirty then...)
Avatar billede juks Novice
27. maj 2004 - 14:11 #14
hvad er det lige dirty er til ??
27. maj 2004 - 14:13 #15
I forlængelse af Microsofts navnepolitik, som vi snakkede om i går (Kill, Flush m.m.) så har de fundet ud af, at en record er Dirty, når en bruger er i gang med at redigere i den :o)
Avatar billede juks Novice
27. maj 2004 - 14:14 #16
man kunne jo også bare lader timeren nulstille felt / titel efter fx 6 sek
27. maj 2004 - 14:16 #17
hmm, det giver vist nogle andre problemer...!
Avatar billede juks Novice
27. maj 2004 - 14:22 #18
man evt pause den koden også lave en tekst der skriver gemme post... også posten gemt og så tilbage til titel
Avatar billede juks Novice
01. juni 2004 - 23:48 #19
tak for hjælpen lukke spg min løsning var..


On Error GoTo er
Dim tit, besked1, besked2 As String
tit = Screen.ActiveForm.Caption
besked1 = " Posten gemmes...."
besked2 = " Posten er gemt"
DoCmd.Hourglass True
Screen.ActiveForm.Caption = besked1
Sleep 1500
DoCmd.RunCommand acCmdSaveRecord

Screen.ActiveForm.Caption = besked2
Sleep 500
Screen.ActiveForm.Caption = tit


'MsgBox "Posten er gemt"
er:
If err.Number Then
Screen.ActiveForm.Caption = besked2
Sleep 500
Screen.ActiveForm.Caption = tit
DoCmd.Hourglass False

Else
End If
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