minhtungph > 19-10-17, 08:55 AM
tranthanhan1962 > 19-10-17, 10:22 AM
(19-10-17, 08:55 AM)minhtungph Đã viết: - Xin chào các bạn, sau một thời gian tìm hiểu cũng như đọc 2 trang bài viết của Anh Le Hồng Đức và với thói quen làm việc trên Excel nên mình khá ưng ý với việc truy xuất dữ liệu bằng Unbound Form, trong quá trình tìm hiểu mình có 1 số thắc mắc sauNếu bạn đã làm việc với access. Thì phải tạo thói quen làm việc với access. Không thể chạy xe tải gây sự cố rồi bảo hồi giờ tôi có thói quen chạy xe du lịch nên chạy xe tải không quen. Form access liện kết với table qua recordsource. Bạn làm việc với nó như làm việc trực tiếp với table. Nó sẽ tự kiểm tra khóa chính và báo lỗi ngay lập tức (có viết code thì chỉ viết code báo lỗi tiếng việt vì access báo lỗi bằng tiếng Anh). Sướng như thế mà bạn giữ thói quen của excel để làm gì? File đính kèm bạn chưa share
- Ở file đính kèm mình đã làm được chức năng thêm mới, tuy nhiên mình không hài lòng lắm bởi vì vẫn còn phải duyệt từng dòng trong Recordset để kiểm tra khóa chính có tồn tại không, không biết có phương thức nào giống FileSystemObject là FSO.Exists(ID) , để mình kiểm một lần rồi add dữ liệu mới vào, xin các bạn tối ưu code thêm giúp mình.
- phần thứ 2 mình không làm được, khi người dùng click vào 1 dòng trong sub form thì dữ liệu dòng đó sẽ hiện lên các control tương ứng trên form main để mình cập nhật hoặc xóa dòng đó, mình biết đó là sự kiện Click trên sub form nhưng không biết bắt index thế nào, mong các bạn giúp đỡ.
File đính kèm
PMT
minhtungph > 19-10-17, 11:09 AM
tranthanhan1962 > 19-10-17, 01:48 PM
minhtungph > 19-10-17, 02:53 PM
minhtungph > 19-10-17, 03:31 PM
tranthanhan1962 > 19-10-17, 04:00 PM
ongke0711 > 19-10-17, 11:48 PM
(19-10-17, 08:55 AM)minhtungph Đã viết: - Ở file đính kèm mình đã làm được chức năng thêm mới, tuy nhiên mình không hài lòng lắm bởi vì vẫn còn phải duyệt từng dòng trong Recordset để kiểm tra khóa chính có tồn tại không, không biết có phương thức nào giống FileSystemObject là FSO.Exists(ID) , để mình kiểm một lần rồi add dữ liệu mới vào, xin các bạn tối ưu code thêm giúp mình.
- phần thứ 2 mình không làm được, khi người dùng click vào 1 dòng trong sub form thì dữ liệu dòng đó sẽ hiện lên các control tương ứng trên form main để mình cập nhật hoặc xóa dòng đó, mình biết đó là sự kiện Click trên sub form nhưng không biết bắt index thế nào, mong các bạn giúp đỡ.
Private Sub MAVPP_BeforeUpdate(Cancel As Integer)
If DLookup("MAVPP", "VPP", "[MAVPP]='" & Me.MaVPP & "'") Then
MsgBox "Ma nay da ton tai", vbOKOnly, "Thong bao!"
Cancel = True
Me.Undo
End If
End Sub
Public Function GetRecord(rs As DAO.Recordset, frm As Form)
Dim fld As Field
Dim ctl As control
For Each fld In rs.Fields
For Each ctl In frm.Controls
If ctl.Name = "txt" & fld.Name Or ctl.Name = "cbo" & fld.Name Or ctl.Name = "chk" & fld.Name Then
ctl = rs.Fields("" & fld.Name & "").Value
ElseIf ctl.Name = "img" & fld.Name Then
On Error Resume Next
ctl.Picture = CStr(rs.Fields("" & fld.Name & "").Value)
End If
Next
Next
End Function
longkd_bvct@yahoo.com.vn > 03-12-19, 06:11 PM
ongke0711 > 03-12-19, 09:34 PM
(03-12-19, 06:11 PM)longkd_bvct@yahoo.com.vn Đã viết: Em làm theo hướng dẫn sao không được nhỉ
Anh xem dùm em nhé
https://drive.google.com/file/d/1-uN9nLK...sp=sharing