我现在在建立的模块里写
Public Sub bb()
x = InputBox("请输入")
Dim aa As String
aa = "abc"
End Sub在程序里写
Private Sub Form_Click()
    call bb
    Print "x="; aa
End Sub最后只显示出来x=,为什么没有显示出后面的aa赋的"abc"呢?应该怎样在模块里改才能显示出我给aa赋的值啊?
     

解决方案 »

  1.   

    Print "x="; aa
    --------------------
    改为:
    Print "x="& aa
      

  2.   

    为什么没有显示出后面的aa赋的"abc"呢?
    -------------------
    Print "x="; aa
    在这一行代码里,有一个 分号,如果有分号,说明是两句代码,它的效果跟下面的写法是一样的:Print "x="
    aa
      

  3.   

    aa是局部变量,form_click实际是生成一个新变量可以这样写
    Public Sub bb(a as string )
    x = InputBox("请输入")a = "abc"
    End Sub在程序里写
    Private Sub Form_Click()
       Dim aa As String
        call bb(aa)
        Print "x="; aa
    End Sub
    **********************************
    *本人主要使用VB+MS SQL,C#略知一二*
    *                                *
    *如有相关问题需要帮助            *
    *                                *
    *可发短消息告知链接              *
    **********************************
      

  4.   

    其实现在我是一个连接数据库的问题
    原来的代码是这个样子的
    Dim db As DAO.Database
    Set db = DBEngine.OpenDatabase("d:\cangku\cangku.mdb")我现在是要修改掉,把它写到模块中,然后程序里调用
    我现在在模块是这样写的
    Public Sub OpenTable(db01 As DAO.Database)
    Set db01 = DBEngine.OpenDatabase("d:\cangku\cangku.mdb")
    End Sub
    然后我在程序中这样调用
    Dim db As DAO.Database
    Call OpenTable(db)
    我这样写可以不可以啊?可以实现原来的功能吗
      

  5.   

    又出错了,再问几位大哥这个问题
    现在我模块里这样写
    Public Sub OpenData2(db02 As String)
    db02 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\center3\cangku\cangku.mdb;Persist Security Info=False"
    End Sub
    程序里这样写来调用
    Dim cn1, cn2 As ADODB.Connection
    Dim strcn1, strcn2 As String
    Call OpenData2(strcn1)
    cn1.Open strcn1
    为什么在这句"Call OpenData2(strcn1)"处
    会报"ByRef参数类型不符",怎么样修改呢?请教一下
      

  6.   

    Public Sub OpenData2()
    OpenData2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\center3\cangku\cangku.mdb;Persist Security Info=False"
    End Sub
    程序里这样写来调用
    Dim cn1, cn2 As ADODB.Connection
    Dim strcn1, strcn2 As String
     strcn1=OpenData2
    cn1.Open strcn1
    如果你一定需要 使用函数,就这样用了