Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Tìm trong folder có các file mình cần không
#1
Chào cả nhà,

Mình gặp trường hợp như thế này,mình muốn tìm xem trong folder nào đó có file mình cần hay không

VD: mình cần file A, B, C trong Forder: Newfolder
Trong Newfolder chỉ có file A, B khi đó trong List Box sẽ hiện ra 2 file A, B

Giúp mình với ^^
Cám ơn cả nhà
Chữ ký của haw_4er Xin chào, mình là haw_4er, Tham gia http://thuthuataccess.com/forum từ ngày 20-03 -13.
Reply
Những người đã cảm ơn
#2
Bạn xem trong topic này:
http://thuthuataccess.com/forum/thread-6812.html

Trong File Download: Demo Lock Record And BackupDB_2.rar có thủ tục lấy tên tất cả các file có trong một thư mục vào list box
Chữ ký của MatTroiNguQuen Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn
#3
(17-10-13, 03:02 PM)MatTroiNguQuen Đã viết: Bạn xem trong topic này:
http://thuthuataccess.com/forum/thread-6812.html

Trong File Download: Demo Lock Record And BackupDB_2.rar có thủ tục lấy tên tất cả các file có trong một thư mục vào list box

Trong topic này là tìm các file trong folder luôn,
Ý mình là mình tìm các file nào đó có trong folder đó không? rồi show ra, không thì mình không show, trong này mình không thấy thuật toán này.

Cám ơn bạn^^
Chữ ký của haw_4er Xin chào, mình là haw_4er, Tham gia http://thuthuataccess.com/forum từ ngày 20-03 -13.
Reply
Những người đã cảm ơn
#4
(17-10-13, 04:01 PM)haw_4er Đã viết: Trong topic này là tìm các file trong folder luôn,
Ý mình là mình tìm các file nào đó có trong folder đó không? rồi show ra, không thì mình không show, trong này mình không thấy thuật toán này.

Cám ơn bạn^^

Cũng tương tự mà bạn, chỉ thêm điều kiện lọc vào thôi:
VD:
-Với một text box tên txtBrowseFolder nhập đường dẫn tới thư mục
-Một list box tên lstFile
-Một nút nhấn cmdTimFile
-Một table có trường FileName

Thủ tục để kiểm tra các file trong trường FileName có trong thư mục hay không? Nếu có thì lấy tên vào lstFile, mình sẽ viết như sau:

Mã PHP:
Private Sub cmdTimFile_Click()
On Error Resume Next
    Dim lst 
As ListBox
    Dim txt 
As TextBox
    Dim strFileName 
As String
    Dim strPath 
As String
    Set lst 
Me![lstFile]
    
Set txt Me![txtBrowseFolder]

    If 
IsNull(txtThen
        lst
.RowSource ""
        
Exit Sub
    End 
If

    If 
Dir$(txtvbDirectory) = "" Then
        MsgBox 
"Thu muc " txt " khong ton tai! Vui long kiem tra lai duong dan"vbExclamation"Khong tim thay thu muc!"
        
lst.RowSource ""
        
Exit Sub
    End 
If
  
    
strPath txt
  
    
If Right$(strPath1) <> "\" Then strPath = strPath & "\"
  
        lst.RowSource = ""
  
        strFileName = Dir$(strPath, vbNormal)
  
        If strFileName = DLookup("
FileName", "tblFile", "FileName ='" & strFileName & "'") Then
            lst.AddItem strFileName
        End If
  
    Do While strFileName <> ""
        strFileName = Dir
        If strFileName = DLookup("
FileName", "tblFile", "FileName ='" & strFileName & "'") Then
            lst.AddItem strFileName
        End If
    Loop
    If lst.RowSource = "" Then
        MsgBox "
Không tim thay file yeu cau trong thu muc" & strPath
    End If
End Sub 
Chữ ký của MatTroiNguQuen Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn haw_4er
#5
Nhớ chọn Row source type của list box là Value List

Bạn xem thử file sau:

Demo Show file in folder

[Hình: 955434951_4410256_574_574.jpg]
Chữ ký của MatTroiNguQuen Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn haw_4er
#6
(18-10-13, 12:12 PM)MatTroiNguQuen Đã viết: Nhớ chọn Row source type của list box là Value List

Bạn xem thử file sau:

Demo Show file in folder

[Hình: 955434951_4410256_574_574.jpg]

Mình cám ơn bạn nhiều,

Còn 1 vấn đề mình đang thắc mắc trong phần này, giả sử file mình tìm chỉ có các ký tự đầu thôi, còn 1 vài ký tự số ở phía sau theo như file của bạn mình có các file "Copy_20131018_lkji.txt", nhưng qua ngày hôm sau lại thay đổi tên là "Copy_20131019_acccc" do file mình tìm thay đổi tên phía sau theo ngày và còn 1 số ký tự không cố định.

Khi đó mình dung hàm Dlookup như vậy có đựoc không?

Cám ơn bạn nhiều ^^
Chữ ký của haw_4er Xin chào, mình là haw_4er, Tham gia http://thuthuataccess.com/forum từ ngày 20-03 -13.
Reply
Những người đã cảm ơn
#7
Ý bạn là tìm một cách tương đối?
Vd:
trong trường Filename mình có tên copy.txt
Muốn tìm tất cả các file trong thư mục bắt đầu là "copy" và có cùng định dạng ( đuôi là ".txt" ) thì mình làm như sau:
-Khai báo thêm một biến, vd:
strName = Left(strFileName, 4) & Right(strFileName, 4)

Code cho cmdTimFile_Click sẽ là (mình cắt bớt thay bằng "..."):

Private Sub cmdTimFile_Click()
...
Dim strName As String
...
strFileName = Dir(strPath, vbNormal)
strName = Left(strFileName, 4) & Right(strFileName, 4)
If strName = DLookup("FileName", "tblFile", "FileName ='" & strName & "'") Then

lst.AddItem strFileName
End If

Do While strFileName <> ""
strFileName = Dir
strName = Left(strFileName, 4) & Right(strFileName, 4)
If strName = DLookup("FileName", "tblFile", "FileName ='" & strName & "'") Then

lst.AddItem strFileName
End If
Loop
If lst.RowSource = "" Then
MsgBox "Không tim thay file yeu cau trong thu muc: " & strPath
End If
End Sub
Chữ ký của MatTroiNguQuen Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn
#8
Mình muốn tìm chính xác file đó có trong folder đó hay không luôn?

Mình vd có 2 file sau:
-Thongtindaily*.csv
-Hoahong*.icc
-....

Hằng ngày mình có các file này, do không đồng bộ tên file (* là 1 số ký tự nào đó) và loại file (có file csv, icc,...) nên khi viêt theo code của bạn, tên file và loại file nó đồng nhất ^^

Cám ơn bạn^^
Chữ ký của haw_4er Xin chào, mình là haw_4er, Tham gia http://thuthuataccess.com/forum từ ngày 20-03 -13.
Reply
Những người đã cảm ơn
#9
Tham khảo thêm cái này nữa là OK
http://thuthuataccess.com/forum/thread-4899.html
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn MatTroiNguQuen
#10
(21-10-13, 11:28 AM)haw_4er Đã viết: Mình muốn tìm chính xác file đó có trong folder đó hay không luôn?

Nếu tìm chính xác tên file thì vấn đề lại trở nên đơn giản
Khi tạo file, bạn insert luôn tên file đó vào một bảng tạm như mình nói ở trên. Như vậy khi tìm tên file trong Folder, sẽ lần lượt duyệt qua tất cả các file, mỗi tên file tìm thấy sẽ đối chiếu trong table, nếu tìm thấy tên file đó có trong table sẽ add vào list

(21-10-13, 11:28 AM)haw_4er Đã viết: khi viêt theo code của bạn, tên file và loại file nó đồng nhất
Mình không hiểu câu này
Nếu mỗi file bạn tạo re đều insert tên vào table thì bạn tạo tên gì trong table sẽ có chính xác tên đó và khi tìm chắc chắn sẽ trả về kết quả đúng
Chữ ký của MatTroiNguQuen Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Tạo Menu dạng TreeView bằng Query (không dùng ActiveX) ongke0711 4 269 06-12-16, 09:16 PM
Bài mới nhất: toancvp
  [Help] Giúp đỡ về cách xóa nội dung trong một field nam8384 2 119 17-10-16, 08:43 PM
Bài mới nhất: toancvp
  [Hỏi] Sử dụng chuột giữa trong subform là report. toancvp 10 361 12-10-16, 01:01 AM
Bài mới nhất: toancvp
  Chèn file văn bản word vào access danhxetnghiem 10 457 11-10-16, 03:42 PM
Bài mới nhất: danhxetnghiem
  Lọc theo điều kiện trong listbox Ranju 3 183 06-10-16, 05:26 PM
Bài mới nhất: Ranju

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ