Thực hiện make table query từ Excel

  • Thread starter Longlv
  • Ngày gửi
L

Longlv

Sơ cấp
21/10/05
44
1
8
46
Hanoi
Các bác làm ơn giúp với:
Tôi có một file Excel lấy dữ liệu từ một table của file Access khác, table này được tạo từ một make table query. Mỗi khi muốn refresh dữ liệu trong file Excel lại phải chuyển sang file Access để chạy make table query. Các bác có cách nào chạy Make table querry đó từ Excel không?

Cảm ơn các bác rất nhiều.
 
Khóa học Quản trị dòng tiền
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear Longlv,
------------
Câu hỏi này rất hay, nhưng mà em kiểm tra lại lại không thấy hiện tượng như bác nói: Khi em refresh trên Excel sau khi thay đổi dữ liệu trong Table nguồn (không phải query) dữ liệu vẫn được cập nhật! Bác kiểm tra lại hoặc gửi cho em file của bác xem thế nào!
 
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Ái dà,
-----
Em hiểu ý rồi, hoá ra bác sử dụng Query Make table! Cái này buộc phải động đến VBA rồi.
Trong MSE VBA Project, bác tham chiếu thư viện Microsoft Access Object Library. Thư viện này cho phép ta làm việc với đối tượng MS Access ngay trên dự án của MS Excell (các đối tượng, phương thức và thuộc tính có đầy đủ như trong module của MSA).
Em cũng sẽ nghiên cứu cùng bác!
 
L

Longlv

Sơ cấp
21/10/05
44
1
8
46
Hanoi
Cảm ơn Bác Đào Việt Cường nhé

Theo chỉ dẫn của bác em đã mở được Database bằng OpenCurrentDatabase, chạy được Make table querry bằng DoCmd.RunSQL.
Bác cho em hỏi thêm một chút nhé: Em có biến khai báo bằng khóa Public ở Module của Access, làm thế nào để truy cập được đến nó từ VBA của Excel.
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
Longlv nói:
Bác cho em hỏi thêm một chút nhé: Em có biến khai báo bằng khóa Public ở Module của Access, làm thế nào để truy cập được đến nó từ VBA của Excel.

Thế gọi hàm của Acess trong VBA của Excel có được ko? Nếu được thì viết 1 cái hàm bên Access dạng GetXValue, sau đó gọi hàm đó trong Access để trả lại giá trị của X (Trong đó X là cái tên của biến Public đó).

Public Function GetXValue()
'// Return X's Value
GetXValue = X
End Function

Thường thì phải xây dựng object với việc viết class, rồi get property... Tóm lại là phải tìm cách "chấm" 1 cái thì nó lên properties or methods, muốn thế thì phải nghĩ đến cách viết hướng đối tượng.
 
L

Longlv

Sơ cấp
21/10/05
44
1
8
46
Hanoi
Cảm ơn bác hai2hai, theo cách bác hướng dẫn em đã làm được rồi. Còn cách viết class module hay hướng đối tượng thì em chịu, vì em cũng chỉ biết đôi chút về Excel, Access thôi. Một lần nữa xin cảm ơn bác hai2hai và Đào Việt Cường.
 
QDuc

QDuc

Cao cấp
3/6/06
254
18
18
Biển khơi
Longlv nói:
Tôi lấy dữ liệu từ một table của file Access khác, table này được tạo từ một make table query. Mỗi khi muốn refresh dữ liệu trong file Excel lại phải chuyển sang file Access để chạy make table query. Các bác có cách nào chạy Make table querry đó từ Excel không? Cảm ơn các bác rất nhiều.
Còn cách nào khác nữa không các bác, ví dụ viết hàm truy xuất dữ liệu nguồn (của make table query luôn) tại excel để hiện lên 1 table con (tại excel) như kết quả 1 Make Table Query? Xin các cao thủ cho í kiến với VD cụ thể để tham khảo!
ý tôi là để khỏi liên kết thư viện gì đó, thì lôi CSDL từ access qua luôn excel; Và từ đây ta "Query tạo bảng" để có 1 CSDL con như là kết quả của query bên access; Nếu được điều này thì accees sẽ chỉ thành nơi chứa CSDL đơn thuần mà thôi
Cám ơn nhiều lắm!
 
Sửa lần cuối:

Xem nhiều

Webketoan Zalo OA