Tôi đang cố di chuyển dữ liệu từ một bản ghi trực tiếp vào một mảng. Tôi biết điều này là có thể, nhưng đặc biệt tôi muốn làm điều này trong VBA như thế này đang được thực hiện trong MS Access 2003.Cách điền một mảng với dữ liệu bản ghi
Thông thường tôi sẽ làm một cái gì đó như sau để đạt được điều này:
Dim vaData As Variant
Dim rst As ADODB.Recordset
' Pull data into recordset code here...
' Populate the array with the whole recordset.
vaData = rst.GetRows
gì khác biệt tồn tại giữa VB và VBA mà làm cho loại hoạt động này không hoạt động?
Điều gì về mối quan tâm về hiệu suất? Đây có phải là một hoạt động "đắt tiền" không?
Bản ghi là một mảng và linh hoạt hơn nhiều so với mảng VBA (tức là tham chiếu theo tên cột và không chỉ là chỉ mục cột). Tại sao không chỉ sử dụng recordset trực tiếp? Tôi đã được lập trình trong VBA/DAO cho hơn một thập kỷ và chưa bao giờ sử dụng GetRows. Điều gì khiến bạn nghĩ rằng bạn cần nó? –
Cụ thể để giảm thiểu thời gian kết nối với các đối tượng ADODB khác đang mở. –
Thế còn ADO bị ngắt kết nối thì sao? –