Vb6 错误类型不匹配

Vb6 错误类型不匹配,vb6,Vb6,为什么会出现这种类型不匹配错误 代码: 当我试着用弦来做这个的时候,它当然是完美的 Obs:如果我使用一个不同于31日的日,比如28日,它就起作用了。。。但是为什么只有在第31天出现这个错误,我找到了答案,这很愚蠢-“第9个月=Agost=30天而不是31天”…我现在觉得很愚蠢;x我找到了答案,这很愚蠢-“第9个月=Agost=30天而不是31天”。。。我现在觉得自己很愚蠢;x看起来您正试图获得一个月的最后一天。如果是这样的话,试试这个 Dim data As Date Dim Original

为什么会出现这种
类型不匹配
错误

代码:

当我试着用弦来做这个的时候,它当然是完美的


Obs:如果我使用一个不同于31日的
日,比如28日,它就起作用了。。。但是为什么只有在第31天出现这个错误,我找到了答案,这很愚蠢-“
第9个月=Agost=30天而不是31天”
…我现在觉得很愚蠢;x

我找到了答案,这很愚蠢-“
第9个月=Agost=30天而不是31天”。。。我现在觉得自己很愚蠢;x

看起来您正试图获得一个月的最后一天。如果是这样的话,试试这个

Dim data As Date
Dim OriginalDate As Date

OriginalDate = DateSerial(2013, 12, 20)

data = DateSerial(Year(OriginalDate), Month(OriginalDate) + 1, 0)

这段代码基本上得到下个月的第一天,然后减去一天。使用DateSerial函数的好处在于,您可以为其指定“无效”值,例如,如果您使用Year=2013和Month=13,则将获得2014年1月。

看起来您正在尝试获取该月的最后一天。如果是这样的话,试试这个

Dim data As Date
Dim OriginalDate As Date

OriginalDate = DateSerial(2013, 12, 20)

data = DateSerial(Year(OriginalDate), Month(OriginalDate) + 1, 0)

这段代码基本上得到下个月的第一天,然后减去一天。使用DateSerial函数的好处是,您可以给它“无效”值,例如,如果您使用Year=2013和Month=13,您将得到2014年1月。

您必须注意日期,因为根据计算机所在的区域(控制面板/区域和语言),有时您的日期是
格式(“1/9/2013”,“mm/yyyy”)
可解释为2013年9月1日
或2013年1月9日


如果可以,请使用
DateSerial
在不依赖格式输出的情况下专门勾选月/日数字。

您必须注意日期,因为根据您的计算机所在的区域(控制面板/区域和语言),有时您的日期是
格式(“2013年9月1日”,“mm/yyyy”))
可解释为2013年9月1日
或2013年1月9日


如果可以的话,可以使用
DateSerial
在不依赖格式输出的情况下专门勾选月/日数字。

我以为9月=9月!:(kkkk'-“我从来没有想过这会引发错误,天哪……我首先想到的是编程本身的一些事情,u.u Geee!9月、4月、6月和11月有30天。剩下的都有31天,只剩下2月一天;这有28天是空的,每个闰年有29天。我想9月=9月!:(kkkk'-“我从来没有想过这会引发错误,天哪……我想到的第一件事是编程本身的事情u.u Geee!9月、4月、6月和11月有30天。剩下的都有31天,只剩下2月一天;这有28天是空的,每个闰年有29天。你可以使用
DateSerial(year(OriginalDate),Month(原始日期)+(1, 0)<代码>黑客,而不是代码> 1 - 1 往返。<代码>天>代码>参数可以是任何正/负整数。我不认为它是一个添加1的黑客,但我同意它会稍微有效率,所以我会修改我的答案。谢谢你的评论。你可以使用<代码>数据目录(年(原始日期))“月份(原始日期)+ 1, 0)<代码>黑客,而不是<代码> + 1 - 1 <代码>往返。<代码>天>代码>参数可以是任何正/负整数。我不认为它是一个黑客添加1,但我同意这将是稍微有效率的模式,所以我将修改我的答案。谢谢评论。