Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hướng dẫn] Lưu 1 file access sẽ về 2 thư mục folder
#11
(12-11-15, 08:49 AM)ongke0711 Đã viết: Bạn up file FE chứa code đó.

File của mình đây File demon

Mình đưa lên cả 2 file luôn, không biết nó sai chổ nào màu cứ báo " không tồn tại"
Chữ ký của thanhtruong Xin chào, mình là thanhtruong, Tham gia http://thuthuataccess.com/forum từ ngày 23-06 -14.
Reply
Những người đã cảm ơn
#12
Tìm ra lỗi rồi và cái này là do lỗi code của mình ...hehe... Sorry vì đã làm mất thời gian.
Lỗi nằm ở đoạn code này:

Mã PHP:
pTablename "tblUsers"
   FolderPath GetBEFolder(pTablename'Path se la chuoi bao gom "PWD=...;Database=Duong dan file"
   '
Tu dong lay duong dan Folder can backup
   For i 
Len(FolderPathTo 1 Step -1
       If Mid
(FolderPathi1) = "=" Then  'Cat bo chuoi "PWD, DATABSE..."
           FromPath = Right(FolderPath, Len(FolderPath) - i)
           Exit For
       Else
           FromPath = FolderPath
       End If
   Next 
...............................................................
Mới thêm dòng:
                        Else
                             FromPath = FolderPath
...............................................................

Lý do lỗi:
- Cái hàm GetBEFolder mình làm và test trên file BE có khoá password nên sẽ trả về chuỗi đường dẫn bao gồm thông tin "PWD=123;DATABASE=D\Test" (ví dụ). Khi có chuỗi đường dẫn này sẽ tiến hành cắt bỏ chuỗi đầu dòng đến dấu "=" để lấy được chuỗi đường dẫn thuần tuý "D:\Test".
- Đối với file BE không có pass, khi cắt bỏ chuỗi sẽ trả về đường dẫn folder rỗng (chuỗi Null) vì không có dấu "=" để nhận biết. Sau đó trong hàm có đoạn code kiểm tra folder này có tồn tại hay không dựa vào tham số đường dẫn vừa tìm được => luôn báo lỗi "không tồn tại" folder.
- Để khắc phục mình thêm đoạn code trên để bỏ qua việc cắt chuỗi đường dẫn nếu file BE không có pass.

Nói thêm:
- Trong code OpenRecordSet table "ToPath" để lấy đường dẫn folder để lưu file backup vào nên cũng phải khai báo tên table cho đúng.
 
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn thanhtruong , mytho
#13
Chào Chú Ongke0711,

"Back up toàn bộ Folder sang Folder khác

Nếu muốn lưu luôn nguyên folder thì xem Demo mình mới trích ra : BackupFolder.mdb  
Mình sử dụng FileSystemObject.CopyFile. Code này mình có thể sao lưu dữ liệu đè lên folder cũ hoặc có thể mỗi lần sao lưu là tạo 1 folder mới tên folder theo "dd-mm-yyyy:hh:ss" (Có ghi chú trong code).

Code vba như sau:"

Theo hướng dẫn của Chú để Backup toàn bộ Folder, Cháu không biết đường dẫn đến Folder (Frompath) đường chèn trong code VBA nơi đâu.

1. Khi để File BackupFolder.mdb &  File test.mdb (File BackupFoler.mdb có Tablelink tên "tblUsers" được link từ Table  "tblUsers" từ test.mdb.
 Cả 2 file này để chung trong 1 folder với các files cần Backup
 (ví dụ các file cần backup trong ổ đĩa D:\ Cap nhat hang ngay  : File1.xxx; File2.xxx; File3.xxx)
Vậy toàn bộ trong Folrder D:\ Cap nhat hang ngay :  có tất cả 5 files (File1, File2, File3, BackupFolder.mdb, test.mdb) thì khi nhấn Button "Backup" trên From1 của BackupFolder.mdb thì sẽ tạo được cả Folder cần Backup (chứa 5 files như nêu trên) vào đích đến (ToPath) là nơi cần lưu Backup (Ví dụ ổ E:\ Backup_Cap nhat hang ngay/)

Ổ đây, Cháu muốn để 2 file BackupFolder.mbd, test.mdb để riêng trong ổ E:\ , và lấy đường dẫn đến thư mục cần Backup "FromPath" (D:\ Cap nhat hang ngay) thì chèn đường dẫn này "D:\ Cap nhat hang ngay" vào dòng lệnh nào trên code VBA ? 
Nhờ Chú giải thích giúp. 

2. Trên File BackupFolder.mdb, có tạo Table "ToPath", vậy Chú có thể hướng dẫn cách tạo thêm Table "FromPath" vào tập tin BackupFolder này để giúp đơn giản và dễ sử dụng chương trình. 
Khi đấy người dùng chỉ cần Copy đường dẫn nguồn (Foder cần sao lưu dữ liệu vào Table "FromPath") và đường dẫn đích đến (Folder Backup nơi lưu trữ vào Table "ToPath") là sử dụng được mà không cần quan tâm đến Code .

Cảm ơn Chú giúp đỡ.
Cháu DooHoaangPhuuc
Chữ ký của DooHoaangPhuuc DooHoaangPhuuc,gia nhập Thủ Thuật Access từ 27-06 -17.
ღღღღღTài sản của DooHoaangPhuuc (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#14
Thank Chú Ongke0711.
Cháu đã dưa vào Code được,
Dòng lệnh :
       FromPath = Left(" .......")
       FromPath = Right(".......")


 + 'Neu muon moi lan backup, se tao ra folder moi thi dat ten folder voi "dd-mm-yyyy"
    'VD: ToPath = "C:\Users\TenUser\" & Format(Now, "yyyy-mm-dd h-mm-ss")


Xin hỏi Chú, code ngày  này chèn vào dòng lệnh nào ?
Sửa lại dòng này ?
If Right(ToPath, 1) = "\" Then
        ToPath = Left(ToPath, Len(ToPath) - 1)
    End If


Lần nữa cảm ơn Chú
Chữ ký của DooHoaangPhuuc DooHoaangPhuuc,gia nhập Thủ Thuật Access từ 27-06 -17.
ღღღღღTài sản của DooHoaangPhuuc (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#15
(29-10-17, 03:55 PM)DooHoaangPhuuc Đã viết:  + 'Neu muon moi lan backup, se tao ra folder moi thi dat ten folder voi "dd-mm-yyyy"
    'VD: ToPath = "C:\Users\TenUser\" & Format(Now, "yyyy-mm-dd h-mm-ss")


Xin hỏi Chú, code ngày  này chèn vào dòng lệnh nào ?
Sửa lại dòng này ?
If Right(ToPath, 1) = "\" Then
        ToPath = Left(ToPath, Len(ToPath) - 1)
    End If
...

Bạn thay thế dòng code này:

Mã PHP:
If Right(ToPath1) = "\" Then
       ToPath = ToPath & Format(Now, "
yyyymmdd_h-mm-ss")
   Else
       ToPath = ToPath & "
\" & Format(Now, "yyyymmdd_h-mm-ss")
   End If 

Ví dụ: Đường dẫn tới Folder bạn muốn lưu là: "C:\Temp\" => thì nó sẽ tạo 1 folder có tên là "ngày tháng năm _giờ phút giây" mới là: "C\Temp\20171030_10-41-35"
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn DooHoaangPhuuc , mytho


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Xin video hướng dẫn access cơ bản nhất tuongtndg 1 54 09-12-17, 10:16 PM
Bài mới nhất: maidinhdan
  Liên kết ra file word anhduyks1 0 32 05-12-17, 11:16 PM
Bài mới nhất: anhduyks1
  Nhiều người cùng phát triển 1 ứng dụng Access killitmore 4 140 08-11-17, 01:24 PM
Bài mới nhất: cpucloi
  Phát hiện nhiều sự tào lao của Access 2016 tranthanhan1962 12 324 03-11-17, 11:16 PM
Bài mới nhất: DooHoaangPhuuc
  [Help] Import từ MS Access vào phần mềm Bravo tuanvn291089 1 104 24-10-17, 09:03 PM
Bài mới nhất: maidinhdan

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ơ