Lấy dữ liệu (theo điều kiện cho trước) từ file không mở.

Liên hệ QC

Bi Bo

Thành viên mới
Tham gia
11/2/09
Bài viết
24
Được thích
0
Tôi là độc giả của GPE từ lâu và tự mày mò nhưng hôm nay có vấn đề này tôi không tự làm được, post lên đây xin mọi người chỉ giúp

Ví dụ:
Trong ổ D có folder Test D:\Test
Trong folder Test có 02 File
1. Report file
2. DATA file

Làm cách nào từ một sự kiện trong sheet Report file, tôi có thể gọi dữ liệu từ DATA file mà không cần mở file DATA này

Tôi có search trên GPE thấy có bài viết về Getopenfilename (hoặc Filedialog gì đó)..nhưng thực sự chưa làm được
 

File đính kèm

  • Test.zip
    8.5 KB · Đọc: 21
Tôi là độc giả của GPE từ lâu và tự mày mò nhưng hôm nay có vấn đề này tôi không tự làm được, post lên đây xin mọi người chỉ giúp

Ví dụ:
Trong ổ D có folder Test D:\Test
Trong folder Test có 02 File
1. Report file
2. DATA file

Làm cách nào từ một sự kiện trong sheet Report file, tôi có thể gọi dữ liệu từ DATA file mà không cần mở file DATA này

Tôi có search trên GPE thấy có bài viết về Getopenfilename (hoặc Filedialog gì đó)..nhưng thực sự chưa làm được

PHP:
Sub ListSQL()
Dim strPath$, MySql$, wbName$, sTmp$
Dim Cnn As New ADODB.Connection
Dim Rcs As New ADODB.Recordset
With Sheet1
  sTmp = CStr(.[B1])
End With
'-------------------------------------------------------------------------
'Tuy chon Loai BC combobox phu hop SQL text sau menh de Where
wbName = "Data.xls"
strPath = ThisWorkbook.Path
wbName = strPath & "\" & wbName
'MsgBox wbName
Set Cnn = New ADODB.Connection
''Tao Ket noi voi file du lieu nguon:
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & wbName & _
                            ";Persist Security Info=False; Extended Properties=Excel 8.0;"
''---------------------------------------------------------------------------
MySql = "SELECT Bill, Month FROM [DATA$]" & Chr(10)
MySql = MySql & "where Month Like '" & sTmp & "%'" & Chr(10)
Rcs.Open MySql, Cnn, adOpenKeyset, adLockOptimistic
''---------------------------------------------------------------------------
With Sheet1
  .Range("A3:B100").ClearContents
  .[A3].CopyFromRecordset Rcs
End With
''Refresh lai hai bien cnEx va Rcs:
Rcs.Close: Set Rcs = Nothing
Cnn.Close: Set Cnn = Nothing
End Sub

Dùng ADO nhé!
 

File đính kèm

  • TestADO.rar
    17.4 KB · Đọc: 73
Upvote 0
#3: câu hỏi ko có chất lượng
MOD xóa giúp nhé
Thanks
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
PHP:
''---------------------------------------------------------------------------
MySql = "SELECT Bill, Month FROM [DATA$]" ' & Chr(10)
MySql = MySql & "where Month Like '" & sTmp & "%'"  '& Chr(10)

Rcs.Open MySql, Cnn, adOpenKeyset, adLockOptimistic

Tôi thử xóa
1. dấu ' đằng sau where month like -----------> code chạy lỗi ngay
2. xóa %' đằng sau sTmp &...........................>> code chạy lỗi

Tôi mù tịt và không hiểu ADO hay SQL
Không hiểu dấu ' và %' này có ý nghĩa gì. Các bác chỉ giúp tại sao lại như vậy?

P.s: Nhân tiện xin các bác viết giúp code để copy dữ liệu từ file đang mở vào file DATA đang đóng nhé
Cám ơn
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Web KT
Back
Top Bottom