Access クエリで CDec() 関数を使用する場合、入力した式に間違った数の引数が含まれる関数があります

中程度: 基本的なマクロ、コーディング、相互運用性のスキルが必要です。

この記事は、Microsoft Access データベース (.mdb) にのみ適用されます。

現象

Microsoft Access クエリで CDec() 関数を使用すると、次のエラー メッセージが表示されることがあります。

"入力した式には、間違った数の引数を含む関数があります。

原因

CDec() 関数は、Visual Basic for Applications コードではサポートされていますが、Access クエリではサポートされていません。

解決方法

CDec() 関数を使用するカスタム関数を作成します。 Access クエリからこのカスタム関数を呼び出します。 例:

  1. 新しいモジュールを作成し、次のコードを入力します。
Function NewCDec(MyVal)
   NewCDec = CDec(MyVal)
End Function

  1. モジュールを保存して閉じます。
  2. クエリの [フィールド] 行に「MyID: NewCDec([CategoryID])」と入力します。 この関数を実行すると、MyID フィールドの有効な値が返されることに注意してください。

状態

Microsoft は、この記事の冒頭に記載されている Microsoft 製品の問題であることを確認しました。

詳細

動作を再現する手順

Office Access 2002 および Office Access 2003

  1. サンプル データベース Northwind.mdbを開きます。
  2. [データベース] ウィンドウで、[オブジェクト] の [クエリ] をクリックし、[新規] をクリックします。
  3. [新しいクエリ] ボックスで、[デザイン ビュー] をクリックし、[OK] をクリックします。
  4. [テーブルの表示] ボックスで、[カテゴリ] テーブルをクリックします。 [追加] をクリックして、[閉じる] をクリックします。
  5. [フィールド リスト] ボックスからクエリ デザイン グリッドの最初の列の [フィールド] 行に CategoryName フィールドをドラッグします。
  6. 2 番目の列の [フィールド] 行に「MyID: CDec(CategoryID)」と入力します。
  7. クエリ デザイン グリッドの次の列に移動してみてください。 「現象」セクションに記載されているエラー メッセージが表示されることに注意してください。

Office Access 2007 および Office Access 2010

  1. 新しいデータベースを作成します。

  2. 次のフィールドを含む新しいテーブルを作成します。

    名前 データ型 フィールド サイズ
    ID オートナンバー 長整数型 (Long Integer)
    MyNum 番号 倍精度浮動小数点数
  3. テーブルを Table1 として保存します。

  4. テーブルを開いてデータを追加し、[ MyNum ] 列に「10.55」と入力します。

  5. Table1 を閉じます。

  6. クエリ デザインで新しいクエリを作成します。

  7. [テーブルの表示] ウィンドウで [ Table1 ] を選択し、[ 追加] をクリックします。

  8. [ 閉じる ] をクリックして、[ テーブルの表示 ] ウィンドウを閉じます。

  9. デザイン画面の上部にある [フィールド リスト ] ボックスから、クエリ デザイン グリッドの最初の列の [フィールド] 行に myNum フィールドをドラッグします。

  10. 2 番目の列の [フィールド ] 行に、次のように入力します。

    MyNewNum: CDec(myNum)

  11. クエリ デザイン グリッドの次の列に移動してみてください。 「現象」セクションに記載されているエラー メッセージが表示されることに注意してください。