设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 1250|回复: 29
打印 上一主题 下一主题

定位記錄,打開新窗體,傳遞參數的問題?

[复制链接]
跳转到指定楼层
1#
发表于 2002-6-1 00:27:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位高手,小弟有一問題,如下:
有一父子窗體,父窗體為定單公用數據,子窗體為定單具數據,
形式如下:
---------------------------------------------------------
定單號:           定單日期:xxxxxxxx
---------------------------------------------------------
定單項(autonum)   產品     數量      單價         擴展
1                   x          x          x        ...  
2                   x          x          x        ...
3                   x          x          x        ...
............
------------------------------------------------------
現存問題如下:怎么單擊擴展項,即單項擴展列的“...“按鈕,
打開一個定單擴展項表單,且把當前打操作的定單項傳遞給新開表單,
且過濾新開表單的數據。(打開表單與定單項通過定單項(autonum)互連,為一對一參照。
-------------------------------------------------------------------------------
原想通過
open 擴展窗體,,,擴展窗體.編號=定單了窗體.定單項
這樣過濾,但現在的不知怎樣才能取得當前定單項編號,且傳遞無誤。
-----------------------------------------------------------------------
望各位高手給點幫助,小弟不勝感激。
--------------------------------------------------------------------------------
                                                                                        [em13][em13][em25][em25]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2002-6-1 02:22:00 | 只看该作者

请参见 http://www.office-cn.net/bbs/dispbbs.asp?boardID=3&RootID=5173&ID=5173&page=1 中回复的附件,这是一个父子窗体的查询处理例子。

[move][em04][em07][em04][/move]
3#
 楼主| 发表于 2002-6-1 17:05:00 | 只看该作者
引用zhuyiwen版主的指引例程
Private Sub text1_AfterUpdate()
    Call ChangeSubForm
End Sub


Private Sub text2_AfterUpdate()
    Call ChangeSubForm
End Sub
Private Sub text3_AfterUpdate()
    Call ChangeSubForm
End Sub

Private Sub text4_AfterUpdate()
    Call ChangeSubForm
End Sub

Private Sub text5_AfterUpdate()
    Call ChangeSubForm
End Sub

Private Sub 命令36_Click()
On Error GoTo Err_命令36_Click

    DoCmd.Close

Exit_命令36_Click:
    Exit Sub

Err_命令36_Click:
    MsgBox err.Des cription
    Resume Exit_命令36_Click
   
End Sub

Private Function FilterSTR()
    Dim str As String
   
    str = ""
   
    If Not (text1 = "" Or IsNull(text1)) Then
        str = " (产品编号 Like '" & text1 & "*')"
    End If
   
    If Not (text2 = "" Or IsNull(text2)) Then
        If str = "" Then
            str = " (产品名称 Like '" & text2 & "*')"
        Else
            str = str & " AND " & "(产品名称 Like '" & text2 & "*')"
        End If
    End If
   
    If Not (text3 = "" Or IsNull(text3)) Then
        If str = "" Then
            str = " (购货单位 Like '" & text3 & "*')"
        Else
            str = str & " AND " & "(购货单位 Like '" & text3 & "*')"
        End If
    End If
   
    If Not (text4 = "" Or IsNull(text4) Or text5 = "" Or IsNull(text5)) Then
        If str = "" Then
            str = " (发货日期 > DateValue('" & text4 & "') AND 发货日期 < DateValue('" & text5 & "'))"
        Else
            str = str & " AND " & "(发货日期 > DateValue('" & text4 & "') AND 发货日期 < DateValue('" & text5 & "'))"
        End If
    End If
    FilterSTR = str
End Function

Private Sub ChangeSubForm()
    Dim strSQL As String
    Dim str As String
   
    strSQL = "SELECT * FROM 表源查询"
    str = FilterSTR()
    strSQL = IIf(str = "", strSQL, strSQL & " WHERE " & str) & ";"
      
    表源查询子窗体.Form.RecordSource = strSQL
End Sub
這段代碼寫的很好!多謝!
---------------------------------------------------------
但現存問題如下:
1。小弟所問題,關系到三個表。
定單表,定單項,定單項擴展。(定單和定單項表為一對多,而定單項和單項擴展為一對一)
2。現在所面臨的是,如何單擊定單項擴展按擊,打開定單項擴展窗體,(數據來源于定單擴展項表),且把當前,同一行的定單項號傳遞給新窗體,如果定單項擴展 窗體有此定單項擴展,則過濾且顯示出來,如果沒有,則可以給操作員填充。
3。現在就是不有在打開新擴展項窗體時,位確找到當前定單項,且如何傳遞當前定單項給新窗體,過濾。
---------------------------------------------------------
麻煩zhuyiwen版主再看看,各位高高手給預指點。
小弟全身著地,不勝感激。

点击这里给我发消息

4#
发表于 2002-6-1 17:13:00 | 只看该作者
你把MDB传上来
5#
 楼主| 发表于 2002-6-1 17:36:00 | 只看该作者
zhuyiwen版主:
因小弟用的是access ADP,所用的數據都在sql中,如果傳上去,太大有几百M的,
呵呵,可能為會給論壇炸掉的。
窗體布具見第一貼。
6#
发表于 2002-6-1 17:52:00 | 只看该作者
我想了解
"open 擴展窗體,,,擴展窗體.編號=定單了窗體.定單項"这样做为什么不行,定单项然道传不过去?
7#
 楼主| 发表于 2002-6-1 18:05:00 | 只看该作者
大熊班主:因為弟用的是父子表單
在定位子表單時,有困難。
8#
 楼主| 发表于 2002-6-1 18:07:00 | 只看该作者
大熊,你還在嗎?
9#
 楼主| 发表于 2002-6-1 18:47:00 | 只看该作者
DoCmd.OpenForm trade_mc, , , "'order_line_ext_no' = Forms![TRADE_ORDER_line]![order_line_no]"
這樣寫出現錯誤為"不能找到表單引表"
為什么,還是不能定位到定單項窗體和具體定單項。

点击这里给我发消息

10#
发表于 2002-6-1 22:00:00 | 只看该作者
以下是引用HG在2002-6-1 10:47:10的发言:
DoCmd.OpenForm&nbsp;trade_mc,&nbsp;,&nbsp;,&nbsp;"'order_line_ext_no'&nbsp;=&nbsp;Forms![TRADE_ORDER_line]![order_line_no]"
這樣寫出現錯誤為"不能找到表單引表"
為什么,還是不能定位到定單項窗體和具體定單項。


把 'order_line_ext_no' 改为 order_line_ext_no 试试

(去掉上面的单引号)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-21 06:36 , Processed in 0.103438 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表