• Rút ngắn thời gian khi get data từ sqlserver lên table on access.
  • Rút ngắn thời gian khi get data từ sqlserver lên table on access.

    HoangManh > 22-05-17, 07:19 AM

    Em muốn hỏi là có các phương pháp nào có thể giúp mình giảm thiểu thời gian khi lấy dữ liệu từ sql lên ạ
  • RE: Rút ngắn thời gian khi get data từ sqlserver lên table on access.

    maidinhdan > 22-05-17, 10:41 AM

    (22-05-17, 07:19 AM)HoangManh Đã viết: Em muốn hỏi là có các phương pháp nào có thể giúp mình giảm thiểu thời gian khi lấy dữ liệu từ sql lên ạ

    Câu trả lời là tuỳ vào số lượng mẫu tin được lấy về

    Về phương pháp lấy thì có rất nhiều cách và công thêm số lượng bạn muốn lấy về là bao nhiêu mẫu tin.

    Ví dụ:
    1. Trả về theo từng dòng
    2. Trả về toàn bộ
    + Trực tiếp
    + Gián tiếp

    * Và cần lưu ý:

    + Dù bạn chọn theo cách nào đi chăng nửa, thì luôn nghĩ đến việc ứng dụng bị treo nếu số lượng mẫu tin trả về quá lớn, nên bạn phải sử dụng hàm sleep để xử lý sự kiện này.
    + Thứ 2, nhiều khi chúng ta muốn load về cả ngàn mẫu tin, mà load về không biết để làm gì? bạn có xem hết không, vì vậy kịch bản phải cụ thể, 1 lần load về cần ít nhất và nhiều nhất bao nhiêu mẫu tin để ta tương tác.
    + Thứ 3, trên SQL Server hổ trợ rất nhiều giao thức xử lý linh động, nên bạn cần nghiên cứu trên SQL Server và các đối tượng quản lý dữ liệu trước, trước khi bắt đầu thiết kế trên Access.

    Thân mến!
  • RE: Rút ngắn thời gian khi get data từ sqlserver lên table on access.

    HoangManh > 22-05-17, 12:02 PM

    Em cũng nghỉ các phưong án trên. nhưng không biết đã hết chưa. nhưng vì yêu cầu . thì ngoài việc update all record thì mất thời gian thì còn lại thì không. Anh làm ơn cho em hỏi cái countrecord trong vba em có viết là
    Set lRs = lDb.OpenRecordset(lsSql)
    llRecord = lRs.RecordCount
    Không hiểu sao kết quả chỉ bằng 1 . mặc dù sau đo em chạy cái do-loop vẫn bình thường.
  • RE: Rút ngắn thời gian khi get data từ sqlserver lên table on access.

    maidinhdan > 22-05-17, 05:13 PM

    (22-05-17, 12:02 PM)HoangManh Đã viết: Em cũng nghỉ các phưong án trên. nhưng không biết đã hết chưa. nhưng vì yêu cầu . thì ngoài việc update all record thì mất thời gian thì còn lại thì không. Anh làm ơn cho em hỏi cái countrecord trong vba em có viết là
    Set lRs = lDb.OpenRecordset(lsSql)
    llRecord = lRs.RecordCount
    Không hiểu sao kết quả chỉ bằng 1 . mặc dù sau đo em chạy cái do-loop vẫn bình thường.

    Trả lời: để đếm được Tổng mẫu tin ta phải di chuyển con trỏ đến mẫu tin cuối cùng, sau đó mới gọi phương thức RecordCount để đếm tổng số mẫu tin.

    Ví dụ
    Mã PHP:
    Set rst DB.OpenRecordset(Sql
    rst.MoveLast
    DemMauTin
    rst.RecordCount