• Để form access khi khởi động luôn hiển thị bản ghi cuối cùng khi đóng
  • Để 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  038 

    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  027 )
    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  007

    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  038 

    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  027 )
    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  007

    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  038 

    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  027 )
    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  007

    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  038 

    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  027 )
    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  007

    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  038 

    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  027 )
    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  007

    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:
    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
    Bạn thử cả hai cách trên để thấy sự khác biệt nhé

    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  007 )