Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Đăng ký thư viện Tránh trường hợp lỗi ứng dụng khi sang máy khác
#1
Xin chào mọi người, mình viết ứng dụng trên một máy tính ở nhà, khi mang sang máy khác thì lại bị lỗi do thiểu thư viện hoặc là thư viện báo Missting vậy làm thế nào để giải quyết?
Mình làm thế này có đúng không?
Mình tạo một Forder Trong đó mình đặt ứng dụng, và các Activex ...dll;.occ.ild...
Sau đó mình viết trong biến co Load Form
Hàm copy file
copy("..Đương dẫn tai thư mục", "ĐƯờng dẫn tại quy định window)
ĐƯờng dẫn tại quy định window thông thường là C:\Progrm file \Command file \Off.....
Sau đó mình đăng ký thư viện
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath1, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath2, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath3, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath4, vbNormalNoFocus"

Rồi mình chạy hàm add thư viện
Mã PHP:
Sub AddReference()
        
Dim strPath1 As String
Dim strPath2 
As String
Dim strPath3 
As String
Dim strPath4 
As String
strPath1 
CurrentProject.Path "\msado28.tlb"
Access.References.AddFromFile strPath1
'strPath2 = CurrentProject.Path & "\user32.dll"
strPath3 = CurrentProject.Path & "\msjro.dll"
Access.References.AddFromFile strPath3
strPath4 = CurrentProject.Path & "\msadox28.tlb"
'
Access.References.AddFromFile strPath2

Access
.References.AddFromFile strPath4
End Sub
Mà bị lỗi mình chưa thành công vì trên win 64
win 32 đểu bị lỗi mong mọi người giúp đỡ nhé 
Chữ ký của tt1212 Present Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Microsoft Access mọi phiên bản Liên hệ: Mr Đức -989276236. Email: Tantriviet.vnn@gmail.com website:http://www.tantrivietsoft.com/
Reply
Những người đã cảm ơn
#2
Không có file nên chưa test code trên như thế nào

Xin gửi bạn ngâm cứu những 3 đoạn code sau đây, có thể hữu ít

Code thứ nhất: Đăng ký thêm thư viện còn thiếu trong thư viện Access

Mã PHP:
Sub AddWS()
ReferenceFromFile "C:\WINDOWS\System32\wshom.ocx"
End Sub 
 
Mã PHP:
Function ReferenceFromFile(strFileName As String) As Boolean
  Dim ref 
As Reference
      
         On Error 
GoTo Error_ReferenceFromFile
         References
.AddFromFile (strFileName)
 
        ReferenceFromFile True
      
  Exit_ReferenceFromFile
:
 
        Exit Function
 
  
   Error_ReferenceFromFile
:
 
        ReferenceFromFile False
         Resume Exit_ReferenceFromFile
End 
Function 

Code thứ 2: Xóa thư viện
Mã PHP:
 Sub DeleteRef(RefName)
 
 Dim ref As Reference
   
      
'You need a reference to remove
      Set ref = References(RefName)
      References.Remove ref
   
  End Sub 

Code thứ 3: Liệt kê danh sách các thư viện đã đăng ký
Mã PHP:
 Sub ListRefs()
 
 Dim ref As Reference
   
  For Each ref In References
      Debug
.Print RefFullName(ref.Name)
 
     Debug.Print "Built In: " ref.BuiltIn
      Debug
.Print "Full Path: " ref.FullPath
      Debug
.Print "GUID: " ref.Guid
      Debug
.Print "Is Broken: " ref.IsBroken
      Debug
.Print "Kind: " ref.Kind
      Debug
.Print "Major (version number): " ref.Major
      Debug
.Print "Minor (version number): " ref.Minor
      Debug
.Print "Name: " ref.Name
      Debug
.Print '=================================
  Next
   
  End Sub 

Mã PHP:
 
  Function RefFullName
(ReferenceName)
 
 'A mere handful of common names
  '
These names are relevant to Access 2000 
  
'and are for purposes of illustrating the name
  '
as used in Reference Name and the library
  
'name as it appears in Tools->References
  Select Case ReferenceName
      Case "Access"
          RefFullName = "Microsoft Access 9.0 Object Library"
      Case "ADODB"
          RefFullName = "Microsoft ActiveX Data Objects 2.1 Library"
      Case "CDO"
          RefFullName = "Microsoft CDO for Windows 2000 Library"
      Case "DAO "
          RefFullName = "Microsoft DAO 3.6 Object Library"
      Case "Excel"
          RefFullName = "Microsoft Excel 9.0 Object Library"
      Case "IWshRuntimeLibrary"
          RefFullName = "Windows Script Host Object Model"
      Case "Office"
          RefFullName = "Microsoft Office 9.0 Object Library"
      Case "Outlook"
          RefFullName = "Microsoft Outlook 9.0 Object Library"
      Case "stdole"
          RefFullName = "OLE Automation"
      Case "VBA"
          RefFullName = "Visual Basic For Applications"
      Case "VBIDE"
          RefFullName = "Microsoft Visual Basic for Applications Extensibility 5.3"
      Case "Word"
          RefFullName = "Microsoft Word 9.0 Object Library"
      Case Else
          RefFullName = "Not available in this very limited list."
  End Select
   
  End Function 

Nguồn tham khảo: lessthan.com
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
tập dùng late bingding cho nó quen đi, mấy cái hàm đó hay bị lỗi lắm, viết cho 32bit sang 64bit là thấy cái cảnh lien 014
Chữ ký của hieuvn Xin chào! Mình là hieuvn, thành viên của Thủ Thuật Access tham gia ngày Oct 2010.
Reply
Những người đã cảm ơn
#4
Bạn hiếu có thể viết 1 bài hướng dẫn kg
có demo càng tốt.
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#5
Mình chưa hiểu í bạn nói bạn có thể nói qua cho mình hiểu hơn không bạn Hiếu nhi? Quả là có nhiều vấn đề quá bạn a?
Chữ ký của tt1212 Present Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Microsoft Access mọi phiên bản Liên hệ: Mr Đức -989276236. Email: Tantriviet.vnn@gmail.com website:http://www.tantrivietsoft.com/
Reply
Những người đã cảm ơn
#6
Hi, mình không giỏi viết tut nên tìm tài lieu trên mạng cho bạn hiểu khái niệm đã, và tất nhiên muốn sử dung thành thục thì phải thực hành mày mò rất nhiều
link tham khảo:
http://word.mvps.org/fAQs/InterDev/Early...inding.htm
Chữ ký của hieuvn Xin chào! Mình là hieuvn, thành viên của Thủ Thuật Access tham gia ngày Oct 2010.
Reply
Những người đã cảm ơn
#7
Rất cảm ơn Hiếu, Cái này là dùng để khai báo và tạo các bảng hả bạn? Nó có phải là AOX không hay là DAO hay là ADO vậy bạn? Mình thấy lạ quá
bạn có thể nói qua tác dung và các quá trình nó thực hiện hoạt động trong phần mềm mình không bạn, Hình như mình chỉ thấy tren Excel và word không thấy trên Access bạn nhỉ. Mong bạn hồi âm
Chữ ký của tt1212 Present Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Microsoft Access mọi phiên bản Liên hệ: Mr Đức -989276236. Email: Tantriviet.vnn@gmail.com website:http://www.tantrivietsoft.com/
Reply
Những người đã cảm ơn
#8
(11-04-15, 12:44 PM)hieuvn Đã viết: Hi, mình không giỏi viết tut nên tìm tài lieu trên mạng cho bạn hiểu khái niệm đã, và tất nhiên muốn sử dung thành thục thì phải thực hành mày mò rất nhiều
link tham khảo:
http://word.mvps.org/fAQs/InterDev/Early...inding.htm
Nếu có thể bạn "hieuvn" làm demo và Up để mọi người học hỏi với nhé !
Thanks !
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn
#9
Maidinhdan và các cao thủ thân mền hiện nay mình làm một ứng dụng nhưng đau đầu là sang máy khác thì bị lỗi mà ở máy mình thì chạy rất OK
Trong diễn đàn hôm trước thấy Maidinhdan có mấy hàm và thủ tục post lên nhưng thật sự mình không biết nó dùng thế nào?
bạn có thể hướng dẫn mình không bạn nhỉ
ai có cách giải quyết triệt để không nhỉ? hướng dẫn mình với. Mình xin cảm ơn nhiều
Chữ ký của tt1212 Present Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Microsoft Access mọi phiên bản Liên hệ: Mr Đức -989276236. Email: Tantriviet.vnn@gmail.com website:http://www.tantrivietsoft.com/
Reply
Những người đã cảm ơn
#10
(10-04-15, 04:57 PM)tt1212 Đã viết: Xin chào mọi người, mình viết ứng dụng trên một máy tính ở nhà, khi mang sang máy khác thì lại bị lỗi do thiểu thư viện hoặc là thư viện báo Missting vậy làm thế nào để giải quyết?
Mình làm thế này có đúng không?
Mình tạo một Forder Trong đó mình đặt ứng dụng, và các Activex ...dll;.occ.ild...
Sau đó mình viết trong biến co Load Form
Hàm copy file
copy("..Đương dẫn tai thư mục", "ĐƯờng dẫn tại quy định window)
ĐƯờng dẫn tại quy định window thông thường là C:\Progrm file \Command file \Off.....
Sau đó mình đăng ký thư viện
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath1, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath2, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath3, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath4, vbNormalNoFocus"

Rồi mình chạy hàm add thư viện
Mã PHP:
Sub AddReference()
        
Dim strPath1 As String
Dim strPath2 
As String
Dim strPath3 
As String
Dim strPath4 
As String
strPath1 
CurrentProject.Path "\msado28.tlb"
Access.References.AddFromFile strPath1
'strPath2 = CurrentProject.Path & "\user32.dll"
strPath3 = CurrentProject.Path & "\msjro.dll"
Access.References.AddFromFile strPath3
strPath4 = CurrentProject.Path & "\msadox28.tlb"
'
Access.References.AddFromFile strPath2

Access
.References.AddFromFile strPath4
End Sub
Mà bị lỗi mình chưa thành công vì trên win 64
win 32 đểu bị lỗi mong mọi người giúp đỡ nhé 

Có thể bạn khai báo sai ở câu lệnh Shell ở trên : Dấu " phải đặt trước , vbNormalNoFocus

Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\.ocx", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\comdlg32.ocx", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\dmocx.dll", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\FM20.DLL", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\MSADODC.OCX", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\msadox.dll", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\MSCAL.OCX", vbNormalNoFocus

Bạn thử lại xem có được không
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 maidinhdan , Minh Tiên


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Về cách lưu file .doc đang mở toancvp 4 319 21-06-16, 11:39 AM
Bài mới nhất: toancvp
  [Hỏi] Sử dụng phần mềm viết bằng Access trong mạng LAN chantroi_19 9 751 21-06-16, 10:33 AM
Bài mới nhất: lmthu
  Dung lượng đ.ồ á.n access lớn? tienze123 2 182 21-06-16, 09:16 AM
Bài mới nhất: lmthu
  Danh sách các Keys word VBA access (Không dùng để đặt tên cho các Object) tranthanhan1962 1 335 28-05-16, 04:08 PM
Bài mới nhất: jason
  phân quyền chọn lớp và nhập thông tin theo tên đăng nhập honglv157 10 514 18-05-16, 01:29 PM
Bài mới nhất: hungle2006

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ơ