• ベストアンサー

functionを含んだプログラムを作成したいのですが、上手くいきません

id_fates_5の回答

回答No.2

わからんけど WhiteRayさんが作成されたfunction内で使用している関数で、引数が不足 しているんじゃないですかね。 シングルステップでエラー箇所を特定してアップすれば原因は分かりますよ。 多分ね。

WhiteRay
質問者

補足

シングルステップとはステップインのことでしょうか? 1度目のそれでコンパイルエラーが…

関連するQ&A

  • PL/SQLのファンクションでのOUTの使い方

    ASPで作成したページからストアドプログラムを呼ぶ プログラムを作成しているんですが、 ファンクションの引数で指定するOUTの使い方がわかりません。 OUTに指定した引数(変数)?に値を代入しておくと、 ファンクションの呼び出し元にその値が返るっていう感じ なんでしょうか? 大体でいいので説明してくれる方お願いします。 参考になるサイトなどでもいいのでお願いします。

  • VBAでの戻り値と引数について

    最近VBAでプログラムを勉強しています。 引数と戻り値について教えてください。 定義としては、 引数:プロシージャに渡される定数、変数、および式。 戻り値:呼び出し元に処理の結果を戻す値。 となっているのですがいまいちピンときません。 SubプロシージャとFunctionプロシージャでその違いがあると思うのですが、具体的にどれが引数でどれが戻り値なのかわかりません。 他のプログラミングも全く経験がない初心者で初歩的な質問ですみませんがご教授お願いします。

  • VBのEXEから他のVBのEXEのファンクションを実行したい

    メインルーチンからサブルーチンを呼ぶような イメージで VBののEXE‥(1)(メインプログラム)から 他のVBののEXE‥(2)のファンクションを呼び出して値を返したいのですが どうすればよいでしょうか? (1)はバッチファイルのような感じで コマンドライン引数が○○のとき(2)の××と△△を実行するという内容のもの (2)はマスタを更新するプログラムがマスタごとに いくつかのファンクションにわかれたものです。 説明不足で伝わりにくいかとおもいますが、 よろしくおねがいいたします。

  • プログラムよりファンクションで結果を取得したい

    お世話になります。 vb.net+PostgreSQLでプログラムを作成しております。 接続は「Npgsql.dll」を使用してます。 そこで、プログラムよりファンクションをコールし、 引数で渡した値に一致する結果の取得をしたいのですが、 パターン(2)の様に引数の記述を行うと結果の取得ができません。 どなたか引数で指定した値に一致した結果を取得する方法を お教え頂ければと思います。 【パターン(1)】正常に結果の取得ができた CREATE OR REPLACE FUNCTION pr_select_ok() RETURNS SETOF refcursor AS $BODY$declare cur refcursor; 条件 numeric; begin 条件 := 999; open cur for select 列01, 列02, 列03, 列04 from テーブル where 列01 = 条件 ; return next cur; return; end$BODY$ LANGUAGE 'plpgsql' VOLATILE 【パターン(2)】結果の取得ができない CREATE OR REPLACE FUNCTION pr_select_ok(条件 numeric) RETURNS SETOF refcursor AS $BODY$declare cur refcursor; begin open cur for select 列01, 列02, 列03, 列04 from テーブル where 列01 = 条件 ; return next cur; return; end$BODY$ LANGUAGE 'plpgsql' VOLATILE 以上、よろしくお願い致します。

  • Excel2003 VBA Functionの定数に関して教えて下さい

    Excel2003 VBA Functionの定数に関して教えて下さい。 例えば、 Function test(x, y) test = A * x + B * y + C End Function という数式を定義し、プログラム中で使用したいとします。 数式を見て分かる通り、xとyは変数でA, B, Cは定数です。 そして、これらA, B, Cの値を A = Cells(3,5) B = Cells(3,6) C = Cells(3,7) のようにシート上の値を使用したいのですが、 上記のようにプログラム中で宣言してもFunctionの中では値が入っていないものとみなされてしまいます。 この問題の回避のため、、 Function test(x, y) A = Cells(3,5) B = Cells(3,6) C = Cells(3,7) test = A * x + B * y + C End Function のようにFunctionの中に、定数を宣言を入れてしまうか、 Function test(x, y, A, B, C) test = A * x + B * y + C End Function のようにA, B, Cも定数ではなく、変数として扱う方法があります。 しかしながら、一つ目の方法では、こういったFunctionの数が増えてくると、 同じ定数を複数の場所で宣言することになり、後からプログラムを書き直そうとしたときに 極めて不便です。 一方で、2つめの方法では、test(x, y, A, B, C)のように、 一つのFunctionを呼び出すためにごちゃごちゃしてスペースをとり、 後から見たときに見にくくなります。 後、Constとして定義する方法もありますが、 A = Cells(3,5) のように、シート上のデータを代入する方法をとりたいと考えています。 上記以外の方法以外でもっとスマートな方法がありましたら 教えて頂けますでしょうか?

  • excel vbaのプログラムが作成できません

    プログラミングでexcel vbaを勉強しています。 excel vbaのプログラムでフィボナッチ数列のプログラムを作れという問題なんですけど、正直全くわかりません。誰かこのプログラミングを教えてください。お願いします。 フィボナッチ数列は次のように帰納的に定義される。 fib(1) = fib(2) = 1 fib(n) = fib(n - 1) + fib(n - 2) (ただしn >= 3) この関数fib(n)を定義せよ。ただし引数nはInteger型、fib関数の返す値はLong型とする。 またfib関数を呼び出す適当なメインプロシージャを定義し、A1セルからA20セルまでに fib数列の1~20番目の値を書き出すようにせよ。 という問題です。ほんとに困ってますお願いします

  • VBA Functionプロシージャで複数の値を

    エクセルでVBAのFunctionプロシージャについて複数の値を戻り値として 受け取る方法を考えています。 下記のようなサンプルプログラムを作りました。 --------------------------------------------------------------------------------- Option Explicit Private Sub CommandButton1_Click() Dim kekka(3) As Double Dim txt As String txt = "12.12A,34.34B,56.56C,78.78D" kekka(0) = test(txt) End Sub Public Function test(ByVal text As String) As Double Dim txt_kakou(3) As String '## 渡された「txt = "12.12A,34.34B,56.56C,78.78D"」を加工し、数値のみを取り出し '## 下記のように配列txt_kakou(3)に振り分ける '## 加工方法は割愛 txt_kakou(0) = 12.12 txt_kakou(1) = 34.34 txt_kakou(2) = 56.56 txt_kakou(3) = 78.78 'string型からdouble型に変換する。 txt_kakou(0) = CDbl(txt_kakou(0)) txt_kakou(1) = CDbl(txt_kakou(1)) txt_kakou(2) = CDbl(txt_kakou(2)) txt_kakou(3) = CDbl(txt_kakou(3)) test = txt_kakou() End Function ----------------------------------------------------------------------------------- まず、呼び出し側のプロシージャでkekka(3)という配列を宣言します。 次に変数txtに「"12.12A,34.34B,56.56C,78.78D"」の文字列を代入します。 そして変数txtをFunctionプロシージャに投げます。 Functionプロシージャでは、受け取った「"12.12A,34.34B,56.56C,78.78D"」 を数値のみに分解し、4つの変数に代入します。 この4つの変数も配列で用意し、txt_kakou(3)とします。 このtxt_kakou(3)を呼び出し元に返し、呼び出しもとの変数kekka(3)に入れたいのです。 また、はじめ変数txtに代入される値は文字列ですが、この文字列をFunctionプロシージャで分解し、 分解した値は、最終的には数値として扱いたいので、途中でdouble型に変換しています。 これを実行すると、Functionプロシージャの最後のtest = txt_kakou()で、型が一致しません といわれてしまいます。 どのように書き直せばいいのでしょうか。 よろしくお願いします。

  • 次のプログラムが作れません…

    メイン関数で整数型配列a[0]~a[3]にキーボードから入力された値を代入し、その要素の絶対値を代入し、a[0]~a[3]の結果を表示するプログラムです。 ただし、条件が付いていて配列の要素の絶対値を計算する関数"void abs ( int a[]);"を作成して使用することとなっています。 実行結果が以下のようになるらしいのですが… ./px2-2 input a number -> 4 input a number -> -9 input a number -> 7 input a number -> -8 a[0] = 4 a[1] = 9 a[2] = 7 a[3] = 8 よろしくお願いします。

  • VBAで一つのファンクションの中に全部コードを書いてしまいます

    VBAで一つのファンクションの中に全部コードを書いてしまいます Access VBAでプログラムを書いています。私がプログラムを書くと1つのファンクションの中に全てのコードを書いてしまいます。 例えば実行ボタンを押すと、Aテーブルからデータを抽出して、それを加工し、Excelへ出力するといった処理があるとします。他の人のプログラムを見ると、各処理毎にprocedureもしくはfunctionで機能を分けて作っています。私の場合は、1つの関数の中に全て書いてしまいます。 各機能ごとにプログラムを作りたいのですが、何かコツみたいなものはありますでしょうか?教えていただければ嬉しいです。

  • メイキング・プログラム!

    プログラムで、 ・二次関数のp,qのずれがあるグラフの定数などの値を入力して、 グラフを描くプログラム ・分数関数のp,qのずれがあるグラフの定数などの値を入力して、 グラフを描くプログラム ・式を入力して、その逆関数の式を表示し、さらにグラフを描くプログラム ・べき関数のグラフを描くプログラム 参考にして、やってみたいのです。これは、宿題とかではありません。なるべく簡単な構文でおしえてくださいまし 。