Avatar billede spine Nybegynder
07. januar 2002 - 15:54 Der er 15 kommentarer og
1 løsning

tilsætte årstal på felt

hej jeg vil gerne lave et computed field, som henter en dato i formatet dd-mm i et andet felt og tilsætter det aktuelle årstal....men jeg får incorrect funktion ved (feltnavn+@year)hvad er den rette formel ??
På den måde kan man jo kunstigt gentage events og slippe for at kopiere hele gentagelsesfunktionen med i sin nye kalender.... grunden til denne løsning er at jeg ikke kan få en agent til at køre på tomorrow funktionen medmindre der er årstal med i datofeltet.
Avatar billede cdelicht Nybegynder
07. januar 2002 - 20:13 #1
Du skal blot sikre at begge felter er på dato-format. Du kan ikke addere et år med \'+\'. Datoer justeres med @adjust. Du skal være sikker på at den samlede tekststreng er en dato, f.eks. 01-12-02 eller 01-12-2001, derfor må du addere \"-\".

Prøv med: @Date(@Text(feltnavn)+\"-\"+ Text(@Year))
Avatar billede cdelicht Nybegynder
08. januar 2002 - 07:00 #2
Lige en rettelse ;-)
@TextToTime(@Text(feltnavn)+\"-\"+ Text(@Year))
Avatar billede spine Nybegynder
08. januar 2002 - 08:26 #3
hej cdelicht... jeg får left parenthesis expected på den formel, selvom det ser ud til at den hænger godt nok sammen.....
Avatar billede cdelicht Nybegynder
08. januar 2002 - 08:48 #4
Nå ja - klart! Jeg har været lidt hurtig. Hvilket år vil du have sat på: et fast årstal (f.eks. 2001) eller året ekstraktet fra et felt/en værdi (f.eks. @Year(feltnavn) eller @Year(@Now) ) Bemærk, at @Year er en funktion der kræver et argument.
Desuden havde jeg glemt et @ før det sidste Text.
Avatar billede cdelicht Nybegynder
08. januar 2002 - 08:52 #5
Forresten, er der allerede årstal inkluderet i det felt hvor du henter oprindeligt?
Avatar billede spine Nybegynder
08. januar 2002 - 08:56 #6
feltet hvor jeg henter datoen er et redigerbart felt i formatet date/time day&month (foedselsdag)altså eks.
08-01 og det skal så i et andet felt(foedselsdato) hvor der skal tilsættes årstal, så det computede felt altid vil indeholde den indtastede dato fra det redigerbare felt og så det aktuelle årstal, formålet er at kunne lave en agent som sender en mail til folk dagen før ansattes fødselsdage, som jo er på den samme dato hvert år....
Avatar billede cdelicht Nybegynder
08. januar 2002 - 09:11 #7
Nåe, så er det noget helt andet vi skal have fat i. Hvis dit oprindelige felt er et dato felt så indeholder det en år, måned, dato, timer, minuter, secunder, men viser kun det du ønsker - her: day&month.
Det smarteste (jeg kan komme på) vil være at tjekke for om foedselsdag er imorgen. Det gør du ved at tjekke at du er i samme måned som foedselsdag og at datoen i dag er dagen før foedselsdag:
@if(@Month(@Today)=@Month(foedselsdag) & @Day(foedselsdag)-@Day(@Today)= 1; <send mail> ; <DoNothing> )
Avatar billede cdelicht Nybegynder
08. januar 2002 - 09:15 #8
Put koden i en scheduleret agent der kører en gang i døgnet - tidligt om morgenen, ikke om aftenen! Ellers ser man først mailen næste dag ;-)
Avatar billede spine Nybegynder
08. januar 2002 - 10:07 #9
<send mail> ; <DoNothing> denne del kan den ikke lide inapropriate use of >
men bortset fra det er det jo klart en bedre løsning det kan jeg godt se.. :)
Avatar billede cdelicht Nybegynder
08. januar 2002 - 10:42 #10
Nåeee, det var bare eksempler :-) du må sætte din egen kode ind her.
<send mail> kunne være anvendelse af @MailSend funktinen og <DoNothing> ville typisk være \"\" (=Null). Men det er jo en helt anden historie ;-)
Avatar billede spine Nybegynder
08. januar 2002 - 15:30 #11
nå nu er løsningen vist tæt på, nu har jeg fået brygget flg kode, og den virker tilsyneladende men sender ikke nogen mail ,selvom jeg står i feltet SendTo
@If(@Month(@Today)=@Month(foedselsdag) & @Day(foedselsdag)-@Day(@Today)= 1; @MailSend (\"SendTo\";\"\";\"\";\"Fødselsdag\";\"\";\"\"); \"\" );SELECT @All
Avatar billede spine Nybegynder
08. januar 2002 - 16:35 #12
sagen er at jeg ikke kan få den til at benytte felterne til at finde modtagere af mailen og til subjectet, jeg vil eks. gerne have at subject i mailen bliver indholdet af feltet \"subject\" som indeholder oplysninger om hvem det er der har fødselsdag eks. jeg har fået den til at sende mig en mail ved at skrive mig selv på direkte i agenten men det er jo ikke optimalt....
Avatar billede spine Nybegynder
08. januar 2002 - 16:35 #13
med denne kode
@If(@Month(@Today)=@Month(foedselsdag) & @Day(foedselsdag)-@Day(@Today)= 1; @MailSend (\"Thomas Olesen/Hosen\";\"\";\"\";\"(subject)\";\"\";\"\"); \"\" );SELECT @All
Avatar billede cdelicht Nybegynder
09. januar 2002 - 08:17 #14
Følgende schedulerede agent undersøger om der skal sendes en mail med subjectet \'Tillykke med i morgen\' til de der har fødselsdag i morgen. Bemærk, kør agenten scheduleret daglig på alle dokumenter i databasen. Du kan evt. forfine kørslen ved at opstille et søge kriterie så kun en bestemt type dokumenter er omfattet.
Jeg forudsætter der er et felt, som hedder \'SendTo\' på din form.

@if(@Month(@Today)=@Month(foedselsdag) & @Day(foedselsdag)-@Day(@Today)= 1; @MailSend( SendTo ; \"\" ; \"\" ; \"Tillykke med i morgen\" ; \"Kære \"+@Name([CN];SendTo)+\".\"+@NewLine+@NewLine+\"Du ønskes tillykke med fødselsdagen i morgen.\" ; \"\") ; \"\" )

Hvis f.eks. Subject feltet skal indeholde en anden tekst kan du bare erstatte min tekst med navnet på et felt (men UDEN \" \" omkring).
Avatar billede spine Nybegynder
09. januar 2002 - 09:33 #15
jeg kan jo kun konstatere at det virker ;.)
lækkert og tak.
Avatar billede cdelicht Nybegynder
09. januar 2002 - 09:46 #16
Selv tak :-)
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
Computerworld tilbyder specialiserede kurser i database-management

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