Bên Access tôi thường dùng phương thức Docmd.Run SQLstring ... để sử lý. Không biết bên Excel tôi có làm như vậy đươc không?
Tôi có một bảng tính excel, làm cách nào để Query qua bảng này ...?
Cảm ơn nhiều nhiều ...
Sử dụng ADO như bình thường làm trong VB. 1 File Excel làm Database, 1 file Excel khác làm chương trình. File chương trình thì bạn có thể reference đến ADO.
@Hai2hai cho tôi hỏi thêm :
1- bạn sử dụng Tool gì để đưa dữ liệu lên form như một Datasheet vậy (tôi nhớ khi tạo form, có công cụ Grill ... gì gì đó mà tôi quên mất!)
2- Cách sử dụng SQL string, lấy dữ liệu từ Sheet, làm DataSource cho cái 'tool' này?
Tks!
Sub proQuery() Dim varConn As String
Dim varSql As String
Dim varQuery As QueryTable varConn = "ODBC;DefaultDir=E:\Garson;Driver={Microsoft Text-Treiber (*.txt; *.csv)};DriverId=27;FIL=text;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;
SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;" varSql = "SELECT DISTINCT `Generic Call Detail Report Rev`.`Subaccount #:`
FROM `Generic Call Detail Report Rev.csv` `Generic Call Detail Report Rev`" Set varQuery = ActiveSheet.QueryTables.Add( Connection:=varConn,
Destination:=Range("a1"), Sql:=varSql) varQuery.Refresh End Sub
Sub proRefresh() Selection.QueryTable.Refresh BackgroundQuery:=False End Sub
Mình đồng quan điểm với bác Duyệt. Nếu chương trình đã viết bằng VBA for Excel thì sử dụng Access là quá lắm rồi. Còn nếu thích SQL thì nên viết chương trình ngay từ đầu bằng VB