-
Để form access khi khởi động luôn hiển thị bản ghi cuối cùng khi đóng
vinamilk0510 > 04-08-15, 02:59 PM
Cái tiêu đề của mình nó hơi lủng củng
Nôm na là thế này: mình tạo một form để nhập chứng từ, trường ma-kh hàng sẽ tạo một list sổ xuống (lấy dữ liệu từ bảng ds-khach-hang), mình có gán một phím tắt (F5) để mở bảng ds-khach-hang thêm dữ liệu mới và thêm sự kiện dbl-click gán dữ liệu vào trường ma-kh trên form nhập liệu...
Nhưng mình gặp một rắc rối là khi quay trở lại form nhập liệu thì record được chọn là record đầu tiên, không phải record mình muốn sửa
(ví dụ mình đang ở record số 8, số 9, hay số n thì khi trở lại form nó đều ở vị trí record số 1)
Mình mò mãi mà chưa ra, có bạn nào biết chỉ hộ mình với. Thanks nhiều
Link file access:
https://drive.google.com/file/d/0B19dkHU...sp=sharing -
RE: Để form access khi khởi động luôn hiển thị bản ghi cuối cùng khi đóng
ledangvan > 04-08-15, 03:30 PM
(04-08-15, 02:59 PM)vinamilk0510 Đã viết: Cái tiêu đề của mình nó hơi lủng củng
Nôm na là thế này: mình tạo một form để nhập chứng từ, trường ma-kh hàng sẽ tạo một list sổ xuống (lấy dữ liệu từ bảng ds-khach-hang), mình có gán một phím tắt (F5) để mở bảng ds-khach-hang thêm dữ liệu mới và thêm sự kiện dbl-click gán dữ liệu vào trường ma-kh trên form nhập liệu...
Nhưng mình gặp một rắc rối là khi quay trở lại form nhập liệu thì record được chọn là record đầu tiên, không phải record mình muốn sửa
(ví dụ mình đang ở record số 8, số 9, hay số n thì khi trở lại form nó đều ở vị trí record số 1)
Mình mò mãi mà chưa ra, có bạn nào biết chỉ hộ mình với. Thanks nhiều
Link file access:
https://drive.google.com/file/d/0B19dkHU...sp=sharing
Cho cái này vào thu tục Load Form : DoCmd.GoToRecord , "", acLast -
RE: Để form access khi khởi động luôn hiển thị bản ghi cuối cùng khi đóng
vinamilk0510 > 04-08-15, 04:26 PM
(04-08-15, 03:30 PM)ledangvan Đã viết:
(04-08-15, 02:59 PM)vinamilk0510 Đã viết: Cái tiêu đề của mình nó hơi lủng củng
Nôm na là thế này: mình tạo một form để nhập chứng từ, trường ma-kh hàng sẽ tạo một list sổ xuống (lấy dữ liệu từ bảng ds-khach-hang), mình có gán một phím tắt (F5) để mở bảng ds-khach-hang thêm dữ liệu mới và thêm sự kiện dbl-click gán dữ liệu vào trường ma-kh trên form nhập liệu...
Nhưng mình gặp một rắc rối là khi quay trở lại form nhập liệu thì record được chọn là record đầu tiên, không phải record mình muốn sửa
(ví dụ mình đang ở record số 8, số 9, hay số n thì khi trở lại form nó đều ở vị trí record số 1)
Mình mò mãi mà chưa ra, có bạn nào biết chỉ hộ mình với. Thanks nhiều
Link file access:
https://drive.google.com/file/d/0B19dkHU...sp=sharing
Cho cái này vào thu tục Load Form : DoCmd.GoToRecord , "", acLast
Vẫn không được bạn ơi, khi chuyển qua form khác thì vị trí record lại chuyển về record số 1 (nên khi mình dblclick vào bảng ds-khach-hang thì nó gán mã vào trường ma-kh của record số 1 chứ không phải record mình cần thêm)
https://lh3.googleusercontent.com/sbDacC...76-h667-no
https://lh3.googleusercontent.com/vLSnpH...76-h667-no -
RE: Để form access khi khởi động luôn hiển thị bản ghi cuối cùng khi đóng
ledangvan > 04-08-15, 04:33 PM
(04-08-15, 04:26 PM)vinamilk0510 Đã viết:
(04-08-15, 03:30 PM)ledangvan Đã viết:
(04-08-15, 02:59 PM)vinamilk0510 Đã viết: Cái tiêu đề của mình nó hơi lủng củng
Nôm na là thế này: mình tạo một form để nhập chứng từ, trường ma-kh hàng sẽ tạo một list sổ xuống (lấy dữ liệu từ bảng ds-khach-hang), mình có gán một phím tắt (F5) để mở bảng ds-khach-hang thêm dữ liệu mới và thêm sự kiện dbl-click gán dữ liệu vào trường ma-kh trên form nhập liệu...
Nhưng mình gặp một rắc rối là khi quay trở lại form nhập liệu thì record được chọn là record đầu tiên, không phải record mình muốn sửa
(ví dụ mình đang ở record số 8, số 9, hay số n thì khi trở lại form nó đều ở vị trí record số 1)
Mình mò mãi mà chưa ra, có bạn nào biết chỉ hộ mình với. Thanks nhiều
Link file access:
https://drive.google.com/file/d/0B19dkHU...sp=sharing
Cho cái này vào thu tục Load Form : DoCmd.GoToRecord , "", acLast
Vẫn không được bạn ơi, khi chuyển qua form khác thì vị trí record lại chuyển về record số 1 (nên khi mình dblclick vào bảng ds-khach-hang thì nó gán mã vào trường ma-kh của record số 1 chứ không phải record mình cần thêm)
https://lh3.googleusercontent.com/sbDacC...76-h667-no
https://lh3.googleusercontent.com/vLSnpH...76-h667-no
Ở thủ tục Dblclick bạn cho như sau :
Docmd.open form...
DoCmd.GoToRecord , "", acLast
và thêm ở form ... thủ tục open : DoCmd.GoToRecord , "", acLast
Chắc là được -
RE: Để form access khi khởi động luôn hiển thị bản ghi cuối cùng khi đóng
MTNQ > 05-08-15, 07:31 AM
(04-08-15, 02:59 PM)vinamilk0510 Đã viết: Cái tiêu đề của mình nó hơi lủng củng
Nôm na là thế này: mình tạo một form để nhập chứng từ, trường ma-kh hàng sẽ tạo một list sổ xuống (lấy dữ liệu từ bảng ds-khach-hang), mình có gán một phím tắt (F5) để mở bảng ds-khach-hang thêm dữ liệu mới và thêm sự kiện dbl-click gán dữ liệu vào trường ma-kh trên form nhập liệu...
Nhưng mình gặp một rắc rối là khi quay trở lại form nhập liệu thì record được chọn là record đầu tiên, không phải record mình muốn sửa
(ví dụ mình đang ở record số 8, số 9, hay số n thì khi trở lại form nó đều ở vị trí record số 1)
Mình mò mãi mà chưa ra, có bạn nào biết chỉ hộ mình với. Thanks nhiều
Link file access:
https://drive.google.com/file/d/0B19dkHU...sp=sharing
1-Đơn giản là bạn thay phím F5 bằng phím khác cho sự kiện key down của cbo ma-kh vì F5 là phím chhức năng refresh của hệ thống. (Nếu muốn sử dụng các phím chức năng như F1,F2,... bạn nên dùng macro Autokeys)
2-Giả sử thay phím F5 bằng phím F3, nên code như sau:
Mã:Private Sub ma_kh_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF3 Then
DoCmd.OpenForm "frm-ds-khach-hang", acFormDS
DoCmd.GoToControl Forms![frm-ds-khach-hang]![ma-kh].Name
DoCmd.FindRecord Forms![frm-chung-tu-thu]![ma-kh]
End If
End Sub
-Hoặc:
Bạn thử cả hai cách trên để thấy sự khác biệt nhéMã:Private Sub ma_kh_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF3 Then
DoCmd.OpenForm "frm-ds-khach-hang", acFormDS, , "[ma-kh] = '" & Me.ma_kh & "'"
End If
End Sub
3-Code sự kiện DblClick của form frm-ds-khach-hang mình thấy không ổn:
Mã:Private Sub Form_DblClick(Cancel As Integer)
If Forms![frm-chung-tu-thu]![ma-kh] <> "" Then
If MsgBox(DLookup("[message]", "tbl-message", "[id]=1"), vbYesNo, DLookup("[title]", "tbl-message", "[id]=1")) = vbYes Then
Forms![frm-chung-tu-thu]![ma-kh] = Forms![frm-ds-khach-hang]![ma-kh]
End If
Else 'Gan gia tri ma khach hang tu bang ds-khach-hang vào bang chung-tu-thu
Forms![frm-chung-tu-thu]![ma-kh] = Forms![frm-ds-khach-hang]![ma-kh]
End If
DoCmd.Close acForm, "frm-ds-khach-hang"
End Sub
-> nếu người dùng thay đổi mã khách hàng sau đó bấm No khi được hỏi có ghi đè lên mã khách hàng trên form chứng từ hay không, thì chứng từ đó sẽ bị sai ma-kh? -
RE: Để form access khi khởi động luôn hiển thị bản ghi cuối cùng khi đóng
vinamilk0510 > 05-08-15, 02:45 PM
Cám ơn mấy bạn mình làm được rồi!
sự kiện DblClick của form frm-ds-khach-hang mình thấy nó hoạt động bình thường mà bạn, nếu người dùng bấm No khi được hỏi có ghi đè lên mã khách hàng trên form chứng từ hay không thì mã khách hàng trên form chứng từ không thay đổi.
(hình như bạn hơi hiểu lầm ý đồ của mình khi mở form ds-khach-hang: mở bảng danh sách đầy đủ để tìm, thêm, sửa danh sách khách hàng chứ không phải là chỉ lọc mỗi một mã khách hàng đâu bạn nên mình áp dụng đoạn code trên của bạn nhưng bỏ phần lọc mã khách hàng ở cuối)