-
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:
Hi Bạn MTNQ
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
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:
Vấn đề đã được giải quyết. Cám ơn mn(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:
Hi Bạn MTNQ
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
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
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") & "#"