[ miomirm @ 03.10.2010. 10:02 ] @
U radno vreme mail treba otici na jednu adresu, a van toga na drugu.

Probao sam :
Code:
 
 a=Time()
 If Me!Text38 = "ElitS" And a >#8:00:00 AM# & <#4:00:00 PM#) Then       '
 strEmailAddress = "Elits"                    ' u radno vreme


Ni ovo ne radi:
Code:

b = (between&(#8:00:00 AM# & #4:00:00 PM#))

Znaci kad se posalje mail, prvo treba da procita sistemsko vrema, pa ako je radno da ga posalje
na jednu adresu, a ako je van radnog vremena na drugu. Naknadno ulazi i problem subote i nedelje.

Pozdrav,
[ Zoran.Eremija @ 03.10.2010. 16:38 ] @
Nakacite primer da bi videli o cemu se radi...
[ SLOJ.1973 @ 03.10.2010. 20:52 ] @
Greška je u kodu:Potrebno je još jedno a ispred znaka < i otvorena zagrada ispred prvog a.Ovako nekako:
Code:
 a=Time()
 If Me!Text38 = "ElitS" And (a >#8:00:00 AM# & a <#4:00:00 PM#) Then       '
 strEmailAddress = "Elits"                    ' u radno vreme
[ miomirm @ 04.10.2010. 19:22 ] @
Hvala na odgovoru,
ali ne radi kako treba.

Kod ide ovako:
Code:

 a=Time()
 If Me!Text38 = "ELITS" And (a > #8:00:00 AM# & a < #4:00:00 PM#) Then 
  strEmailAddress = "pero@com"
 ElseIf Me!Text38 = "ELITS" And (a > #8:00:00 AM# & a < #4:00:00 PM#) Then 
  strEmailAddress = "MIRA@com"
 Elseif ..........



Znaci, trebalo bi da od 8-16 casova mail posalje na pero@com.
Ovaj kod i posle toga salje mail na istu adresu. Verovatno sama postavka >8:00 uzima sve posle 8 casova,
a druga <4:00 sve pre 16 casova, znaci opet uzima ceo dan tj. svih 24 casa.

Ne mogu da nadjem neki kod koji bi definirao radno vreme :
Code:

a = (between&(#8:00:00 AM# & #4:00:00 PM#))


tad bi bilo lako odrediti kad sta da posalje.

Pozdrav
[ smal @ 04.10.2010. 19:37 ] @
Mož' nešto u stilu:
Code:
If Format(Time, "hhmmss") < 80000 Or Format(Time, "hhmmss") > 160000 Then
...
If Format(Date, "dddd") <> "Nedelja" Or Format(Date, "dddd") <> "Subota" Then 
'(za srpska reg setovanja)
[ Zidar @ 04.10.2010. 20:39 ] @
Zar nikome ne izgleda cudno da je umesto AND upotrebljen operator &?

Probao sam ovo u debug prozoru i tacno radi kako je ocekivano:
Code:

a = #3:31:27 PM#
? iif(a > #8:00:00 AM# AND a < #4:00:00 PM# ,"pero","Mira")
pero

a = #3:31:27 AM#
? iif(a > #8:00:00 AM# AND a < #4:00:00 PM# ,"pero","Mira")
Mira

a = #3:31:27 AM#
? iif(a > #8:00:00 AM# & a < #4:00:00 PM# ,"pero","Mira")
pero


Prvi primer j vreme u 15:31 => pero, kao sto treba

Drugi primer je 3:31, 3:31 posle ponoci, ujutru, AM i naravno, => mira

Treci primer ima gresku, umesto AND u usovu je upotrebljen & i naravno se dobije greska.




[ miomirm @ 04.10.2010. 20:49 ] @
Hvala Vam na podrsci.

Evo kako je proradilo:
Code:

a = Format(Now, " hhmmss ")                              ' daje neki broj od 000000-240000
b = Format(TIME, "hhmmss") < 80000 
c = Format(TIME, "hhmmss") > 160000

 If Me!Text38 = "ELIT" And a = b Or c Then 
 strEmailAddress = "Pero@com"
 Else
 strEmailAddress = "Mira@com"


Hvala Vam jos jednom, ako neko zeli postavicu ceo kod slanja maila preko outlooka na vise adresa, sa opcijom radno ili neradno vreme,
makar mislim da sam negde vec video na forumu.
[ SLOJ.1973 @ 04.10.2010. 20:58 ] @
Zidar je odradio kako treba.A ja došao na zamisao da odradiš tabelu sa dva polja tipa Date/Time i u Format staviš LongTime.Zatim ukucaš u prvo polje (kod mene pole a) početno vreme,a u drugo (polje b) krajnje vreme.Zatim napraviš upit koji će upotrebiti tu tabelu i u koji ćeš dodati još dva polja:kod mene polje c koje će imati vrednost Time().Sledeće polje je polje provera i u njega ubaciš sledeći kod:
Code:
IIf([c] Between [a] And [b];1;2)
.I to je to.Na formi dodaš polje text koje ima vrednost provera iz gore odrađenog upita i kada okineš komandno dugme, koje ima sledeći kod:
Code:
Private Sub Command6_Click()
If Me.Text0 = "ElitS" And Me.Text4 = 1 Then
MsgBox "Šalje na [email protected]"
ElseIf Me.Text0 = "ElitS" And Me.Text4 = 2 Then
MsgBox "Šalje na [email protected]"
End If
End Sub
sve radi kako treba.Pozdrav.
Dole je primer.
[ miomirm @ 04.10.2010. 20:58 ] @
Zidar,

Tek sam sad video tvoj odgovor sto je verovatno i najbolja varijanta.

Pozrav
[ miomirm @ 04.10.2010. 21:04 ] @
Sloj.1973,

I ovo je dobro, samo je komplikovanije od prethodnih resenja.
Znaci dodavnje novih polja na formi itd.
Prethodna resenja su izvucena iz vec postojeceg sistemskog vremena,
tako da mi izgleda dosta jednostavnije.

Jos jednom hvala svima na jakoj podrsi.

Pozdrav
[ miomirm @ 04.10.2010. 21:25 ] @
sloj 1973,

Tvoju ideju sa tabelom bih mogao da iskoristim
da u nju unesem-izdefiniram praznicne datume u
toku ove godine pa ako se danasnji dan poklopi sa
praznicnim da da broj 1, ako ne 2.

Pozdrav
[ Zidar @ 05.10.2010. 14:38 ] @
Citat:
Zidar je odradio kako treba.A ja došao na zamisao da odradiš tabelu sa dva polja tipa Date/Time i u Format staviš LongTime.Zatim ukucaš u prvo polje (kod mene pole a) početno vreme,a u drugo (polje b) krajnje vreme.Zatim napraviš upit koji će upotrebiti tu tabelu i u koji ćeš dodati još dva polja:kod mene polje c koje će imati vrednost Time().Sledeće polje je polje provera i u njega ubaciš sledeći kod:

Ovo sto Sloj.1973 predlaze u stavri je parvo resenje. Ja sam samo nasao gresku u sintaksi, koja se moze napraviti bilo kada i onemoguciti bilo kakvo resenje. Ako dobro razumem, sloj.1973 bi napravio konfiguracionu tabelu gde bi svaki red predstavljao neki interval u toku dana. Ovim se dobija da moze biti vise intervala u toku dana, na priemr tri smene, ili sta god hocete. Svakom intervalu se dodeli e-mail na koji se salje poruka, ako vreme slanja pada u taj interval. Onda e0mail procedura jednostavno pronadje interval u koji pada trenutno vreme i posalje poruuku na odgovarajuci e-mail.

Dobro razmisljanje

Resenej se moze generalizovati dalje, pa se umesto 'vremena' upotrebe celi datumi, sa ili bez vremenskogdela, sto moze biti korisno za mnoge druge primene. Na primer, neka akcija se odvija razlicito u leto i u jesenm, ili u nekom speiajlnom vremenskom periodu ...