access stored date/time field failed

Hi,
I am using R5 and I have a field of date/time type.
after that want to retrieve the month and year value from that field
I use
@month(field1) + @year(field1) but it failed
but when i try @month(@Now)) then is is okay
so i guess it is stored as a string.

I searched the help in R5 and it says CDat can be used
to convert String to Date but turns out R5 says it is invalid.

damoncwkAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
ZvonkoConnect With a Mentor Systems architectCommented:
Here my tested code:

FIELD field1:=@Now;
@Text(field1;"D3S0")

0
 
HemanthaKumarCommented:
Try @TextToTime

~Hemanth
0
 
madheeswarCommented:
cdat should be used in lotus script

use @Month(@TextToTime(field1))+@Year(@textToTime(field1))
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
madheeswarCommented:
1 minute difference hemantha.
Still ur awake? By this time u should be finishing ur dinner and sleeping.

Take good rest.

~madheeswar
0
 
HemanthaKumarCommented:
Just waiting for you to grab these questions ;-)

Just Kidding.. Got some new updates going tonight...
0
 
madheeswarCommented:
OK. I want to grab all the questoins which I am able to answer.Since my knowledge is limited.

have a good sleep.

Bye,
madheeswar
0
 
HemanthaKumarCommented:
Good spirit... keep it up.
0
 
ZvonkoSystems architectCommented:
Check this:

FIELD field1:=field1;
@Text(field1;"D3S0")



0
 
madheeswarCommented:
Zvonko,
he needs Month and year.

taking permission from Zvonko,
FIELD field1:=field1;
res:=@Text(field1;"D3S0");
@Month(res)+@Year(res)
If I am not wrong, u want to concatenate both month and year of field1.

So, i propose,

FIELD field1:=field1;
res:=@Text(field1;"D3S0");
@text(@Month(res))+@text(@Year(res))


0
 
damoncwkAuthor Commented:
Hi,
After I use
@Month(@TextToTime(field1))+@Year(@textToTime(field1))
it returns -2

somehow i found out that TextToTime(field1) returns null.

However if I only use field1 then the date/time value is shown correctly.
0
 
madheeswarCommented:
FIELD field1:=field1;
@Month(@TextToTime(field1))+@Year(@textToTime(field1))

What u want?
0
 
damoncwkAuthor Commented:
FIELD field1:=field1;
@Month(@TextToTime(field1))+@Year(@textToTime(field1))

i tried the above
but it turns out TextToTime returns null
and actually the value of field1 is set to @Now

0
 
madheeswarCommented:
where u are displaying this end result?

And refresh the document.

and also since ur using @Now in field1, then why can't u implement it directly instead of field1?

and create any date field and give the date and refresh insead of having field1 in the formula.
0
 
damoncwkAuthor Commented:
in a form I have the field1 which stores @Now that the user fills in the form
then in a View I create a column which have formula of
@Month(@TextToTime(field1))
however it returns nothing for @TextToTime(field1)
0
 
madheeswarCommented:
may be some where while saving or at Querysave ur removing it.

create a new computed field (this will refresh everytime) or Computed when composed(this won't refresh, so use this)
and assign the formula @now in default. name it as createdon_d. it should be a text field.

and save a new document.

and in column formula:
@Text(@Month(@TextToTime(createdon_d)))+"-"+@text(@Year(@textToTime(createdon_d)) )

this should work.

and if it is not displaying, then in the doc., properties, chec the value of createdon_d. it should display some value.
0
 
ZvonkoSystems architectCommented:
madheeswar,
you are allowed to extend my example, but not to extend it in wrong direction!
In your example is "res" of type Text, so you cannot get @Month(res)

And beside that is the whole formating NOT necessary. The format string "D3S0" yields Month and Year!

0
 
Bozzie4Commented:
In the view, select the document, and open the document properties.  See if field1 is there, and what the value is, and the type (should be DATE TIME or something similar).

If that exists, it should work.

To format your time , you can use @text.  In your case:

@text(field1;"D3")

You can also do the formatting yourself , the check will avoid errors when field1 is empty.

@if(field1="";"No field1 in document";
@right("00"+@text(@month(field1));2)+"/"+@text(@year(field1)))

No check , but a default for field1 is also possible

DEFAULT field1 := @now;
@right("00"+@text(@month(field1));2)+"/"+@text(@year(field1))

cheers,

Tom

0
 
Bozzie4Commented:
So the formatting was already mentioned by Zvonko , sorry, missed that.
He is right, it's only 1 line of code

Tom
0
 
Bozzie4Commented:
And in his example, change this to :

DEFAULT field1:=@Now;
@Text(field1;"D3S0")

So that, when field1 is empty (only when field1 is empty), it is replaced by @now.

BTW, be careful when using this (or any time function) in a view, because this will slow down the view  - it will have to be recalculated every time it's opened !

cheers,

Tom
0
 
ZvonkoSystems architectCommented:
Why the grading B???
0
 
madheeswarCommented:
Zvonko,
may be he/she is not satisfied.



damoncwk,
if you are not satisfied with the answer, you should have asked what you need and what is not working. Instead you took the code what Zvonko provided and given a grade "B" which is not encouraging for us. we kept lot of efforts in answering your question. try to understand.

Please a question in community support with this link and tell them to change to grade "A". It is free(0 points)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.