读书人

为什么传参数时出错,该如何解决

发布时间: 2012-03-16 16:34:56 作者: rapoo

为什么传参数时出错
Private Sub loopMonthRow(fst_date_mm, fst_date_dd, last_date_mm, last_date_dd As String, row_no As Integer)
loopToFstMonthOrDate fst_date_mm & STR_MONTH_NM, INT_ROW_MONTH
loopToFstMonthOrDate fst_date_dd , INT_ROW_DATE

End Sub

Private Sub loopToFstMonthOrDate(content As String, row As Integer)
。。。
End Sub

当我执行loopMonthRow这个方法时总是报错
loopToFstMonthOrDate fst_date_dd , INT_ROW_DATE
中的fst_date_dd参数“BYREF参数类型不匹配”,但是当我改成
loopToFstMonthOrDate fst_date_dd & " ", INT_ROW_DATE以后就对了。这是社呢们原因啊,应该怎么处理啊

[解决办法]
loopToFstMonthOrDate(content As String, row As Integer)中的参数类型是显式声明的,如果
将loopMonthRow(fst_date_mm, fst_date_dd, last_date_mm, last_date_dd As String, row_no As Integer)
中的参数也都显式声明,且与调用loopToFstMonthOrDate时传递的参数类型一值。fst_date_dd & " "相当如将fst_date_dd 强制转换成了字符串型,与 loopToFstMonthOrDate中的参数类型一致,所以不会报错。
[解决办法]
建议楼主定义变量时要显示指定类型,否则容易出错
[解决办法]
fst_date_mm我就不知道是什么类型的变量
[解决办法]
“如果
将loopMonthRow(fst_date_mm, fst_date_dd, last_date_mm, last_date_dd As String, row_no As Integer)
中的参数也都显式声明,”
难道我这里的参数不是显式声明吗?

fst_data_mm,fst_date_dd,last_date_mm的数据类型是什么?

读书人网 >VB

热点推荐