Office中国论坛/Access中国论坛

标题: 请各位老师看看如何将主窗体里一个子窗体数据复制到另一个子窗体中. [打印本页]

作者: yanwei82123300    时间: 2017-3-21 19:20
标题: 请各位老师看看如何将主窗体里一个子窗体数据复制到另一个子窗体中.
本帖最后由 yanwei82123300 于 2017-3-21 19:31 编辑

请各位老师看看如何将主窗体里一个子窗体数据复制到另一个子窗体中,(批量,可以选择1条或者多条),谢谢
我想
依据tab_COtoPACKINGLIST subform子窗体aa_status控件的值(如果为真时)将选择的数据复制到tab_SANWA_PACKINGLIST_TPRY subform子窗体中,然后将选择的数据完成追加后,将选择的数据删除。
附件的例子是可以选择数据后点击命令"记录点击到箱单"进行数据的复制,但是没有办法将选择的数据完成追加后,将选择的数据删除。

作者: 站到终点站    时间: 2017-3-21 22:01
直接运行删除查询,然后requery不行吗?
作者: yanwei82123300    时间: 2017-3-22 07:37
我想复制(追加)哪条数据就删除哪条。
作者: Henry D. Sy    时间: 2017-3-22 09:16
  1. Private Sub Command8_Click()
  2.     Dim sSQL As String
  3.     sSQL = "INSERT INTO tab_SANWA_PACKINGLIST_TPRY ( PO_NO, SANWA_ITEM, ITEM_DESC, ORDER_QTY, SHIP_DATE )" _
  4.          & " SELECT tab_COtoPACKINGLIST.PO_NO, tab_COtoPACKINGLIST.SANWA_ITEM, tab_COtoPACKINGLIST.ITEM_DESC, tab_COtoPACKINGLIST.ORDER_QTY, tab_COtoPACKINGLIST.SHIP_DATE" _
  5.          & " FROM tab_COtoPACKINGLIST" _
  6.          & " WHERE (((tab_COtoPACKINGLIST.aa_status)=True))"
  7.     CurrentDb.Execute sSQL
  8.     sSQL = "DELETE FROM tab_COtoPACKINGLIST WHERE (((tab_COtoPACKINGLIST.aa_status)=True))"
  9.     CurrentDb.Execute sSQL
  10.     Me.tab_COtoPACKINGLIST_subform.Requery
  11.     Me.tab_SANWA_PACKINGLIST_TPRY_subform.Requery
  12. End Sub
复制代码

作者: Henry D. Sy    时间: 2017-3-22 10:01
如果要加上判断有没有选择记录.,也不用像你这么复杂,只要
  1. Private Sub Command8_Click()

  2.     Dim sSQL As String
  3.     Dim L As Long

  4.     L = DCount("ORDER_QTY", "tab_COtoPACKINGLIST", "aa_status=True")

  5.     If L <= 0 Then
  6.         MsgBox "还没有选择记录,不能添加"
  7.         Exit Sub
  8.     End If

  9.     sSQL = "INSERT INTO tab_SANWA_PACKINGLIST_TPRY ( PO_NO, SANWA_ITEM, ITEM_DESC, ORDER_QTY, SHIP_DATE )" _
  10.          & " SELECT tab_COtoPACKINGLIST.PO_NO, tab_COtoPACKINGLIST.SANWA_ITEM, tab_COtoPACKINGLIST.ITEM_DESC, tab_COtoPACKINGLIST.ORDER_QTY, tab_COtoPACKINGLIST.SHIP_DATE" _
  11.          & " FROM tab_COtoPACKINGLIST" _
  12.          & " WHERE (((tab_COtoPACKINGLIST.aa_status)=True))"
  13.     CurrentDb.Execute sSQL

  14.     sSQL = "DELETE FROM tab_COtoPACKINGLIST WHERE (((tab_COtoPACKINGLIST.aa_status)=True))"
  15.     CurrentDb.Execute sSQL

  16.     Me.tab_COtoPACKINGLIST_subform.Requery
  17.     Me.tab_SANWA_PACKINGLIST_TPRY_subform.Requery

  18. End Sub
复制代码

作者: yanwei82123300    时间: 2017-3-22 10:34
Henry D. Sy 谢谢老师帮助!




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