Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hướng dẫn] Hỏi cách tạo code phục hồi dữ liệu trong table sau khi backup
#21
(28-08-18, 09:53 PM)doandinhtam Đã viết: Up. Ai giúp mình cái code xoá dữ liệu ở tất cả table trước khi restore dc ko ạ

Hay dùng delete query để xoá dữ liệu trước mà vẫn giữ nguyên cấu trúc Table, cũng như  mối quan hệ
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
#22
(28-08-18, 10:03 PM)ongke0711 Đã viết: Code sửa đổi theo yêu cầu của bạn.
- Tôi thêm code để vòng lặp bỏ table hệ thống.
- Xoá nội dung Table trước khi Restore để tránh báo lỗi trùng dữ liệu khi lỡ bấm nhiều lần. Giải quyết luôn yêu cầu trên của bạn.


Mã PHP:
Public Function Ketnoi1(DuongDanFile As String)
   Dim TenTable As StringsSQL As String
   Dim tbl 
As TableDef
   Dim i 
As Integer

   Set Ws 
DBEngine.Workspaces(0)
   'Mo ket noi Data co Pass'
   Set db Ws.OpenDatabase(DuongDanFile)
   For Each tbl In db.TableDefs
       If Not 
(tbl.Name Like "MSys*"Then 'bo qua Table he thong'
           TenTable tbl.Name
           Debug
.Print TenTable
           
           CurrentDb
.Execute "DELETE * FROM " tbl.NamedbFailOnError
           
           Set rst 
db.OpenRecordset(TenTabledbOpenDynaset)
           Set rstt CurrentDb.OpenRecordset(TenTabledbOpenDynaset)
           rst.MoveFirst
           Do Until rst
.EOF
               
' Cap nhap vao table tam
               rstt.AddNew
               ' 
Duyet tu cot
               For i 
0 To rst.Fields.Count 1
                   rstt
.Fields(i) = rst.Fields(i)
               Next
               rstt
.Update
               rst
.MoveNext
           Loop
           rst
.Close
           rstt
.Close
       End 
If
   Next
   Set db 
Nothing

End 
Function 

Báo lỗi Run-time 3021: No current rescord bạn ơi.
Theo mình thấy thì khi có 1 table không có dữ liệu là nó báo lỗi và không tiếp tục add data các table sau.
Giờ làm sao để khi table nào đó trống không có dữ liệu thì không báo lỗi này nữa vậy bạn? thêm code gì ạ?
Chữ ký của doandinhtam doandinhtam,gia nhập Thủ Thuật Access từ 15-12 -16.
Reply
Những người đã cảm ơn
#23
(29-08-18, 10:26 AM)doandinhtam Đã viết: Báo lỗi Run-time 3021: No current rescord bạn ơi.
Theo mình thấy thì khi có 1 table không có dữ liệu là nó báo lỗi và không tiếp tục add data các table sau.
Giờ làm sao để khi table nào đó trống không có dữ liệu thì không báo lỗi này nữa vậy bạn? thêm code gì ạ?

Bạn dùng code này. Đã bẫy lỗi table không code reocord.

Mã PHP:
Public Function Ketnoi1(DuongDanFile As String)
   Dim TenTable As StringsSQL As String
   Dim tbl 
As TableDef
   Dim i 
As Integer

   Set Ws 
DBEngine.Workspaces(0)
   'Mo ket noi Data co Pass'
   Set db Ws.OpenDatabase(DuongDanFile)
   For Each tbl In db.TableDefs
       If Not 
(tbl.Name Like "MSys*"Then    'bo qua Table he thong'
           TenTable tbl.Name
           Debug
.Print TenTable

           CurrentDb
.Execute "DELETE * FROM " tbl.NamedbFailOnError

           Set rst 
db.OpenRecordset(TenTabledbOpenDynaset)
           Set rstt CurrentDb.OpenRecordset(TenTabledbOpenDynaset)
           If rst.RecordCount <> 0 Then
               rst
.MoveFirst
               Do Until rst
.EOF
                   
' Cap nhap vao table tam'
                   rstt.AddNew
                   
' Duyet tu cot'
                   For i 0 To rst.Fields.Count 1
                       rstt
.Fields(i) = rst.Fields(i)
                   Next
                   rstt
.Update
                   rst
.MoveNext
               Loop
               rst
.Close
               rstt
.Close
           End 
If
       End If
   Next
   Set db 
Nothing

End 
Function 
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 doandinhtam
#24
(29-08-18, 10:56 AM)ongke0711 Đã viết:
(29-08-18, 10:26 AM)doandinhtam Đã viết: Báo lỗi Run-time 3021: No current rescord bạn ơi.
Theo mình thấy thì khi có 1 table không có dữ liệu là nó báo lỗi và không tiếp tục add data các table sau.
Giờ làm sao để khi table nào đó trống không có dữ liệu thì không báo lỗi này nữa vậy bạn? thêm code gì ạ?

Bạn dùng code này. Đã bẫy lỗi table không code reocord.

Mã PHP:
Public Function Ketnoi1(DuongDanFile As String)
   Dim TenTable As StringsSQL As String
   Dim tbl 
As TableDef
   Dim i 
As Integer

   Set Ws 
DBEngine.Workspaces(0)
   'Mo ket noi Data co Pass'
   Set db Ws.OpenDatabase(DuongDanFile)
   For Each tbl In db.TableDefs
       If Not 
(tbl.Name Like "MSys*"Then    'bo qua Table he thong'
           TenTable tbl.Name
           Debug
.Print TenTable

           CurrentDb
.Execute "DELETE * FROM " tbl.NamedbFailOnError

           Set rst 
db.OpenRecordset(TenTabledbOpenDynaset)
           Set rstt CurrentDb.OpenRecordset(TenTabledbOpenDynaset)
           If rst.RecordCount <> 0 Then
               rst
.MoveFirst
               Do Until rst
.EOF
                   
' Cap nhap vao table tam'
                   rstt.AddNew
                   
' Duyet tu cot'
                   For i 0 To rst.Fields.Count 1
                       rstt
.Fields(i) = rst.Fields(i)
                   Next
                   rstt
.Update
                   rst
.MoveNext
               Loop
               rst
.Close
               rstt
.Close
           End 
If
       End If
   Next
   Set db 
Nothing

End 
Function 

Đã Run được. Thank bác
Chữ ký của doandinhtam doandinhtam,gia nhập Thủ Thuật Access từ 15-12 -16.
Reply
Những người đã cảm ơn
#25
Cho mình hỏi thêm có code compact & repairt khi mình thoát khỏi chương trình được không ạ?
Chữ ký của doandinhtam doandinhtam,gia nhập Thủ Thuật Access từ 15-12 -16.
Reply
Những người đã cảm ơn
#26
(29-08-18, 12:25 PM)doandinhtam Đã viết: Cho mình hỏi thêm có code compact & repairt khi mình khởi chạy mainform chương trình được không ạ?
Chữ ký của doandinhtam doandinhtam,gia nhập Thủ Thuật Access từ 15-12 -16.
Reply
Những người đã cảm ơn
#27
(29-08-18, 11:22 AM)doandinhtam Đã viết: cho mình hỏi thêm có code compact & repairt khi mình thoát khỏi chương trình được không ạ?

Nếu bạn dùng Access 2003 thì dùng đoạn code này cho nút lệnh Compact:

Mã PHP:
CommandBars("Menu Bar"). _
            Controls
("Tools"). _
           Controls
("Database utilities"). _
           Controls
("Compact and repair database...").accDoDefaultAction 
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
#28
(29-08-18, 01:16 PM)ongke0711 Đã viết:
(29-08-18, 11:22 AM)doandinhtam Đã viết: cho mình hỏi thêm có code compact & repairt khi mình thoát khỏi chương trình được không ạ?

Nếu bạn dùng Access 2003 thì dùng đoạn code này cho nút lệnh Compact:

Mã PHP:
CommandBars("Menu Bar"). _
           Controls
("Tools"). _
           Controls
("Database utilities"). _
           Controls
("Compact and repair database...").accDoDefaultAction 
Mình dùng 2013 thì làm sao bạn?
Chữ ký của doandinhtam doandinhtam,gia nhập Thủ Thuật Access từ 15-12 -16.
Reply
Những người đã cảm ơn
#29
Access 2013 thì vô menu Access Option -> kiếm mục Compact on Close click chọn nó thôi.
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
#30
(29-08-18, 03:12 PM)ongke0711 Đã viết: Access 2013 thì vô menu Access Option -> kiếm mục Compact on Close click chọn nó thôi.

Ý mình là làm code như bạn cmt ở trên ấy
Chữ ký của doandinhtam doandinhtam,gia nhập Thủ Thuật Access từ 15-12 -16.
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
  [Help] chỉ dùm bôi đen text trong form textbox bo bin 5 183 17-11-18, 06:59 PM
Bài mới nhất: bo bin
  [Hỏi] Đảm bảo tính toàn vẹn của dữ liệu mrsiro 11 607 12-10-18, 10:46 AM
Bài mới nhất: ongke0711
  [Hỏi] Lỗi khi không chọn dữ liệu khi Save As 'Invalid procedure call or argument.' doandinhtam 2 221 02-09-18, 09:48 AM
Bài mới nhất: doandinhtam
  [Hỏi] Nên dùng bảng tạm (TempTable) ngay trong file FE hay file .mdb tạm (TempTable.mdb) ongke0711 5 375 29-08-18, 09:18 PM
Bài mới nhất: ongke0711
  Hỏi về bắt lỗi trong accc thanlaem 21 4,419 07-08-18, 11:02 PM
Bài mới nhất: vdttuan

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