過去ログ

                                Page      85
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼function の返り値を受け取る  しろまる 02/10/29(火) 23:53
   ┗Re:function の返り値を受け取る  こうちゃん 02/10/30(水) 10:01
      ┗Re:function の返り値を受け取る  yu-ji 02/10/30(水) 10:18
         ┗Re:function の返り値を受け取る  こうちゃん 02/10/30(水) 12:20
            ┗Re:function の返り値を受け取る  しろまる 02/10/30(水) 14:52
               ┗当方ではエラーはでませんが?  こうちゃん 02/10/30(水) 15:41
                  ┣Re:当方ではエラーはでませんが?  しろまる 02/10/30(水) 16:22
                  ┗勘違いがありました。  しろまる 02/10/30(水) 16:29

 ───────────────────────────────────────
 ■題名 : function の返り値を受け取る
 ■名前 : しろまる
 ■日付 : 02/10/29(火) 23:53
 -------------------------------------------------------------------------
   いつもお世話になっております。
よろしくお願い致します。
access2000で開発しております。

実現したいことは、関数の引数に配列を指定したときに、その関数の返り値を受け取るにはどうすれば良いかということです。。
どうにもこうにもできません。。

★コード例

(呼び出し元)
sub test()
 dim 配列(1) as string
 配列(0)="0"
 配列(1)="1"

 関数AA 配列 '←ここの返り値が欲しい!!

end sub
 

(関数AAのコード)
public function 関数AA(引数() as String) as Boolean

関数AA=true

if 引数(0)="0" then
関数AA = false
exit function
end if

end function


★やってみてできなかったこと

if (関数AA 配列)= false then ・・・・・  
   ↑そもそもカッコでくくることができませんでした。

if 関数AA 配列 = false then ・・・・・  
   ↑そもそもカッコをはずしたら、IF文でエラーにひっかかりました。

分かり難い説明で申し訳ありません。
よろしくお願いいたします。




 ───────────────────────────────────────  ■題名 : Re:function の返り値を受け取る  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/10/30(水) 10:01  -------------------------------------------------------------------------
   しろまるさん、こんにちは

こんな感じです・・

>if (関数AA 配列)= false then ・・・・・  
if 関数AA(配列)= false then ・・・・・

 ───────────────────────────────────────  ■題名 : Re:function の返り値を受け取る  ■名前 : yu-ji  ■日付 : 02/10/30(水) 10:18  -------------------------------------------------------------------------
   ▼こうちゃん さん:
>しろまるさん、こんにちは
>
>こんな感じです・・
>
>>if (関数AA 配列)= false then ・・・・・  
>if 関数AA(配列)= false then ・・・・・

ちなみに、

Dim ret as Boolean

ret = 関数AA(配列)

とかで、結果を変数に入れることも可能です。

 ───────────────────────────────────────  ■題名 : Re:function の返り値を受け取る  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/10/30(水) 12:20  -------------------------------------------------------------------------
   yu-jiさん、しろまるさん、こんにちは

さらにちなみに、

Booleanを返す関数なら

If Not 関数AA(配列) Then
で判定もできます。(これはFalseの場合)

Trueの判定なら
If 関数AA(配列) Then
でOKです

 ───────────────────────────────────────  ■題名 : Re:function の返り値を受け取る  ■名前 : しろまる  ■日付 : 02/10/30(水) 14:52  -------------------------------------------------------------------------
   ▼こうちゃん さん:
>yu-jiさん、しろまるさん、こんにちは
>
>さらにちなみに、
>
>Booleanを返す関数なら
>
>If Not 関数AA(配列) Then
>で判定もできます。(これはFalseの場合)
>
>Trueの判定なら
>If 関数AA(配列) Then
>でOKです

カッコをつけるとエラーがでました。

■関数AA(配列) で実行すると↓

コンパイルエラー:型が一致しません。配列またはユーザ定義型を指定してください。

そもそも、関数を呼び出せなくなってしまいました。。。

 ───────────────────────────────────────  ■題名 : 当方ではエラーはでませんが?  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/10/30(水) 15:41  -------------------------------------------------------------------------
   しろまるさん、こんにちは

>カッコをつけるとエラーがでました。
>■関数AA(配列) で実行すると↓
>コンパイルエラー:型が一致しません。配列またはユーザ定義型を指定してください。
>そもそも、関数を呼び出せなくなってしまいました。。。

当方で以下のコードで試験してエラーは出ていません。
しろまるさんが試験したコード全文をUPできませんか?

Sub test()

  Dim 配列(1) As String
  
  配列(0) = "0"
  配列(1) = "1"

  MsgBox 関数AA(配列)

End Sub

Function 関数AA(引数() As String) As Boolean
  
  関数AA = True

  If 引数(0) = "0" Then
    関数AA = False
    Exit Function
  End If

End Function

 ───────────────────────────────────────  ■題名 : Re:当方ではエラーはでませんが?  ■名前 : しろまる  ■日付 : 02/10/30(水) 16:22  -------------------------------------------------------------------------
   こうちゃんさん、皆様

本当にありがとうございました。

確かに、こうちゃんさんのコードで、できました。。。
最初に出来ないとお伝えしたはずですが、、、
何だかよくわからないまま実行可能になりました。

気をつけます。

お手数お掛けしました。
本当にありがとうございました。

 ───────────────────────────────────────  ■題名 : 勘違いがありました。  ■名前 : しろまる  ■日付 : 02/10/30(水) 16:29  -------------------------------------------------------------------------
   もう一度、先ほどの勘違いによる質問内容をまとめます。


★引数を受け取るとき
例1.
if 関数AA(配列) then  ↓
で実行可能!!

例2. 
if 関数AA 配列 then ↓
実行不可
 「修正候補:ステートメントの最後」

★引数を受け取らないとき
例1. 関数AA(配列) ↓
[コンパイルエラー:型が一致しません。配列またはユーザ定義型を指定してく
ださい。]

例2. 関数AA 配列 ↓
実行可能!!!!!


お手数お掛けしました。
少しでも、皆さんの役に立てば。。。
※常識だったとは思いますが。。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 85