mshflexgrid控件
dim strT as string
strT = format(mshflexgrid.TextMatrix(1,0),"yyyy-mm-dd")如果:mshflexgrid.TextMatrix(1,0) = "2/1/2005"
用上面的format函数格式化后
strT = "2004-01-05"
怎么回事???
难道用mshflexgrid显示日期只能是"2/1/2005"这样的格式吗?

解决方案 »

  1.   

    一楼有一点写错了,
    更正一下:
    mshflexgrid控件
    dim strT as string
    strT = format(mshflexgrid.TextMatrix(1,0),"yyyy-mm-dd")如果:mshflexgrid.TextMatrix(1,0) = "2/1/2005"
    用上面的format函数格式化后
    strT = "2002-01-05"
    怎么回事???
    难道用mshflexgrid显示日期只能是"2/1/2005"这样的格式吗?
      

  2.   

    不是flexgrid的问题,也不是format函数的问题是98本身的问题
      

  3.   

    日期格式中的 "/" 和 "-" 字符将被控制面板中设置的分割字符替换,如果不想产生替换,用 
    "yyyy\-mm\-dd"
      

  4.   

    如果“控制面板\区域设置\日期\日期分隔符”设为了“-”
    那么
    ?format(now,"yyyy-mm-dd"),format(now,"yyyy/mm/dd")
    2005-02-02    2005-02-02而用字符“\”作为转义符
    ?format(now,"yyyy\-mm\-dd"),format(now,"yyyy\/mm\/dd")
    2005-02-02    2005/02/02
      

  5.   

    to: Tiger_Zhao(VB老鸟) 你没有看明白我的意思
    不管系统日期如何
    当我把一个记录集合rs以下面的语句赋给mshflexgrid控件时
    set mshflexgrid1.datasource = rs
    日期字段就会显示成:02/01/2005 (即2005年2月1日)
    当用format()函数对这个值进行格式化时会出错
    比如:
    dim strT as string
    strT = mshflexgrid1.TextMatrix(1,0)   '这里mshflexgrid1.textmatrix(1,0) 显示为: 02/01/2005
    当 strT = format(strT,"yyyy-mm-dd") 以后
    strT 的值就成了 2002-01-**"
    只有在一台装有98系统的机子上出现这种现象感觉是format()函数出错了
      

  6.   

    哦,这样子进到mshflexgrid里的数据其实是:02/01/05,直接变成:02-01-05—>200-01-05了。我一向不主张控件绑定记录集这种使用模式的。
      

  7.   

    可是逐行添加也太慢了
    如果记录较多的话
    用 set grid.datasource = rs 还是最方便的办法.
      

  8.   

    dim strT as date
    strT = cdate(mshflexgrid.TextMatrix(1,0))
    这样应该没什么问题的了