Office中国论坛/Access中国论坛

标题: 同一窗体如何新增及编辑信息功能? [打印本页]

作者: stvent    时间: 2009-8-22 15:38
标题: 同一窗体如何新增及编辑信息功能?
附件为一个物料系统的新增编辑部份,现遇到一个问题,当在窗体中双击任一物料或选中物料,然后点窗体按键“编辑物料”时,弹出窗体(窗体中加载有该物料的信息),供用户修改!只时只能实现新增部份!编辑部份未能实现,未知同一窗体下能否实现以上功能!
作者: Henry D. Sy    时间: 2009-8-22 15:53
dddddd
作者: Henry D. Sy    时间: 2009-8-22 16:11
呵呵,刚才看错了,你是要在不增加窗体的前提下:

Private Sub 编辑物料_Click()
    DoCmd.OpenForm "物料基本信息_新增物料", , , , , , "物料编号='" & Me.物料基本信息子窗体.Form!物料编号 & "'"
End Sub

Private Sub 物料编号_DblClick(Cancel As Integer)
    DoCmd.OpenForm "物料基本信息_新增物料", , , , , , "物料编号='" & Me!物料编号 & "'"
End Sub

Private Sub Form_Load()
    If Not IsNull(Me.OpenArgs) Then
        Me.DataEntry = False
        Me.Filter = Me.OpenArgs
        Me.FilterOn = True
    Else
        Me.DataEntry = True
    End If
End Sub
作者: stvent    时间: 2009-8-22 16:27
dddddd
Henry D. Sy 发表于 2009-8-22 15:53

谢Henry,用另一窗体是可以实现,但我想就是用同一窗体来实现新增及编辑,能否通过修改窗体的Caption属性来定义?
当点编辑时,弹出窗体的Caption属性为“编辑物料”
当点新增时,弹出的窗体的Caption属性为“新增物料”
所以,另一问题是,如何可以通过按键,在打开窗体的时候修改Caption
如我例中,A窗体有新增,修改按键,当点新增时,弹出窗出B,其Caption为“新增物料”,当点修改按键时,其Caption为“编辑物料”
未知想法可否?
作者: Henry D. Sy    时间: 2009-8-22 16:41
Private Sub Form_Load()
    If Not IsNull(Me.OpenArgs) Then
        Me.DataEntry = False
        Me.Filter = Me.OpenArgs
        Me.FilterOn = True
        Me.Caption = "编辑物料"
    Else
        Me.DataEntry = True
        Me.Caption = "新增物料"
    End If
End Sub
作者: stvent    时间: 2009-8-22 16:41
呵呵,刚才看错了,你是要在不增加窗体的前提下:

Private Sub 编辑物料_Click()
    DoCmd.OpenForm "物料基本信息_新增物料", , , , , , "物料编号='" & Me.物料基本信息子窗体.Form!物料编号 & "'"
End Sub
...
Henry D. Sy 发表于 2009-8-22 16:11

谢谢henry,,嗯,前辈在此,我想多问一个问题
现有三张表,A、B、C
A表中有字段为物料编号,物料名称,类别,
B表中有物料编号,物料名称
C表中有物料编号,类别
A表中的物料编号是通过DoCmd.RunSQL "INSERT INTO A (物料编号)SELECT 。。。“得出的,插入后,物料名称,及类别为空!
想问问henry,用什么方法可以用B表及C表来补充A表中的物料名称及类别字段内容!
作者: Henry D. Sy    时间: 2009-8-22 16:47
其实只要通过b。c建立关系,就可以得出a
没有必要再追加,
当然如果想新增一个a表,可以先b,c建立关系做一个查询aa,然后一次性追加aa的记录到a表即可。
作者: stvent    时间: 2009-8-22 17:07
其实只要通过b。c建立关系,就可以得出a
没有必要再追加,
当然如果想新增一个a表,可以先b,c建立关系做一个查询aa,然后一次性追加aa的记录到a表即可。
Henry D. Sy 发表于 2009-8-22 16:47

你的意思是,是否在我追到A表后,再运行查询,得出AA,然后,再将AA追到A表中,这样在速度运算上不就慢了?能否一次性追加到A表中,即在我第一次追加A表时完成?
作者: Henry D. Sy    时间: 2009-8-23 11:00
不是的。
是通过bc连接可以得到查询aa,
作者: champilot    时间: 2009-8-24 10:55
谢谢!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3