Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Xin hỏi cách so sánh để nâng cấp dữ liệu
#11
Chú ý: các file db1, db2 phải đóng chứ không sẽ báo lỗi.
[/quote]

Anh thử rồi nhưng nó báo lỗi  040
http://www.mediafire.com/file/mpzuqx8u7i...angcap.rar
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#12
Anh copy lại code trong Function SoSanhCapNhatDB()AddFieldToTable() đã sửa trong bài post trước.
- Trong Function SoSanhCapNhatDB() chỗ đoạn code "copy table": "DoCmd.TransferDatabase acImport,..." không áp dụng cho việc copy table từ database thứ 3 nên phải đổi thành câu lênh SQL: "SELECT * INTO ...."
- Bên cạnh đó cũng hiệu chỉnh chút hàm AddFieldToTable(): khai báo DB Đích cần append Fiedl.
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 ledangvan
#13
Rất cảm ơn onke0711, anh có thêm đôi chút để thành một chương trình dùng để nâng cấp dữ liệu  014

http://www.mediafire.com/file/5t4e4gv3v3...NG+CAP.rar

Anh có thêm : Dữ liệu cần nâng cấp; Dữ liệu mẫu để mục đích chọn nguồn dữ liệu bất kể ở đâu chứ không phải dữ liệu cố định trong code
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#14
file lỗi ko giải nén được.
Chữ ký của mrsiro Xin chào, mình là mrsiro, Tham gia http://thuthuataccess.com/forum từ ngày 05-12 -14.
Reply
Những người đã cảm ơn
#15
(04-05-18, 10:46 PM)ledangvan Đã viết: Rất cảm ơn onke0711, anh có thêm đôi chút để thành một chương trình dùng để nâng cấp dữ liệu  014

http://www.mediafire.com/file/5t4e4gv3v3...NG+CAP.rar

Anh có thêm : Dữ liệu cần nâng cấp; Dữ liệu mẫu để mục đích chọn nguồn dữ liệu bất kể ở đâu chứ không phải dữ liệu cố định trong code

Đoạn code dưới đây dùng để tạo Relationship cho table. Code sưu tầm từ trang CodeProject.
- Để tạo được Relationship, phải thiết lập Primary Key, Foreign Key trước cho các table.
- Code này test thẳng trên table B, C thông qua Field [X] (hard code). Thực tế áp dụng sẽ phải thiết kế trên Form để chọn Primary Table, Foreign Table, PK Field, FK Field.

Link file demo: http://www.mediafire.com/file/x25la236ke...%20CAP.rar

Mã PHP:
Public Function CreateRelation(primaryTableName As String_
                               primaryFieldName 
As String_
                              foreignTableName 
As String_
                              foreignFieldName 
As String) As Boolean
   On Error 
GoTo ErrHandler

   Dim db 
As DAO.Database
   Dim newRelation 
As DAO.Relation
   Dim relatingField 
As DAO.Field
   Dim relationUniqueName 
As String

   relationUniqueName 
primaryTableName "_" primaryFieldName _
                        
"__" foreignTableName "_" foreignFieldName

   Dim strDBDes 
As String
   strDBDes 
Forms![Form1]![TenDL]
   Set db DBEngine.Workspaces(0).OpenDatabase(strDBDesTrue)

   'Arguments for CreateRelation(): any unique name,
   '
primary tablerelated tableattributes.
   Set newRelation db.CreateRelation(relationUniqueName_
                                       primaryTableName
foreignTableName)
   'The field from the primary table.
   Set relatingField = newRelation.CreateField(primaryFieldName)
   '
Matching field from the related table.
   relatingField.ForeignName foreignFieldName
   
'Add the field to the relation's Fields collection.
   newRelation.Fields.Append relatingField
   
'Add the relation to the database.
   db.Relations.Append newRelation

   msgBoxUni ChrW(272) & "ã t" & ChrW(7841) & "o Relationship thành công."

   Set db = Nothing

   CreateRelation = True

   Exit Function

ErrHandler:
   Debug.Print Err.Description + " (" + relationUniqueName + ")"
   CreateRelation = False
End Function 

- Code cho nút tạp Relationship:

Mã PHP:
Private Sub cmdTaoQuanHe_Click()
 
   CreateRelation "B""X""C""X"
End Sub 
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 ledangvan , maidinhdan
#16
(05-05-18, 12:27 AM)ongke0711 Đã viết:
(04-05-18, 10:46 PM)ledangvan Đã viết: Rất cảm ơn onke0711, anh có thêm đôi chút để thành một chương trình dùng để nâng cấp dữ liệu  014

http://www.mediafire.com/file/5t4e4gv3v3...NG+CAP.rar

Anh có thêm : Dữ liệu cần nâng cấp; Dữ liệu mẫu để mục đích chọn nguồn dữ liệu bất kể ở đâu chứ không phải dữ liệu cố định trong code

Đoạn code dưới đây dùng để tạo Relationship cho table. Code sưu tầm từ trang CodeProject.
- Để tạo được Relationship, phải thiết lập Primary Key, Foreign Key trước cho các table.
- Code này test thẳng trên table B, C thông qua Field [X] (hard code). Thực tế áp dụng sẽ phải thiết kế trên Form để chọn Primary Table, Foreign Table, PK Field, FK Field.

Link file demo: http://www.mediafire.com/file/x25la236ke...%20CAP.rar

Mã PHP:
Public Function CreateRelation(primaryTableName As String_
                              primaryFieldName 
As String_
                              foreignTableName 
As String_
                              foreignFieldName 
As String) As Boolean
   On Error 
GoTo ErrHandler

   Dim db 
As DAO.Database
   Dim newRelation 
As DAO.Relation
   Dim relatingField 
As DAO.Field
   Dim relationUniqueName 
As String

   relationUniqueName 
primaryTableName "_" primaryFieldName _
                        
"__" foreignTableName "_" foreignFieldName

   Dim strDBDes 
As String
   strDBDes 
Forms![Form1]![TenDL]
   Set db DBEngine.Workspaces(0).OpenDatabase(strDBDesTrue)

   'Arguments for CreateRelation(): any unique name,
   '
primary tablerelated tableattributes.
   Set newRelation db.CreateRelation(relationUniqueName_
                                       primaryTableName
foreignTableName)
   'The field from the primary table.
   Set relatingField = newRelation.CreateField(primaryFieldName)
   '
Matching field from the related table.
   relatingField.ForeignName foreignFieldName
   
'Add the field to the relation's Fields collection.
   newRelation.Fields.Append relatingField
   
'Add the relation to the database.
   db.Relations.Append newRelation

   msgBoxUni ChrW(272) & "ã t" & ChrW(7841) & "o Relationship thành công."

   Set db = Nothing

   CreateRelation = True

   Exit Function

ErrHandler:
   Debug.Print Err.Description + " (" + relationUniqueName + ")"
   CreateRelation = False
End Function 

- Code cho nút tạp Relationship:

Mã PHP:
Private Sub cmdTaoQuanHe_Click()
   CreateRelation "B""X""C""X"
End Sub 

Cái tạo Relationship đấy vẫn chưa đúng ý tưởng ongke0711 à, Ý tưởng của anh là với bảng dữ liệu mẫu các biểu mẫu liên kết với nhau bằng Relationship thì cũng áp dụng cho dữ liệu cần nâng cấp
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#17
Các Table trong Dữ liệu cần nâng cấp đã có sẳn, phải xóa hết rồi mới tạo mới được. Hơn nữa nếu tạo lại Relationship, một số trường hợp phải xóa trắng dữ liệu mới tạo lại quan hệ được. 
Do vậy để an toàn thì em chỉ sẽ tạo Relationship cho table nào mới nâng cấp thôi. Table nào mới thêm vô thì có thể viết lệnh để liệt kê rồi chọn thủ công trên form, vì mình thiết kế nên chọn các Field để liên kết table này với table kia cũng nhanh.

Việc lưu lại các Relationship đã tạo ở Dữ liệu mẫu sau đó tạo lại có thể làm được bằng cách:
-  Lưu file (.mdb) Dữ liệu mẫu chỉ để copy Relation, xóa trắng toàn bộ record trong các Table trong đó.
- Tạo lại Relationship cho Dữ liệu cần cập nhật bằng vòng lặp qua dbDLMau.Relation

Mã PHP:
For Each rel In dbBackup.Relations
[/font]
       Set newRel db.CreateRelation(rel.Namerel.Tablerel.ForeignTable_
           rel
.Attributes)
       For Each fld In rel.Fields
           newRel
.Fields.Append newRel.CreateField(fld.Name)
           newRel.Fields(fld.Name).ForeignName _
               rel
.Fields(fld.Name).ForeignName
       Next fld
       db
.Relations.Append newRel
[font=Tahoma]   Next rel 
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 maidinhdan
#18
Cũng vẫn câu hỏi tương tự, mình muốn nâng cấp thêm : Bảng, Querry, Forms, Report, Macro, Modules
Trước câu hỏi của mình là nâng cấp dữ liệu, nay mình muốn nâng cấp cho chương trình chạy.

http://www.mediafire.com/file/3uqdn76i5h...G+CAP1.rar

Trong File mình gửi kèm có 2 File : FileCu và File Nangcap

Giờ mình muốn nâng cấp : Bảng, Querry,Forms, Macro, Modules cho FileCu.mdb bằng các dữ liệu từ File Nangcap

Mong mọi người giúp đỡ. Xin chân thành cảm ơn.
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#19
Trường hợp nâng cấp của bạn là tăng cường field cho table. Thú thực mình toàn chơi tay chứ không xử lý bằng code tự động. Thứ nhất việc nâng cấp thông thường do khách hàng yêu cầu theo nhu cầu riêng của từng đơn vị chứ không phải tất cả khách hàng đều yêu cầu giống nhau. Giá trị các field của các record của field mới có khi không do qui luật nào cả. Vi dụ lúc đầu viết phần mềm thì table danh sách khách hàng [DANHSACHKHACHHANG] không có mã số thuế [MASOTHUE], sau khi sử dụng yêu cầu thêm mã số thuế. Vây thì chuyển danh sách khách hàng ra excel xong cho đơn vị tự điền. Ở table [DANHSACHKHACHHANG]trong chương trình bạn thêm field [MASOTHUE], sau khi có bảng excel danh sách khách hàng mới do đơn vị cung cấp import vào thành table [DANHSACHKHACHHANG1] tạo quan hệ rồi chay query update, xong xóa table  [DANHSACHKHACHHANG1]. Để xử lý dùng teamview rất nhanh, tạo chi lệnh này lệnh nọ cũng chỉ xử dụng một lần. Sau đó thì chỉnh sửa query, form, report...của frontend là xong.
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan
#20
(20-08-18, 01:38 AM)tranthanhan1962 Đã viết: Trường hợp nâng cấp của bạn là tăng cường field cho table. Thú thực mình toàn chơi tay chứ không xử lý bằng code tự động. Thứ nhất việc nâng cấp thông thường do khách hàng yêu cầu theo nhu cầu riêng của từng đơn vị chứ không phải tất cả khách hàng đều yêu cầu giống nhau. Giá trị các field của các record của field mới có khi không do qui luật nào cả. Vi dụ lúc đầu viết phần mềm thì table danh sách khách hàng [DANHSACHKHACHHANG] không có mã số thuế [MASOTHUE], sau khi sử dụng yêu cầu thêm mã số thuế. Vây thì chuyển danh sách khách hàng ra excel xong cho đơn vị tự điền. Ở table [DANHSACHKHACHHANG]trong chương trình bạn thêm field [MASOTHUE], sau khi có bảng excel danh sách khách hàng mới do đơn vị cung cấp import vào thành table [DANHSACHKHACHHANG1] tạo quan hệ rồi chay query update, xong xóa table  [DANHSACHKHACHHANG1]. Để xử lý dùng teamview rất nhanh, tạo chi lệnh này lệnh nọ cũng chỉ xử dụng một lần. Sau đó thì chỉnh sửa query, form, report...của frontend là xong.

Thì hiện tại em vẫn dùng "tay" nhưng mỗi lần nâng cấp phần mềm lại phải nhớ xem mình đã tạo thêm cái querry nào, tạo thêm cái nút nào, tạo thêm cái report nào ... nên cũng rất mất công. Hơn nữa khi nâng cấp phần mềm cho đơn vị lại phải copy lại File . mde rồi  mất công cấp lại mã số ...
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
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
  [Hỏi] lấy dữ liệu từ query sang Text box minhminh25767 3 50 Hôm qua, 04:01 PM
Bài mới nhất: ongke0711
Lightbulb [Hỏi] Cách tạo Table/Query từ nhiều Table/Query khác shinichikuto 16 1,319 30-08-18, 03:36 PM
Bài mới nhất: shinichikuto
  [Lỗi] Lỗi mất dự liệu trong table thanhtruong 3 371 08-08-18, 02:52 PM
Bài mới nhất: Xuân Thanh
  [Help] Khóa sổ không cho phép thay đổi số liệu! NguyenDungAnh 4 408 05-08-18, 10:58 PM
Bài mới nhất: NguyenDungAnh
  [Hỏi] Ghép dữ liệu nhiều table vào 1 table vietanh283 1 454 27-06-18, 08:06 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