• Liên kết dữ liệu giữa subform và mainform
  • RE: Liên kết dữ liệu giữa subform và mainform

    tvn_hut > 21-05-16, 11:08 PM

    (02-03-16, 12:14 PM)MatTroiNguQuen Đã viết: Form của bạn không dùng cách trên được, để đáp ứng được các yêu cầu như bạn nói thì làm như sau:

    1/Bỏ điều kiện lọc của subform (xóa DK trong query Qryupdate)

    2/Code cho sự kiện AfterUpdate của Cobline và Cobgrp như sau:

    Mã:
    Private Sub Cobline_AfterUpdate()
       ApplyFilter
    End Sub

    Private Sub Cobgrp_AfterUpdate()
       ApplyFilter
    End Sub

    Private Sub ApplyFilter()
       Dim strFilter As String
       strFilter = "[Group] Like '*" & Me.[Cobgrp] & "'"
       strFilter = strFilter & " AND [Line] Like '*" & Me.[CobLine] & "'"
       'Debug.Print strFilter
       Me.Frmsubupdate.Form.Filter = strFilter
       Me.Frmsubupdate.Form.FilterOn = True
    End Sub

    3/Thủ tục Form_Current của subform sửa lại như sau:
    Mã:
    Private Sub Form_Current()
       Dim rs As DAO.Recordset
     
       Set rs = Me.Parent.Recordset.Clone
       rs.FindFirst "[Staffcode] = '" & Nz(Me.txtStaffcode, "") & "'"
       If Not rs.NoMatch Then
           Me.Parent.Bookmark = rs.Bookmark
       End If
     
       Set rs = Nothing
    End Sub

    Dear bạn MTNQ: nếu mình thêm 1 điều kiện lọc theo ngày nữa thì cần câu lệnh như nào. Mình có áp dụng dạng lọc từ ngày đến ngày trên diễn đàn nhưng nó không chạy.  và thêm nữa nếu mình muốn thực hiện 1 nút nhấn để chạy code thì bỏ applyfilter bằng sự kiện click fk bạn
  • RE: Liên kết dữ liệu giữa subform và mainform

    tvn_hut > 13-08-17, 09:15 PM

    (02-03-16, 12:14 PM)MTNQ Đã viết: Form của bạn không dùng cách trên được, để đáp ứng được các yêu cầu như bạn nói thì làm như sau:

    1/Bỏ điều kiện lọc của subform (xóa DK trong query Qryupdate)

    2/Code cho sự kiện AfterUpdate của Cobline và Cobgrp như sau:

    Mã:
    Private Sub Cobline_AfterUpdate()
       ApplyFilter
    End Sub

    Private Sub Cobgrp_AfterUpdate()
       ApplyFilter
    End Sub

    Private Sub ApplyFilter()
       Dim strFilter As String
       strFilter = "[Group] Like '*" & Me.[Cobgrp] & "'"
       strFilter = strFilter & " AND [Line] Like '*" & Me.[CobLine] & "'"
       'Debug.Print strFilter
       Me.Frmsubupdate.Form.Filter = strFilter
       Me.Frmsubupdate.Form.FilterOn = True
    End Sub

    3/Thủ tục Form_Current của subform sửa lại như sau:
    Mã:
    Private Sub Form_Current()
       Dim rs As DAO.Recordset
     
       Set rs = Me.Parent.Recordset.Clone
       rs.FindFirst "[Staffcode] = '" & Nz(Me.txtStaffcode, "") & "'"
       If Not rs.NoMatch Then
           Me.Parent.Bookmark = rs.Bookmark
       End If
     
       Set rs = Nothing
    End Sub
    Hi Bạn MTNQ
    với lọc theo ngày, mình sử dụng between date and date nhưng ko rõ syntax có đúng hay ko mà nó cứ báo lỗi

    Code của mình như sau:
    Private Sub ApplyFilter()
       Dim strFilter As String
       strFilter = "[Line] Like '*" & Me.[Cboline] & "'"
       'strFilter = strFilter & " AND [Line] Like '*" & Me.[CobLine] & "'"
       strFilter = strFilter & " AND [Machine] Like '*" & Me.[Cboprocess] & "'"
       strFilter = strFilter & " AND [Proddate] Between  # " & Me.[Cbofrom] & " # and # " & Me.[Cboto] & "#"
       strFilter = strFilter & " AND [BDtype] Like '*" & Me.[CboBDtype] & "'"
       strFilter = strFilter & " AND [BDcode] Like '*" & Me.[CboBDcode] & "'"
       strFilter = strFilter & " AND [Mcode] Like '*" & Me.[CboMcode] & "'"
       strFilter = strFilter & " AND [Totlosstime] '>= " & Me.[Cbotime] & "'"
       'strFilter = strFilter & " AND [WO] Like '*" & Me.[CobWO] & "'"
       'Debug.Print strFilter
       Me.Frmsubbreakfilter2.Form.Filter = strFilter
       Me.Frmsubbreakfilter2.Form.FilterOn = True
       
    End Sub

    Thêm nữa mình muốn làm 1 nút nhấn để thực hiện lọc thì add vào sự kiện click như nào. cái bạn hướng dẫn là tự động lọc.
  • RE: Liên kết dữ liệu giữa subform và mainform

    tvn_hut > 13-08-17, 10:23 PM

    (13-08-17, 09:15 PM)tvn_hut Đã viết:
    (02-03-16, 12:14 PM)MTNQ Đã viết: Form của bạn không dùng cách trên được, để đáp ứng được các yêu cầu như bạn nói thì làm như sau:

    1/Bỏ điều kiện lọc của subform (xóa DK trong query Qryupdate)

    2/Code cho sự kiện AfterUpdate của Cobline và Cobgrp như sau:

    Mã:
    Private Sub Cobline_AfterUpdate()
       ApplyFilter
    End Sub

    Private Sub Cobgrp_AfterUpdate()
       ApplyFilter
    End Sub

    Private Sub ApplyFilter()
       Dim strFilter As String
       strFilter = "[Group] Like '*" & Me.[Cobgrp] & "'"
       strFilter = strFilter & " AND [Line] Like '*" & Me.[CobLine] & "'"
       'Debug.Print strFilter
       Me.Frmsubupdate.Form.Filter = strFilter
       Me.Frmsubupdate.Form.FilterOn = True
    End Sub

    3/Thủ tục Form_Current của subform sửa lại như sau:
    Mã:
    Private Sub Form_Current()
       Dim rs As DAO.Recordset
     
       Set rs = Me.Parent.Recordset.Clone
       rs.FindFirst "[Staffcode] = '" & Nz(Me.txtStaffcode, "") & "'"
       If Not rs.NoMatch Then
           Me.Parent.Bookmark = rs.Bookmark
       End If
     
       Set rs = Nothing
    End Sub
    Hi Bạn MTNQ
    với lọc theo ngày, mình sử dụng between date and date nhưng ko rõ syntax có đúng hay ko mà nó cứ báo lỗi

    Code của mình như sau:
    Private Sub ApplyFilter()
       Dim strFilter As String
       strFilter = "[Line] Like '*" & Me.[Cboline] & "'"
       'strFilter = strFilter & " AND [Line] Like '*" & Me.[CobLine] & "'"
       strFilter = strFilter & " AND [Machine] Like '*" & Me.[Cboprocess] & "'"
       strFilter = strFilter & " AND [Proddate] Between  # " & Me.[Cbofrom] & " # and # " & Me.[Cboto] & "#"
       strFilter = strFilter & " AND [BDtype] Like '*" & Me.[CboBDtype] & "'"
       strFilter = strFilter & " AND [BDcode] Like '*" & Me.[CboBDcode] & "'"
       strFilter = strFilter & " AND [Mcode] Like '*" & Me.[CboMcode] & "'"
       strFilter = strFilter & " AND [Totlosstime] '>= " & Me.[Cbotime] & "'"
       'strFilter = strFilter & " AND [WO] Like '*" & Me.[CobWO] & "'"
       'Debug.Print strFilter
       Me.Frmsubbreakfilter2.Form.Filter = strFilter
       Me.Frmsubbreakfilter2.Form.FilterOn = True
       
    End Sub

    Thêm nữa mình muốn làm 1 nút nhấn để thực hiện lọc thì add vào sự kiện click như nào. cái bạn hướng dẫn là tự động lọc.
    Vấn đề đã được giải quyết. Cám ơn mn
  • RE: Liên kết dữ liệu giữa subform và mainform

    MTNQ > 14-08-17, 12:41 AM

    (13-08-17, 10:23 PM)tvn_hut Đã viết: Hi Bạn MTNQ
    với lọc theo ngày, mình sử dụng between date and date nhưng ko rõ syntax có đúng hay ko mà nó cứ báo lỗi

    Code của mình như sau:
    Private Sub ApplyFilter()
       Dim strFilter As String
       strFilter = "[Line] Like '*" & Me.[Cboline] & "'"
       'strFilter = strFilter & " AND [Line] Like '*" & Me.[CobLine] & "'"
       strFilter = strFilter & " AND [Machine] Like '*" & Me.[Cboprocess] & "'"
       strFilter = strFilter & " AND [Proddate] Between  # " & Me.[Cbofrom] & " # and # " & Me.[Cboto] & "#"
       strFilter = strFilter & " AND [BDtype] Like '*" & Me.[CboBDtype] & "'"
       strFilter = strFilter & " AND [BDcode] Like '*" & Me.[CboBDcode] & "'"
       strFilter = strFilter & " AND [Mcode] Like '*" & Me.[CboMcode] & "'"
       strFilter = strFilter & " AND [Totlosstime] '>= " & Me.[Cbotime] & "'"
       'strFilter = strFilter & " AND [WO] Like '*" & Me.[CobWO] & "'"
       'Debug.Print strFilter
       Me.Frmsubbreakfilter2.Form.Filter = strFilter
       Me.Frmsubbreakfilter2.Form.FilterOn = True
       
    End Sub

    Vấn đề đã được giải quyết. Cám ơn mn

    Lưu ý dòng này:
     strFilter = strFilter & " AND [Proddate] Between  # " & Me.[Cbofrom] & " # and # " & Me.[Cboto] & "#"
    Ngày tháng trong chuỗi truy vấn giữa hai dấu # luôn phải theo định dạng tháng trước ngày sau:
    Mã:
    strFilter = strFilter & " AND [Proddate] Between  # " & Format(Me.[Cbofrom], "mm/dd/yyyy") & " # and # " & Format(Me.[Cboto], "mm/dd/yyyy") & "#"