sinat_38913556
sinat_38913556
2017-06-27 01:12
采纳率: 91.4%
浏览 917
已采纳

access VBA编程问题 看代码有些地方不理解

SQL102 = Nz(Me.Textdate.Value)


For i = 1 To SQL104

    StrSQL1 = " INSERT INTO 出勤管理 ( 日期 ) " _
                    & " #" & SQL102 & "# AS 日期, "_
                    & " FROM 二级表 "
    DoCmd.RunSQL StrSQL1
    SQL102 = SQL102 + 1
Next

别人写的程勋 我在看代码的时候SQL102 SQL104 定义的是String
SQL102从 Textdate文本框获得日期 格式“2017/6/27”

SQL104 是从文本框获得的出勤天数

不太懂VB 真的能这么写么
尤其是日期加1 太神奇了把0.0

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • bakw
    笨狗先飞 2017-06-27 05:45
    已采纳

    Date 变量存储为 IEEE 64 位(8 个字节)浮点数值形式,其可以表示的日期范围从 100 年 1 月 1 日到 9999 年 12 月 31 日,而时间可以从 0:00:00 到 23:59:59。任何可辨认的文本日期都可以赋值给 Date 变量。日期文字须以数字符号 (#) 扩起来,例如,#January 1, 1993# 或 #1 Jan 93#。

    Date 变量会根据计算机中的短日期格式来显示。时间则根据计算机的时间格式(12 或 24 小时制)来显示。

    当其他的数值类型要转换为 Date 型时,小数点左边的值表示日期信息,而小数点右边的值则表示时间。午夜为 0 而中午为 0.5。负整数表示 1899 年 12 月 30 日之前的日期。

    msdn上的解释,看来这样是可以的,他转换成浮点数了。

    点赞 评论
  • bakw
    笨狗先飞 2017-06-27 05:23

    日期这样处理没见过,按理说是不行的,一般都是 DateAdd函数来加减日期,用DateDiff比较日期差值的。
    文本框里读过来的string当数字用是可以的。

    点赞 评论

相关推荐