簡體   English   中英

在一台機器上沒有為一個或多個必需參數錯誤給出值,但在另一台機器上沒有

[英]No value given for one or more required parameters error on one machine but not another

我的機器上有 VBA 代碼在 Excel 中工作,但它在其他人的機器上給出了上述錯誤。 是什么導致它對我有用而不對其他人有用?

'---Connecting to the Data Source---
Set cn = CreateObject("ADODB.Connection")
With cn
    .Provider = "Microsoft.ACE.OLEDB.12.0"
    .ConnectionString = "Data Source=" & wb.Path & "\" & wb.Name & ";" & "Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
    .Open
End With


'---Run the SQL SELECT Query---
sql = "SELECT " & _
          "sum([" & cash_projections.Name & "$].[Projected Ending Balance]), " & _
          "[" & cash_projections.Name & "$].[Account Name (Balance)], " & _
          "[" & cash_projections.Name & "$].[Projected Date] " & _
      "FROM " & _
          "[" & cash_projections.Name & "$] " & _
      "WHERE " & _
          "[" & cash_projections.Name & "$].[Projected Ending Balance] > 100 " & _
      "GROUP BY " & _
          "[" & cash_projections.Name & "$].[Account Name (Balance)], " & _
          "[" & cash_projections.Name & "$].[Projected Date] " & _
      "ORDER BY " & _
          "[" & cash_projections.Name & "$].[Account Name (Balance)], " & _
          "[" & cash_projections.Name & "$].[Projected Date] "
Set rs = cn.Execute(sql)

錯誤顯示在此代碼的最后一行。 同樣,它對我來說工作得很好,但在另一台機器上給出了錯誤。

請注意,我使用的工作簿與另一台計算機上使用的工作簿完全相同。 這是列標題

在此處輸入圖像描述

導致錯誤的行是執行查詢的行。 因為當您打開連接時代碼不會失敗,這意味着它可以很好地找到您正在查詢的工作簿。 我的猜測是它找到的工作簿在兩台機器上具有不同的結構。 因為它說參數缺少值,這意味着在您的機器上定義的東西在另一台機器上丟失,它可能是表名或列名。 基本上,當您在計算機上使用該名稱時,它會找到它並繼續前進。 在另一台機器上,它找不到它,所以它假定它必須是參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM