
今回はpowerappsのエラーについて見ていきます。
特にPowerAppsは日本語対応しているように見せかけていますが、実際のところは翻訳の機械にかけているだけで、エラーの説明が説明になっていないものもありますので注意しましょう。
PowerAppsに必須の知識PowerFX対応の学習本はこちら
PowerApps学習の本命・実際のアプリももらえる学習本
PowerApps学習方法一覧

構築段階でのエラー
PowerAppsで構築をしていたら誰しもが通る関数やオブジェクトのプロパティ内でのエラーについて見ていきます。
データの入力に問題があるエラー
原因として多いのが、テキストデータを渡そうとしているのに""(ダブルクォーテーション)で囲っていない、Textと入力しないといけないところに対してtextと大文字小文字の入力を間違えている、全角と半角を間違えていることなどが考えられます。

パソコンは大文字小文字、全角半角を区別しています。また
対策は以下の通りになります。
原因 | 対策 |
---|---|
""(ダブルクォーテーション)で囲っていないことで存在しない変数と勘違いされている | テキストデータは""で囲う |
大文字小文字の入力を間違えている | 予測変換を使う |
全角と半角を間違えている | 半角を使うようになど取り決めをしておく 特に関数内の=はよく使うので=が全角にならないように注意する |
名前が無効です。
名前となっていますが必要なデータに対して意味不明なデータを関数に渡していることが原因のことが多いです。上記の表を参考にデータ内で入力ミスを疑いましょう。
複数の無効な引数が含まれています。
こちらも引数に対して適切でない状態のデータを渡していることが原因です。複数とありますが、一つしかない場合もあります。
上記の表を参考にデータ内で入力ミスを疑いましょう。
互換性のない型です。
こちらは変数を扱うことのできるUpdateContext関数やSet関数で発生するエラーになります。他のエラーとエラーの種類が違うイメージがありますが、実際は同じで適切なデータを渡せていない、入力文字が間違えていることが原因です。
無効な引数の数:受信数x、必要数はy以上です。
これは関数に対して必要な引数が足りていないことを指し示しています。
無効な引数の数:受信数1、必要数は3以上です。
とあった場合は必要な引数は3つですが、一つしか入力されていないので足りない引数を入力してください、という意味になります。
関数によって必要な引数が違いますし、引数が省略できる関数もありますのでしっかりと関数の引数の構造などを理解しましょう。
数値が大きすぎます。
これは理由が二つ考えられます。
一つは本当に数字が大きすぎることです。
パソコンの処理能力を超えてしまう数字は処理できませんので桁を少なくするなどの対策が必要となります。ちなみに対応できる数字の範囲は整数だと–9,007,199,254,740,991 から 9,007,199,254,740,991 となっていますが、パソコンというのはあまりにも大きい数字や小さい数字については勝手に丸めてしまうことがありますので注意が必要です。
二つ目は数値が大きいのではなく、半角数字で入力しないといけないところを全角数字で入力していることが原因です。
翻訳の機械で全角を大きい翻訳しているようです。この翻訳ミスがそもそもの間違いの原因とも言えます。
非動作プロパティに動作関数があります。
これはPowerApps特有のエラーになります。
例えばUpdateContext関数は戻り値がある関数ではなく、変数にデータを格納するという動作を表す関数になります。
この動作を表す関数については、動作を作動させるタイミングを決めてあげないといけません。この動作を作動させるタイミングはオブジェクトのプロパティではOn**となっています。
例えば、ButtonオブジェクトのOnSelect属性にはボタンを押した時に動作する内容を入力します。ここにUpdateContext関数を入れることでボタンが押されたタイミングでUpdateContext関数が作動し変数にデータが格納されます。
一方でTextInputオブジェクトのTextプロパティにUpdateContext関数を入力しても変数を入力するタイミングがわからないため「非動作プロパティに動作関数があります。」というエラーが発生することになります。
ちなみに動作プロパティはOnSelect、OnChange、OnStartなどがあります。