Lấy dữ liệu từ 1 file khác (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

matran25251325

Thành viên tiêu biểu
Tham gia
13/1/11
Bài viết
424
Được thích
39
Chủ đề này cũng có 1 số bài nhưng thật sự e chưa tìm được bài nào thích hợp với file của e nên e mong mọi người giúp. Em có 2 file nguồn và Dich, ở file Dich sau khi gọi Form ChonMH thì dữ liệu sẽ được hiện trong form để em chọn các công việc (dữ liệu lấy từ cột A đến R của file Nguon). Trước em để dữ liệu chung 1 file nhưng vì dữ liệu quá nhiều nên file nặng và mở chậm. Mong mọi người giúp đỡ em. -\\/.
 

File đính kèm

Lần chỉnh sửa cuối:
Chủ đề này cũng có 1 số bài nhưng thật sự e chưa tìm được bài nào thích hợp với file của e nên e mong mọi người giúp. Em có 2 file nguồn và Dich, ở file Dich sau khi gọi Form ChonMH thì dữ liệu sẽ được hiện trong form để em chọn các công việc (dữ liệu lấy từ cột A đến R của file Nguon). Trước em để dữ liệu chung 1 file nhưng vì dữ liệu quá nhiều nên file nặng và mở chậm. Mong mọi người giúp đỡ em. -\\/.

Bạn dùng code sau nhé:

[GPECODE=sql]Private Sub UserForm_Initialize()
hWin = FindWindow("ThunderDFrame", Me.Caption)
SetWindowProc hWin, True
Dim adoConn As Object, adoRS As Object
Set adoConn = CreateObject("ADODB.Connection")
Set adoRS = CreateObject("ADODB.Recordset")
With adoConn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.Path & _
"\Nguon.xls;Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"
.Open
End With
With adoRS
.ActiveConnection = adoConn
.Open "select * from [Sheet1$A4:R373] "
If Not (.bof And .EOF) Then
Me.ListBox1.ColumnCount = .Fields.Count
Me.ListBox1.Column = .getrows()
End If
End With
With ListBox1
.ListStyle = fmListStyleOption
.MultiSelect = fmMultiSelectMulti
End With
adoRS.Close: Set adoRS = Nothing
adoConn.Close: Set adoConn = Nothing

End Sub
[/GPECODE]
 
Upvote 0
Anh Hai Lúa ơi có vẻ chưa ổn lắm.
- Sao e mở form và chọn 1 mà hiệu thì dữ liệu chỉ lấy cột A, B, C mà không lấy dữ liệu đến cột R sheet Nguon
- Có thể Cắt những dòng trống khi mở form lên được không?
 

File đính kèm

Upvote 0
Anh Hai Lúa ơi có vẻ chưa ổn lắm.
- Sao e mở form và chọn 1 mà hiệu thì dữ liệu chỉ lấy cột A, B, C mà không lấy dữ liệu đến cột R sheet Nguon
- Có thể Cắt những dòng trống khi mở form lên được không?

Mình test ok mà, đk gọi là dòng trống là cột nào vậy bạn?
 

File đính kèm

Upvote 0
- Với file bài 4, ví dụ em chọn mã hiệu AE.11425 thì nó chỉ hiện mã hiệu, TP công việc, và đơn vị thôi. Thay vì công việc này trong Nguồn có giá trị các cột khác (bác mở file Nguồn kiểm tra giúp e). Đại loại như file đính kèm.
 

File đính kèm

Upvote 0
- Với file bài 4, ví dụ em chọn mã hiệu AE.11425 thì nó chỉ hiện mã hiệu, TP công việc, và đơn vị thôi. Thay vì công việc này trong Nguồn có giá trị các cột khác (bác mở file Nguồn kiểm tra giúp e). Đại loại như file đính kèm.

Ý bạn là chỉ lấy dữ liệu 3 cột đầu với điều kiện là chỉ lấy những dòng có dữ liệu của 3 cột này?
 
Upvote 0
Dạ ý em là ở file Dich khi mở form e chọn 1 mã hiệu (ví dụ AA.22211) thì mã hiệu này bên sheet nguồn có dữ liệu từ hàng A9 đến R16. Còn code của anh nó chỉ lấy cột A B C.
 
Upvote 0
Upvote 0
Dạ em nghĩ là vậy vì em cũng có đọc qua 1 tí về ADO. Dù gì cũng TK bác nhiều. Ko bít còn cách nào không nhỉ
 
Upvote 0
Dạ em nghĩ là vậy vì em cũng có đọc qua 1 tí về ADO. Dù gì cũng TK bác nhiều. Ko bít còn cách nào không nhỉ
Thử dùng cách này xem :
-- Kết nối tới file nguồn :
[GPECODE=vb]
Sub ktr()
Workbooks.Open "C:\Nguon.xls"
Application.Visible = False
End Sub
[/GPECODE]
Sau khi mở được file Nguồn rồi, bạn xử lý dữ liệu theo điều kiện của mình là ok
 
Upvote 0
Vấn đề là csdl của bạn không ổn nên khó có thể giúp, nếu đã tạo csdl từ 1 file khác thì phải sắp xếp và xây dựng csdl hợp lý.
 
Upvote 0
Dạ, vậy theo anh em nên xếp thế nào ạ?Vì trước giờ CSDL em toàn làm theo mẫu như thế. Với lại muốn sắp xếp hợp lý thì mình phải hiểu thật nhiều về cái mình cần làm. Nên muốn áp dụng ADO thì phải hiểu ADO bắt buộc phải xếp dữ liệu theo hướng nào, do đó với em mới đọc sơ ADO thì khó mà có hướng sắp xếp theo yêu cầu được.
 
Upvote 0
Dạ, vậy theo anh em nên xếp thế nào ạ?Vì trước giờ CSDL em toàn làm theo mẫu như thế. Với lại muốn sắp xếp hợp lý thì mình phải hiểu thật nhiều về cái mình cần làm. Nên muốn áp dụng ADO thì phải hiểu ADO bắt buộc phải xếp dữ liệu theo hướng nào, do đó với em mới đọc sơ ADO thì khó mà có hướng sắp xếp theo yêu cầu được.
Trước mắt là mỗi dòng cũng như mỗi loại đều phải có mã số, dữ liệu bạn muốn nạp vào listbox thế nào thì csdl của bạn thế ấy...
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom