none
在win7執行access要取得後端電腦的時間、ip或者執行複本間的同步(JRO的Synchronize)都會顯示錯誤。但在winXP卻可以順利執行。請問我要怎麼處理? RRS feed

  • 問題

  • 我寫了一個資料庫系統,以下三項內容在winXP執行時都很順利,但是在win7執行時卻會出現【執行階段錯誤'-2147217392(80041010) Invalid class】,請教各位前輩我該如何處理這個問題呢?

    1.為求所有前端電腦的時間一致,所以我寫了一段程式把前端電腦的時間改為後端電腦的時間
       SevreTime = "10.10.60.2" '後端電腦IP位置
       Shell "COMMAND.COM /C Net Time \\" & SevreTime & " /SET /YES", vbHide

    2.為確定前端電腦是否與後端電腦有連結,並且確定前端電腦的IP是否為資料庫裡所允許的IP
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("DePART", dbOpenDynaset)
    Dim strComputer As String
    Dim objWMI As Object
    Dim colIP As Object
    Dim IP As Object
    Dim i As Integer
    strComputer = "."
    Set objWMI = GetObject("winmgmts://" & strComputer & "/root/cimv2")
    Set colIP = objWMI.ExecQuery _
        ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
    For Each IP In colIP
       If Not IsNull(IP.IPAddress) Then
          For i = LBound(IP.IPAddress) To UBound(IP.IPAddress)
             If IP.IPAddress(i) = rs![IP位址] Then
                GoTo Succ_End
             End If
          Next
       End If
    Next

    3.為同步前後端資料庫,寫了以下程式碼
      Dim repDM As New JRO.Replica
             repDM.ActiveConnection = "\\10.10.60.2\CARD\VPDATA.mdb"
             repDM.Synchronize CurrentDb.name, jrSyncTypeImpExp, jrSyncModeDirect

    請問我該如何解決在win7無法順利執行以上三項的問題呢?
    2010年2月6日 上午 02:18

解答

  • 這個訊息是 WMI 擲出來的。

    WBEM_E_INVALID_CLASS = 0x80041010

    有可能是

    Set objWMI = GetObject("winmgmts://" & strComputer & "/root/cimv2")
    Set colIP = objWMI.ExecQuery _
        ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

    這兩行擲出來的錯誤,也就是有可能你的 WMI source 不正確,或是查詢有問題。

    可以參考這個:
    http://clintboessen.blogspot.com/2009/11/wmi-error-invalid-class-0x80041010-fix.html
    初學不是問題,但用不正確的態度來問問題,那就是很大的問題。
    請不要藉新手之名行小白之實,否則只會讓更多無辜的新手得不到幫助而已。
    如果不知道什麼是小白,請參閱:何謂小白
    • 已標示為解答 Lolota Lee 2010年2月12日 上午 05:46
    2010年2月9日 上午 03:34
    版主

所有回覆

  • Hi!

    假如 Windows XP 可以正常執行,但是 Windows 7 無法執行的話,可以先關閉 UAC 試試看
    我的Blog .NET菜鳥自救會
    2010年2月6日 上午 02:57
  • 關閉了還是不行。
    2010年2月6日 上午 10:05
  • 你現在錯誤時,按除錯,底色為黃色的是哪一行?
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年2月7日 上午 09:20
  • 不會出現除錯的選項,只會出現【執行階段錯誤'-2147217392(80041010) Invalid class】然後只能按 X 關閉。
    2010年2月9日 上午 03:11
  • 這個訊息是 WMI 擲出來的。

    WBEM_E_INVALID_CLASS = 0x80041010

    有可能是

    Set objWMI = GetObject("winmgmts://" & strComputer & "/root/cimv2")
    Set colIP = objWMI.ExecQuery _
        ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

    這兩行擲出來的錯誤,也就是有可能你的 WMI source 不正確,或是查詢有問題。

    可以參考這個:
    http://clintboessen.blogspot.com/2009/11/wmi-error-invalid-class-0x80041010-fix.html
    初學不是問題,但用不正確的態度來問問題,那就是很大的問題。
    請不要藉新手之名行小白之實,否則只會讓更多無辜的新手得不到幫助而已。
    如果不知道什麼是小白,請參閱:何謂小白
    • 已標示為解答 Lolota Lee 2010年2月12日 上午 05:46
    2010年2月9日 上午 03:34
    版主