[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 184
  • Last Modified:

Q_21884491.html - Still a problem

Hi all,

In the link above is the code for the postdrag event of the calendar to help me drag and drop a calendar entry. Now with that i had a type mistmatch error. The error was fixed by implementing the following code inside the script in the link above.

      tmpList =doc.testdates
      i=0
      Forall x In tmpList
            Redim Preserve oldList(i)
            oldList(i) = Format$(x, "Short Date")
            i = i + 1
      End Forall

However, with this code now, the list that I am placing in the newList is a string list.
Now I want to try to convert it to date list(array of dates) instead of having newlist populated in my date field on the document as text list because I'll have a lot of other problems with it later.

I tried using the same loop above on the newlist, before assigning that to doc.testdates

              tmpList1 =doc.testdatefield
      j=0
      Forall elements In tmpList1
            Redim Preserve newlist(j)
            newlist(j) = Cdat(j)
            j = j + 1
      End Forall

I get out of subscript error.

I try the following:

newlist = cDat(newList)
I know though that this doesn't work because I know to change the value from text to date on each elements of the oldlist array.

I also tried to use Evaluate with @texttotime on newList and still had problems with it.

My question:
What's the simplest, most efficient way to resolve this problem and at the same time convert the newList array to short dates(without time) before assigning the value back to the field on the document?

Thank you all in advance.


0
varvoura
Asked:
varvoura
  • 3
1 Solution
 
Steve KnightIT ConsultancyCommented:
How about:

tmpList1 =doc.testdatefield
redim newlist (ubound(tmplist1))
for j=1 to ubound(tmplist)
  newlist(j)=cdat(oldlist(j))
next j

Can't you do it all in one too?:

tmpList =doc.testdates
     i=0
     Forall x In tmpList
          Redim Preserve oldList(i)
          oldList(i) = cdat(Format$(x, "Short Date"))
          i = i + 1
     End Forall

Steve
0
 
Steve KnightIT ConsultancyCommented:
or even
tmplist1 =doc.testdatefield
redim newlist (ubound(tmplist1))
for j=1 to ubound(tmplist)
  newlist(j)=cdat(tmplist1(j))
next j
0
 
varvouraAuthor Commented:
It is so funny, when I look closely at your code, the first "j" bit, I tried it that way as well today. If i had access to this site in the day, I would've saved you the trouble.

Much much appreciated effort
0
 
Steve KnightIT ConsultancyCommented:
No problem, again thanks for the points.

Steve
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now