• Lấy dữ liệu từ database khác vào database hiện hành.
  • Lấy dữ liệu từ database khác vào database hiện hành.

    Minh Tiên > 06-08-13, 05:24 PM

    Nhờ các Pro chỉ giáo:
    tmtien261) có một chương trình Access. tmtien261 muốn mỗi khi chạy sẽ chọn nguồn data ngoài (data khác) cho chương trình. Khi chọn xong chương trình sẽ Load data từ các table của data ngoài vào các table hiện hành của chương trình. Việc chọn nguồn dữ liệu tmtien261 đã thực hiện được thông qua biến Public Mydata và công cụ duyệt file khi lựa chọn nguồn data.
    Xong khi viết đoạn code nạp dữ liệu cho table thì bị báo lỗi tại dòng bôi đỏ ở dưới. Đoạn code như sau:

    Dim rs As DAO.Recordset
    Dim Mydb As DAO.Database
    Set Mydb = OpenDatabase(Mydata, True, False, "MS Access;PWD=a")
    Set rs = Mydb.OpenRecordset("Tentable", dbOpenTable)
    Dim rsup As DAO.Recordset
    Set rsup = CurrentDb().OpenRecordset("Tentable", dbOpenTable)

    If rsup.RecordCount > 0 Then
    CurrentDb.Execute "Delete * from Tentable"
    End If
    If rs.RecordCount > 0 Then
    rs.MoveFirst
    Do Until rs.EOF
    rsup.AddNew
    rsup.Fields("ID") = rs.Fields("ID")
    rsup.Fields("Diengiai") = rs.Fields("Diengiai")
    ...
    rsup.Update
    rs.MoveNext
    Loop
    rs.Close: rsup.Close
    Set Mydb = Nothing
    End If
    Không biết lỗi trên là do nguyên nhân gì ? Nhờ các pro chỉ giúp cách khắc phục lỗi hoặc cách nào để Load các table vào data hiện hành được nhanh chóng không ?
    Cảm ơn nhiều !
  • RE: Lấy dữ liệu từ database khác vào database hiện hành.

    trav2t > 07-08-13, 08:43 AM

    (06-08-13, 05:24 PM)tmtien261 Đã viết: Nhờ các Pro chỉ giáo:
    tmtien261) có một chương trình Access. tmtien261 muốn mỗi khi chạy sẽ chọn nguồn data ngoài (data khác) cho chương trình. Khi chọn xong chương trình sẽ Load data từ các table của data ngoài vào các table hiện hành của chương trình. Việc chọn nguồn dữ liệu tmtien261 đã thực hiện được thông qua biến Public Mydata và công cụ duyệt file khi lựa chọn nguồn data.
    Xong khi viết đoạn code nạp dữ liệu cho table thì bị báo lỗi tại dòng bôi đỏ ở dưới. Đoạn code như sau:

    Dim rs As DAO.Recordset
    Dim Mydb As DAO.Database
    Set Mydb = OpenDatabase(Mydata, True, False, "MS Access;PWD=a")
    Set rs = Mydb.OpenRecordset("Tentable", dbOpenTable)
    Dim rsup As DAO.Recordset
    Set rsup = CurrentDb().OpenRecordset("Tentable", dbOpenTable)

    If rsup.RecordCount > 0 Then
    CurrentDb.Execute "Delete * from Tentable"
    End If
    If rs.RecordCount > 0 Then
    rs.MoveFirst
    Do Until rs.EOF
    rsup.AddNew
    rsup.Fields("ID") = rs.Fields("ID")
    rsup.Fields("Diengiai") = rs.Fields("Diengiai")
    ...
    rsup.Update
    rs.MoveNext
    Loop
    rs.Close: rsup.Close
    Set Mydb = Nothing
    End If
    Không biết lỗi trên là do nguyên nhân gì ? Nhờ các pro chỉ giúp cách khắc phục lỗi hoặc cách nào để Load các table vào data hiện hành được nhanh chóng không ?
    Cảm ơn nhiều !
    Ban sửa lại dòng này nhé
    Mã PHP:
    Set rsup CurrentDb().OpenRecordset("Tentable"dbOpenTable
    thay bằng dòng này
    Mã PHP:
    Dim rsup As Recordset
    Set rsup 
    CurrentDb.OpenRecordset("Tentable"dbOpenTable
  • RE: Lấy dữ liệu từ database khác vào database hiện hành.

    Minh Tiên > 07-08-13, 03:18 PM

    Cảm ơn bạn đã quan tâm. Sửa đổi như bạn vẫn thế thôi bạn à ? Trong office khác thế nào mình ko rõ nhưng trong Ms Ac office 2007 thì chữ Currentdb hay Currentdb() đều được cả.
    Trường hợp cụ thể của tmtien261, khi mở file dạng "Open Exclusive" thì bị báo lỗi ở dòng như đã nêu và lỗi cụ thể:
    " Run-time error 3045
    Could not use ....(tenfile+ đường dẫn) ; file already in use"

    Rất mong các sư huynh chỉ giáo giúp !
    Cảm ơn nhiều !
  • RE: Lấy dữ liệu từ database khác vào database hiện hành.

    trav2t > 09-08-13, 09:53 AM

    (07-08-13, 03:18 PM)tmtien261 Đã viết: Cảm ơn bạn đã quan tâm. Sửa đổi như bạn vẫn thế thôi bạn à ? Trong office khác thế nào mình ko rõ nhưng trong Ms Ac office 2007 thì chữ Currentdb hay Currentdb() đều được cả.
    Trường hợp cụ thể của tmtien261, khi mở file dạng "Open Exclusive" thì bị báo lỗi ở dòng như đã nêu và lỗi cụ thể:
    " Run-time error 3045
    Could not use ....(tenfile+ đường dẫn) ; file already in use"

    Rất mong các sư huynh chỉ giáo giúp !
    Cảm ơn nhiều !
    Bạn thay lại dòng này. Thay DAO.Recordset = Recordset
    Mã PHP:
    Dim rsup As Recordset
    Set rsup 
    CurrentDb().OpenRecordset("Tentable"dbOpenTable
  • RE: Lấy dữ liệu từ database khác vào database hiện hành.

    Minh Tiên > 14-08-13, 05:54 PM

    Vẫn không được trav2t ơi ! Các Pro ơi xin chỉ giáo với !