大家好,VB菜又来了
我在学习了一些日子后,可以在原程序后面增加新的字段了,也出现了一个问题,想请教大家一下,是这样子的
我的是VB6+ACCESS的一个小程序
我在数据库的设计最后面加新的列字段类型是文本的,我在程序里用
sql = "insert into 就可以了,生成的程序也可以录入新的数据可是我现在增加的字段是一个日期,我的ACCSEE设计列字段名为收费日期,类型为日期/时间,ACCESS的格式是短日期就是那种1977-6-19样子的
我设计好后在程序代码里,加代码,运行就会提示数据类型错误,在ACCESS变为文本类型就可以正常录入,所以我觉得是代码的错误,于是就复制了一些代码来请教一下原程序代码也有一个时间,也是为日期/时间类型,短日期的,
sql = "insert into 收缴记录 (开票时间) values(sql = sql & Trim(Text65.Text) & "','"
"这个开票就是一个日期/时间类型,在ACCESS就是这样的.在VB窗体就是TEXT65我新加的收费日期以后,在后面加代码为,
sql = "insert into 收缴记录 (开票时间,....收费日期) values(sql = sql & Trim(Text65.Text) & "','"....
sql = sql & Trim(stardata.Text) & "')"是把上面的复制下来只改了一个TEXT的名称而已,运行程序提示数据类型不匹配,我想到了一个强制把文本内容变成日期的一个方法,可是不是很清楚这种方法的使用,而且不太会写,因为我想后面还要以日期为查询条件来查询的,这样转换成日期格式会不会影响查询的代码书写呢?
我是模仿上面原码里的开票日期的代码,为什么会出错呢,没什么区别呀
把文本框里的内容变成1994-9-4的日期是用什么函数呢,写法是怎么样的,如果这样转换写查询的时候会不会出错呢?请大家指点一下,我想我把问题说得比较清楚了吧,感谢大家帮忙

解决方案 »

  1.   

    access的日期型,在VB中是加#的
      

  2.   

    比如说:
    str   =   "2002.03.04   8:59:34"   
      str   =   replace(str,".","-")   
      sql   =   "SELECT   *     FROM   表   WHERE   日期时间=#"   &   str   &   "#"   你把你的SQL debug.print出来就知道了。
      

  3.   

    sql = "insert into dj1(bzw,xtbh ,xm , gxfl ,fsdx,sqsy ,sqje, djwp ,fssj ,sqsj ) select bzw,xtbh ,xm , gxfl ,fsdx,sqsy ,sqje, djwp ,fssj ,sqsj  from sqdjb1 where xm = '" + Text1.Text + "' or  (fssj between  # " & Format(DTPicker1.Value, "yyyy-M-dd") & " #   and    #" & Format(DTPicker2.Value, "yyyy-M-dd") & "# ) order by xm,xtbh"
      cnn.Execute sql
      

  4.   

    sql = sql & Trim(stardata.Text) & "')"
    实际上我就想写成运行程序里接受TEXT里的内容为日期,比如我输录1988-9-9在文本框里就会成为日期保存,以后查询有用,我看到了楼上的
    str   =   replace(str,".","-")   
    可是我不太会写,难道是
    sql = sql & replace(stardata.Text,".","-") & "')"
    不知道这样写对不对啊,我运行了还没有问题,我模仿写成这样子还成吧,
    我没学过VB
    我又写成了下面这样子
    sql = sql & CDATA(stardata.Text) & "')"我使用了一个CDATA的数,可以录入,我不知道这样做对不对,如果以后写查询代码使用到这个日期的时候,会不会出错呢还有
    我在窗体调动事件时想使这个文本内容自动显示为当前系统日期
    stardata.Text = Data
    我是这样写的,可是运行没有反应,我想如何做到自动调出日期呢
      

  5.   

    cstr(date)
    不是data,而是date
    cdate()是变date的函数
    cstr()是变string的函数
    textbox里面的永远是string
    必要的时候要经过上面的函数转换
      

  6.   

    把文本框里的内容变成1994-9-4的日期是用什么Format函数Format(text1.Text, yyyymmdd) ' 例子2000-08-02