具体描述如下:
这是一个数据库的查询,需要调一个查询窗口,从这个查询窗口查出一个主键,怎么样把这个主键传回数据库。我原来的窗口怎么知道这个查询窗口已经传回这个数值而且已经关闭?谢谢

解决方案 »

  1.   

    frmfind.show 1
    且frmfind中定义一个全局变量作为传值变量。
      

  2.   

    设一个全局变量啊或者这样
    查询窗口.tag=查出的主键
    原来窗口.变量=查询窗口.tag
      

  3.   

    你可以设一个全局变量 ,数值型:只取  0 和1 ,0表示关,1表示未关。
    在测试窗口关闭时,事件中的 Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) ,窗口关闭了,一定会执行这个事件,所以,把变量值为0;
    然后,你再测试一下变量值就行了,不就知道窗口是否被关闭了。
      

  4.   

    返回存储过程OUTPUT参复和RETURN返回值的原代码
    accessQQ.com 2004-3-4 ------------ALTER PROCEDURE sp_1
    @p int output
    as
    begin 
    select * from tbluser
    set @p=@@rowcount 
    if @@error <> 0 
    return @@error 
    end------------Function returnP()Dim cmd As New ADODB.Command 
    Set cmd.ActiveConnection = CONN
    cmd.Parameters.Append cmd.CreateParameter("@P", adInteger, adParamOutput)cmd.CommandText = "sp_1" 
    cmd.CommandType = adCmdStoredProccmd.Parameters.Refresh '本句非常重要,经常会看到有网友问返回值得不到的情况,大部分是本句没有的原因 
    cmd.ExecuteDim i As IntegerFor i = 0 To cmd.Parameters.Count - 1 
    Debug.Print cmd.Parameters(i).Name & "=" & cmd.Parameters(i).Value 
    Next iSet cmd.ActiveConnection = Nothing 
    Set cmd = NothingEnd Function'----------测试---------? returnP()
    @RETURN_VALUE=0//这个参就是RETURN的返回值
    @p=2//这个是OUTPUT参数值