Giúp em code load dữ liệu từ file đang đóng vào listbox trên form của file đang mở (1 người xem)

Liên hệ QC

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

quoc nhat

Thành viên tiêu biểu
Tham gia
8/3/12
Bài viết
567
Được thích
43
Nghề nghiệp
cán bộ ngành y tế
Kính nhờ các anh chị chỉ giáo giúp.
Vì muốn giảm dung lượng cho file làm việc chính nên em đã tạo ra một File phụ để chứa dữ liệu có sẵn " DATA".
cụ thể trong file chính là em muốn chọn dữ liệu trên form để làm việc nhưng form lại lấy dữ liệu từ File đang đóng (tên file " DATA")
Vấn đề này quá khó với em nên nhờ các anh chị giúp sức.
Em cảm ơn
 

File đính kèm

Mình gửi File mô phỏng:
mục đích là khi nhấn nút "Find" thì hộp thoại Open hiện ra sau khi chon Folder để hiển thị ra các File1-5 và sẽ tự động quét tất cả các file đó nếu file nào có Code đúng = số trên Lable1(số này sẽ tự động thay đổi) thì lấy các giá trị Value1,2,3.

Giúp mình với nhe.
Thanks!
Đã có lần tôi đề nghị bạn gửi file mô phỏng mà bạn không chịu:

Mã:
Private Sub cmdTest_Click()
    Dim strFileName As Variant
    Dim i As Byte, strKQ As String
    Dim cn As Object, rs As Object
    strFileName = Application.GetOpenFilename("Excel Files (*.xls), *.xls", _
                  Title:="Select files", MultiSelect:=True)
    If IsArray(strFileName) Then
        For i = LBound(strFileName) To UBound(strFileName)
            Set cn = CreateObject("ADODB.Connection")
            Set rs = CreateObject("ADODB.Recordset")
            cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFileName(i) & _
                       ";Extended Properties=""Excel 8.0;HDR=No;"";"
            rs.Open "SELECT * " & _
                    "FROM [AOS$] " & _
                    "WHERE F2='" & Label1.Caption & "'", cn
            If rs.EOF Then
                MsgBox "File trong duong dan: " & vbNewLine & strFileName(i) & vbNewLine & _
                        "Khong thoa dieu kien.", vbOKOnly + vbCritical, "Tim kiem"
                rs.Close
            Else
                rs.Close
                rs.Open "SELECT * FROM [AOS$] ", cn
                rs.MoveFirst
                Do While Not rs.EOF
                    strKQ = strKQ & rs![F1] & " - " & rs![F2] & vbNewLine
                    rs.MoveNext
                Loop
                MsgBox "File trong duong dan: " & vbNewLine & strFileName(i) & vbNewLine & _
                       "Co ket qua nhu sau: " & vbNewLine & strKQ
                rs.Close
            End If
            Set rs = Nothing
            cn.Close:    Set cn = Nothing
        Next i
    End If
End Sub
Lưu ý: Khi nhấn nút test, hộp thoại mở ra, bạn nhấn giử phím ctrl+chọn bao nhiêu file tùy ý rồi nhấn Open nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Đã có lần tôi đề nghị bạn gửi file mô phỏng mà bạn không chịu:

Mã:
Private Sub cmdTest_Click()
    Dim strFileName As Variant
    Dim i As Byte, strKQ As String
    Dim cn As Object, rs As Object
    strFileName = Application.GetOpenFilename("Excel Files (*.xls), *.xls", _
                  Title:="Select files", MultiSelect:=True)
    If IsArray(strFileName) Then
        For i = LBound(strFileName) To UBound(strFileName)
            Set cn = CreateObject("ADODB.Connection")
            Set rs = CreateObject("ADODB.Recordset")
            cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFileName(i) & _
                       ";Extended Properties=""Excel 8.0;HDR=No;"";"
            rs.Open "SELECT * " & _
                    "FROM [AOS$] " & _
                    "WHERE F2='" & Label1.Caption & "'", cn
            If rs.EOF Then
                MsgBox "File trong duong dan: " & vbNewLine & strFileName(i) & vbNewLine & _
                        "Khong thoa dieu kien.", vbOKOnly + vbCritical, "Tim kiem"
                rs.Close
            Else
                rs.Close
                rs.Open "SELECT * FROM [AOS$] ", cn
                rs.MoveFirst
                Do While Not rs.EOF
                    strKQ = strKQ & rs![F1] & " - " & rs![F2] & vbNewLine
                    rs.MoveNext
                Loop
                MsgBox "File trong duong dan: " & vbNewLine & strFileName(i) & vbNewLine & _
                       "Co ket qua nhu sau: " & vbNewLine & strKQ
                rs.Close
            End If
            Set rs = Nothing
            cn.Close:    Set cn = Nothing
        Next i
    End If
End Sub
Lưu ý: Khi nhấn nút test, hộp thoại mở ra, bạn nhấn giử phím ctrl+chọn bao nhiêu file tùy ý rồi nhấn Open nhé.

Mình cảm ơn nhiều!!!
bây giờ mình sẽ chạy thử
 
Upvote 0
Đã có lần tôi đề nghị bạn gửi file mô phỏng mà bạn không chịu:

Mã:
Private Sub cmdTest_Click()
    Dim strFileName As Variant
    Dim i As Byte, strKQ As String
    Dim cn As Object, rs As Object
    strFileName = Application.GetOpenFilename("Excel Files (*.xls), *.xls", _
                  Title:="Select files", MultiSelect:=True)
    If IsArray(strFileName) Then
        For i = LBound(strFileName) To UBound(strFileName)
            Set cn = CreateObject("ADODB.Connection")
            Set rs = CreateObject("ADODB.Recordset")
            cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFileName(i) & _
                       ";Extended Properties=""Excel 8.0;HDR=No;"";"
            rs.Open "SELECT * " & _
                    "FROM [AOS$] " & _
                    "WHERE F2='" & Label1.Caption & "'", cn
            If rs.EOF Then
                MsgBox "File trong duong dan: " & vbNewLine & strFileName(i) & vbNewLine & _
                        "Khong thoa dieu kien.", vbOKOnly + vbCritical, "Tim kiem"
                rs.Close
            Else
                rs.Close
                rs.Open "SELECT * FROM [AOS$] ", cn
                rs.MoveFirst
                Do While Not rs.EOF
                    strKQ = strKQ & rs![F1] & " - " & rs![F2] & vbNewLine
                    rs.MoveNext
                Loop
                MsgBox "File trong duong dan: " & vbNewLine & strFileName(i) & vbNewLine & _
                       "Co ket qua nhu sau: " & vbNewLine & strKQ
                rs.Close
            End If
            Set rs = Nothing
            cn.Close:    Set cn = Nothing
        Next i
    End If
End Sub
Lưu ý: Khi nhấn nút test, hộp thoại mở ra, bạn nhấn giử phím ctrl+chọn bao nhiêu file tùy ý rồi nhấn Open nhé.


Bạn cho mình hỏi thêm là có cách nào tự động chọn tất cả các file trong Folder đó ko?(trong khi ta chỉ cần chọn 1 file). và có thể in tên các file đó vào 1 nơi bất kỳ nào đó.
Thanks!!!
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn cho mình hỏi thêm là có cách nào tự động chọn tất cả các file trong Folder đó ko? và có thể in tên các file đó vào 1 nơi bất kỳ nào đó.
Thanks!!!

Tôi chỉ có thể giúp bạn đến đây là việc lấy dữ liệu ở file đang đóng, còn bạn muốn thêm nữa thì bạn chờ người khác ngang qua giúp nhé.
 
Upvote 0
Gui Hai Lua

mình đã chạy thử và chọn tất cả các file và đã OK

Mình cảm ơn.
Bạn thật tuyệt!!!
 
Upvote 0
Bác cho em hỏi cách tìm từ bất kỳ trong cột "TEN BENH" được không ạ? Vì em thử nó chi tìm từ đầu tiên thôi không tìm từ có trong 1 chuỗi ký tự ạ
 
Upvote 0
Web KT

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

Back
Top Bottom