java表单刷新怎么实现_从表单2添加新记录时,不会刷新Access 2007表单1

我有表1(Part_Photos),记录源设置为表(tbl_Photos) .

Tbl_Photos:Part_Number是文本字段,图片是附件字段

Cbo_Parts未绑定并列出表中的所有部分(Part_Number字段),并且当选择部件时,表中的附件显示在图片(附件)控件中 . List_Parts_Selected列表框是根据用户选择的要审阅的部分列表从前一个表单和不同的记录源填充的,并且在此表单上仅供参考(只读控件) .

61d4eba6-dad0-487e-807d-621ac367eece.jpg

用户应验证列表框中的部件是否已在表中 . 如果没有,则单击Add Record(s)命令按钮 .

Private Sub Cmd_Add_Click()

Dim ctrl As Control

Dim varItem As Variant

Set ctrl = Forms!CommercialSummary.List_PN

DoCmd.OpenForm "Add_Part_Photos", acNormal, , , , acDialog

'empty PN listbox on Form Add_Part_Photos

Forms!Part_Photos.List_Parts_Selected.RowSource = vbNullString

'Loop through selected PNs in Commercial Summary Form and copy to PN

combo box in Photos form

For Each varItem In ctrl.ItemsSelected

Forms!Part_Photos.List_Parts_Selected.AddItem ctrl.Column(2, varItem)

Next varItem

End Sub

然后打开表单2(Add_Part_Photos),使用与表单1相同的列表框 - 仅供参考,以提醒用户最初选择哪些部分进行查看 . 表格2与表格1具有相同的记录来源 .

c31be911-6867-446a-b3f6-7a43da287733.jpg

用户可以双击列表框中的某个部分来填充文本框(Control Source = Part_Number) . 然后,用户单击“图片”控件以添加附件(“控件来源=图片”),然后单击“保存照片”命令按钮 . 对于要添加到表格的每个部分/照片组合重复此操作 . 完成添加照片后,用户单击“退出”命令 . 或者可以启动取消命令 .

Private Sub Cmd_Save_Click()

'Save the record.

RunCommand acCmdSaveRecord

'Load a new record after the save.

DoCmd.GoToRecord , , acNewRec

End Sub

Private Sub Cmd_Exit_Click()

If Me.Dirty Then

Me.Dirty = False

End If

Me.Visible = False

End Sub

Private Sub Cmd_Cancel_Click()

Me.Undo

Me.Tag = "Cancel"

DoCmd.Close , , acSaveNo

End Sub

返回到表单1后,只有最后添加的部分显示在组合框中 . 如何显示所有添加的部件?我尝试将此添加到Form 1 On Activate事件,但它不起作用:

Private Sub Form_Activate()

Form.Requery

End Sub

此外,并不完全相关,但如何在返回到表单1时阻止附件控件显示表中的第一条记录?目前,它不会像最初打开时那样显示空白记录 .

5f11065d-c2d0-4b03-95e8-f67ed105d268.jpg

研究类似的问题,我偶然发现了这篇文章,并试图将代码插入我的数据库:Access: How can I display a new record in one form after creating in a second form

Dim lngPK as String

If Forms!Add_Part_Photos.Tag <> "Cancel" Then

lngPK = Forms!Add_Part_Photos!Part_Number

Application.Echo False

Me.Requery

With Me.RecordsetClone

.FindFirst "[Part_Number]=" & lngPK

If Not .NoMatch Then

If Me.Dirty Then

Me.Dirty = False

End If

Me.Bookmark = .Bookmark

End If

End With

Application.Echo True

End If

DoCmd.Close acForm, "Add_Part_Photos"

当我这样做时,当我返回到表单1时,只显示添加的最后一条记录 .

我是VBA的初学者,我知道这是一个很长的帖子,但我试图提供所有相关数据(我在之前的几个问题中一直在努力) . 任何可以提供的智慧都非常感谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值