Đá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
  Import dữ liệu từ excel vào access ChiMai 3 151 25-05-18, 08:31 AM
Bài mới nhất: domfootwear
  [Hỏi] Ai đang dùng access toidjtjmtoi 1 118 14-04-18, 05:04 PM
Bài mới nhất: duynamvnn1208
  Xin hỏi về tắt thanh công cụ trong access Thanh Ngân 2 190 28-02-18, 03:38 PM
Bài mới nhất: cpucloi
  chia sẻ dữ liệu db access qua mạng LAN. tuanvu2409 5 489 02-02-18, 12:41 AM
Bài mới nhất: tranthanhan1962
  [Hỏi] Từ "luôn luôn" được hiểu như thế nào trong Access ?? vkaccess 1 206 06-01-18, 08:18 PM
Bài mới nhất: ongke0711

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ơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line