vb出現 byref引數型別不符

時間 2022-03-21 13:15:17

1樓:棘棘芽

openht mdbpath

closeht mdbpath

你也只有這兩個外調的函式!應該是這裡吧!

可能你把這兩個函式的傳值方式都是byref(不寫時,預設的值) 也就是按址傳

改成byval 應該就行了

2樓:匿名使用者

dim mdbpath, mdbpathtemp as string

把這句改為

dim mdbpath as string , mdbpathtemp as string

dim conn, conn2 as adodb.connection

這句改為

dim conn as adodb.connection, conn2 as adodb.connection

dim sql, sql2 as string

dim tinvoice, tidcard, tname, tphone, tbid, tsum, tdate as string

dim k, mdbcount as long

改為dim sql as string, sql2 as string

dim tinvoice$, tidcard$, tname$, tphone$, tbid$, tsum$, tdate$

dim k as long, mdbcount as long

vb中byref引數型別不符是什麼意思

3樓:問明

意思:第一個型別 :

傳遞引數未定義型別,假如引數在呼叫前未定義型別,系統自動將他定義為variant型別,由於和過程或函式中的對就引數型別不相同,所以提示」byref引數型別不符」

第二個型別 :

傳遞引數型別已定義,但由於定義方法不對,所以提示」byref引數型別不符」

2、出錯原因

在上機的時候出錯原因是因為第二個型別:傳遞引數型別已定義,但由於定義方法不對。

錯誤的定義:

dim msgtext as integer

正確的定義:

dim msgtext as string

dim txtsql as integer

dim mrc as integer

dim mrc2 as integer

舉例:傳遞引數型別已經定義,但由於定義方法不對,所以提示"byref引數型別不符"。具體情況如下:

當vb中如此定義變數時,將會出現以上錯誤資訊的出現

private sub command1_click()

dim i , j as integer

i = 3

j = 4

call get1(i, j)

text1.text = i

end sub

private sub get1(byref para1 as integer, para2 as integer)

para1 = para1 + para2

end sub

如果將 dim i , j as integer 改為

dim i  as integer

dim i  as integer

程式執行正常。也就是說,第一種方法的變數定義,只是對 j 做了定義,並未對前面的 i 進行定義

一般在過程和函式中定義引數時採用byref,則要求引數宣告的型別和實際引數的型別完全相同,否則vb就會報告錯誤。

4樓:

在vb中執行過程或函式時,提示"byref引數型別不符"

分析問題主要由於對應引數的型別不符造成的。造成這種情況一般有幾種情況:

1。傳遞引數未定義型別,假如引數在呼叫前未定義型別,系統自動將他定義為variant型別,由於和過程或函式中的對就引數型別不相同,所以提示"byref引數型別不符"

2。傳遞引數型別已定義,但由於定義方法不對,所以提示"byref引數型別不符"。具體情況如下:

當vb中如此定義變數時,將會出現以上錯誤資訊的出現

private sub command1_click()

dim i , j as integer

i = 3

j = 4

call get1(i, j)

text1.text = i

end sub

private sub get1(byref para1 as integer, para2 as integer)

para1 = para1 + para2

end sub

假如將 dim i , j as integer 改為

dim i as integer

dim i as integer

程式執行正常。也就是說,第一種方法的變數定義,只是對 j 做了定義,並未對前面的 i 進行定義

一般在過程和函式中定義引數時採用byref,則需要引數宣告的型別和實際引數的型別完全相同,否則vb就會報告錯誤。參考資料:http:

//www.sudu.cn/info/html/edu/net/20071226/24393.

html

以上為複製的,如果不能解決問題,請你把原始碼貼出來

VB無效的過程呼叫或引數,VB 無效的過程呼叫或引數

mid tmp,instr 1,tmp,元 4,4 這句你是不是要取 不知道你的 會有多少?如30元 instr 1,tmp,元 4 一會出現負數了。就要出錯 你要取回 30元 這樣字元中的數字該寫成 mid tmp,1,instr 1,tmp,元 1 vb差不多忘光了。不過看你的sub裡沒有定義過...

vb中InputBox函式的引數是用來設定對話方塊的什麼

給你貼出 inputbox引數的說明吧 inputbox prompt title default xpos,ypos helpfile,context 1 prompt 是一個字串,其長度不得超過1 024個字元,它是在對話方塊內顯示的資訊,用來提示使用者輸入。在對話方塊內顯示prompt時,可以...

vb6 0總顯示無效的過程呼叫或引數

錯誤原因解析 c instr 1,a,b 當文字框中什麼空格也沒有輸入時 c 0 v instr c 1,a,b 此時從 c 1 個位置開始往後查詢空格時 v 依然 0 d mid a,1,v c 1 v c 1 0 0 1 1 此時就會彈出你所說的錯誤 點選除錯按鈕即可檢視錯誤 所在的行 滑鼠選中...