查看單個文章
舊 2005-03-23, 02:03 PM   #8 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:96 | 在線時長:9665小時 | 升級還需:132小時級別:96 | 在線時長:9665小時 | 升級還需:132小時級別:96 | 在線時長:9665小時 | 升級還需:132小時級別:96 | 在線時長:9665小時 | 升級還需:132小時級別:96 | 在線時長:9665小時 | 升級還需:132小時級別:96 | 在線時長:9665小時 | 升級還需:132小時
註冊日期: 2002-12-07
文章: 13249
精華: 0
現金: 26241 金幣
資產: 3024051 金幣
預設

13 型態不符合
果然是 值的傳遞之問題

建議
Function getMMdays(pnYear, pnMonth)
請改成
Function getMMdays(pnYear As Integer , pnMonth As Integer)

Visual Basic 引數傳遞方式預設為 ByRef
如果不指定資料型態或物件型態,且模組中沒有Deftype 陳述式,變數的預設型態為 Variant。
型態不符合
http://yes.nctu.edu.tw/VB/B2_Code/Err_13.htm

getMMdays(CInt(nYear.Text), CInt(nMonth.Text))
改成
getMMdays(Val(nYear.Text), Val(nMonth.Text))

Dim x As Integer
x = Val("1.2")
結果 x=1 而不是 1.2
所以與 Cint 有同樣效果
mini 目前線上  
送花文章: 1999, 收花文章: 7957 篇, 收花: 26749 次
回覆時引用此帖