首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

自定义部类作为参数提示“类型不符”

2013-03-13 
自定义类型作为参数提示“类型不符”求助:以下代码出现错误………………实在找不出原因…………错误就出现在图中的“AR8

自定义类型作为参数提示“类型不符”
求助:
以下代码出现错误………………实在找不出原因…………
自定义部类作为参数提示“类型不符”
错误就出现在图中的“AR8”处。这个是我自定义的类型,用在自定义的函数中。

这里是form的代码

Private Sub Form_Load()

    Call DBInit
        Dim AR8 As DevInfo
    
    DBFilePath = App.Path & "\Data\test2.mdb"
    CmdH = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBFilePath
    If Dir(DBFilePath, vbNormal Or vbDirectory Or vbHidden Or vbReadOnly) = "" Then cat.Create CmdH
    
    AR8.Model = AR882
    AR8.ID = "01"
End Sub

这里是模块的代码。。。
Public CmdH As String
Public Cmd1 As ADODB.Command       'cmmZhuCe为命令对象
Public Cn As ADODB.Connection
Public rs As ADODB.Recordset
Public cat As New ADOX.Catalog '不用cat用另外一个名字也可以
Public DBFilePath As String

Public Type DevInfo
    Model As String
    ID As String
End Type

Public Function DBInit()

    
End Function

Public Function AddToDBIR(ByVal T As String, ByVal Tmprt As String, ByVal EMS As String, ByRef Dev As DevInfo)
    Dim Str(10) As String
    Dim Cmd(10) As String
    Dim TB As TextBox
    
    Cmd(0) = "Insert into "
    Cmd(1) = Format(Now, "YYMMDD") & Dev.Model & " ("
    Cmd(2) = "Model & ID" & ",TIME,DATA1,DATA2) values ('"
    Cmd(3) = Dev.Model & "." & Dev.ID & "','" & T & "','" & Tmprt & "','" & EMS & "')"
    
    Call OpenConn(CmdH)
    Cn.Execute Cmd(0) & Cmd(1) & Cmd(2) & Cmd(3)
    Call CloseConn(CmdH)
    
End Function


十分感谢! VB? VB 自定义类型 参数类型不符
[解决办法]
在Command4中有定义AR8吗?如果是全局变量就定义在通用中,如果不是就再定义一个……
[解决办法]
汗,你这个"Dim AR8 As DevInfo"是定义在Form_Load中的过程内变量,当然不可能在别的过程中能使用。
其实,这也可见贯彻命名规则的好处,比如模块级的加m前缀,全局级的变量用g前缀,这样即使程序代码量比较大,也不容易搞错作用范围。

热点排行