Sữ dụng SQL trong Excel?

Liên hệ QC

Davidsy

Thành viên mới
Tham gia
18/12/06
Bài viết
32
Được thích
3
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.

Bạn có thể tham khảo http://www.giaiphapexcel.com/forum/showthread.php?t=651

Bạn có thể làm CRUD (Create, Read, Update, Delete) với file Excel như 1 DB (mỗi sheet là 1 table)
 
@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!
 
Bạn dùng Visual Basic 6.0 nhé. Chạy file *.vbp là biết ngay ấy mà.

Nếu làm trong Excel thì chắc cũng tương tự thôi.
 
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

Các bạn có thể tham khảo
 
Theo tôi nghĩ, nếu đã dùng ADO rồi, thì bạn nên dùng Access hay các cơ sở dữ liệu khác để lưu trữ dữ liệu. Nó sẽ dễ dàng hơn.

Lê Văn Duyệt
 
levanduyet đã viết:
Theo tôi nghĩ, nếu đã dùng ADO rồi, thì bạn nên dùng Access hay các cơ sở dữ liệu khác để lưu trữ dữ liệu. Nó sẽ dễ dàng hơn.

Lê Văn Duyệt

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
 
Web KT
Back
Top Bottom