• Lưu vết chương trình khi nhập liệu
  • RE: Lưu vết chương trình khi nhập liệu

    kiengxuong > 24-06-15, 02:15 PM

    (23-06-15, 10:12 AM)Noname Đã viết:
    (22-06-15, 06:12 PM)kiengxuong Đã viết: Xin chào mọi người mình làm giống bạn đã chạy ok trên file acc bình thường  nhưng khi mình cho table tblLuuVetChuongTrinh lên sql rồi mình link table tới sql  nó báo lỗi ở phần code 
    Function CapNhatLuuVet(fUserName, fOldValue, fNewValue, fControlName, fFormName)

    Dim DB As DAO.Database
    Dim rst As DAO.Recordset
    Set DB = CurrentDb
    Set rst = DB.OpenRecordset("tblLuuVetChuongTrinh", dbOpenSnapshot)
    rst.AddNew   báo lỗi
    rst!TenUser = fUserName
    rst!GiaTriCu = fOldValue
    rst!GiatriMoi = fNewValue
    rst!TenControl = fControlName
    rst!TenForm = fFormName
    rst!NgayCapNhat = Date
    rst!GioCapNhat = time()
    rst.Update
    rst.Close
    Set rst = Nothing
    Set DB = Nothing
    End Function

    mong bạn chỉnh sửa giúp mình Cảm ơn bạn rất nhiều 
    khongventoan@gmail.com

    Nó báo lỗi gì vậy bạn?
    Đối với table dạng link, nếu bạn muốn thêm xóa sửa thì truyền đối số là dbOpenDynaset
    Nếu chỉ muốn truy vấn (như dlookup) thì dùng dbOpenSnapshot sẽ cải thiện tốc độ.
    Cảm ơn bạn đã trả lời mình nó báo lỗi
     Run-time error '3622':

    you must use dbseechanges option with Openrecordset when accessing a SQL server table that has an INDENTITY column
    cám ơn bạn xem giúp mình
  • RE: Lưu vết chương trình khi nhập liệu

    Noname > 24-06-15, 02:29 PM

    (24-06-15, 02:15 PM)kiengxuong Đã viết: Cảm ơn bạn đã trả lời mình nó báo lỗi
     Run-time error '3622':

    you must use dbseechanges option with Openrecordset when accessing a SQL server table that has an INDENTITY column
    cám ơn bạn xem giúp mình

    Bạn đổi dòng này:
    Mã:
    Set rst = DB.OpenRecordset("tblLuuVetChuongTrinh", dbOpenSnapshot)
    Thành
    Mã:
    Set rst = DB.OpenRecordset("tblLuuVetChuongTrinh", dbOpenDynaset)
  • RE: Lưu vết chương trình khi nhập liệu

    kiengxuong > 24-06-15, 03:10 PM

    (24-06-15, 02:29 PM)Noname Đã viết:
    (24-06-15, 02:15 PM)kiengxuong Đã viết: Cảm ơn bạn đã trả lời mình nó báo lỗi
     Run-time error '3622':

    you must use dbseechanges option with Openrecordset when accessing a SQL server table that has an INDENTITY column
    cám ơn bạn xem giúp mình

    Bạn đổi dòng này:
    Mã:
    Set rst = DB.OpenRecordset("tblLuuVetChuongTrinh", dbOpenSnapshot)
    Thành
    Mã:
    Set rst = DB.OpenRecordset("tblLuuVetChuongTrinh", dbOpenDynaset)

    mình sửa lại dbopendynaset rồi nó báo lỗi:
    run-time error '3622
    you must use dbseechanges option with Openrecordset when accessing a SQL server table that has an INDENTITY column
    cám ơn bạn nhiều
  • RE: Lưu vết chương trình khi nhập liệu

    Noname > 24-06-15, 03:41 PM

    (24-06-15, 03:10 PM)kiengxuong Đã viết:
    (24-06-15, 02:29 PM)Noname Đã viết:
    (24-06-15, 02:15 PM)kiengxuong Đã viết: Cảm ơn bạn đã trả lời mình nó báo lỗi
     Run-time error '3622':

    you must use dbseechanges option with Openrecordset when accessing a SQL server table that has an INDENTITY column
    cám ơn bạn xem giúp mình

    Bạn đổi dòng này:
    Mã:
    Set rst = DB.OpenRecordset("tblLuuVetChuongTrinh", dbOpenSnapshot)
    Thành
    Mã:
    Set rst = DB.OpenRecordset("tblLuuVetChuongTrinh", dbOpenDynaset)

    mình sửa lại dbopendynaset rồi nó báo lỗi:
    run-time error '3622
    you must use dbseechanges option with Openrecordset when accessing a SQL server table that has an INDENTITY column
    cám ơn bạn nhiều
    Tham khảo bài này để sửa lỗi nhé!
    http://thuthuataccess.com/forum/thread-1957.html
  • RE: Lưu vết chương trình khi nhập liệu

    kiengxuong > 26-06-15, 05:06 PM

    (24-06-15, 03:10 PM)kiengxuong Đã viết:
    (24-06-15, 02:29 PM)Noname Đã viết:
    (24-06-15, 02:15 PM)kiengxuong Đã viết: Cảm ơn bạn đã trả lời mình nó báo lỗi
     Run-time error '3622':

    you must use dbseechanges option with Openrecordset when accessing a SQL server table that has an INDENTITY column
    cám ơn bạn xem giúp mình

    Bạn đổi dòng này:
    Mã:
    Set rst = DB.OpenRecordset("tblLuuVetChuongTrinh", dbOpenSnapshot)
    Thành
    Mã:
    Set rst = DB.OpenRecordset("tblLuuVetChuongTrinh", dbOpenDynaset)

    mình sửa lại dbopendynaset rồi nó báo lỗi:
    run-time error '3622
    you must use dbseechanges option with Openrecordset when accessing a SQL server table that has an INDENTITY column
    cám ơn bạn nhiều
    Có bạn nào biet cách link table trong access tới FTP server không chỉ mình làm với
  • RE: Lưu vết chương trình khi nhập liệu

    tvn_hut > 27-02-16, 01:31 PM

    Xin hỏi tác giả. Có cách nào để tblcapnhatluuviet chỉ lưu dữ liệu trong khoảng thời gian mới nhất khoảng 3 tháng chẳng hạn. Vì nếu ko có cách kiểm soát thì chương trình sẽ ngày 1 nặng và chậm.
  • RE: LƯU VẾT CHƯƠNG TRÌNH KHI NHẬP LIỆU

    hungle2006 > 25-04-16, 12:29 AM

    (31-05-12, 02:53 PM)n2kp Đã viết:
    (29-05-12, 05:40 PM)connguoi123 Đã viết: Trong trường hợp mình muốn trong bảng tblLuuvetchuongtrinh có nêu rõ được cả bản ghi nào được user tác động kô  ( để biết người sử dụng tác động vào record nào - Ví dụ  số hóa đơn nào chẳng hạn )? Vậy phải làm như nào, mong các bạn chỉ giáo thêm, tôi thấy cái này hay và tiện lợi quá. Cám ơn rất nhiều.

    Chào bạn,
    Bạn có thể thêm một trường (vd:IDHoadon) vào tblLuuvetchuong trình và trong Function CapNhatLuuVet bạn thêm một tham số IDhoadon, lúc đó Function CapNhatLuuVet chi tiết sẽ như thế này:
    Function CapNhatLuuVet(IDhoadon, fUserName, fOldValue, fNewValue, fControlName, fFormName)
    Dim db As Database
    Dim rst As Recordset
    Set db = CurrentDb
    Set rst = db.OpenRecordset("tblLuuVetChuongTrinh")
    rst.AddNew
    rst!IDhoadon = IDhoadon
    rst!TenUser = fUserName
    rst!GiaTriCu = fOldValue
    rst!GiatriMoi = fNewValue
    rst!TenControl = fControlName
    rst!TenForm = fFormName
    rst!NgayCapNhat = Date
    rst!GioCapNhat = Time()
    rst.Update
    rst.Close
    Set rst = Nothing
    Set db = Nothing
    End Function

    Thân chào.
    Nếu làm như thế này thì chỉ các Form có IDhoadon mới lưu được sao, Form có ID khác thì phải làm modun khác à các bác
  • RE: LƯU VẾT CHƯƠNG TRÌNH KHI NHẬP LIỆU

    maidinhdan > 25-04-16, 09:39 AM

    (25-04-16, 12:29 AM)hungle2006 Đã viết: Nếu làm như thế này thì chỉ các Form có IDhoadon mới lưu được sao, Form có ID khác thì phải làm modun khác à các bác

    Không phải là Form có IDhoadon mà là table Lưu vết chương trình có cột là IDhoadon ( ở đây bạn đặt kiểu dữ liệu gì mà sau này bạn có thể truy xuất để theo dõi.

    Còn cái trên kia là một hàm phối hợp với nút Lưu hay sự kiện sữa xóa gì đó!
    Thân!
  • RE: Lưu vết chương trình khi nhập liệu

    hungle2006 > 06-05-16, 12:01 PM

    Bạn N2kp ơi, tôi thêm trường Idhoadon như bạn hướng dẫn không được, báo lỗi ở hàm, bạn xem lại giùm nhé