tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 恥ずかしい
投稿日: 2008/02/14(Thu) 08:56
投稿者K・今川
プログラムをよく見てください。

>If hata = "県" Then
>    MyFile2 = fkenna
>    fkenna = ""
>    MsgBox MyFile2 & "県です。"
     hata = "署"                    '<<<<hataが"署"に書き換えられています。
>    MsgBox hata
>    MsgBox MyFile2 & "#$"
>    Call kennaa           'Private Sub kennaaの2回目の処理進む
>Else
>End If
>
If hata = "署" Then                '<<<<hataが"署"に書き換えられているので実行します。
>    MyFile3 = fkenna
>    fkenna = ""
>    MsgBox MyFile3 & "署です。"
     hata = "事"                    '<<<<hataが"事"に書き換えられています。
>    Call kennaa          'Private Sub kennaaの3回目の処理進む
>Else
>End If
>
If hata = "事" Then                '<<<<hataが"事"に書き換えられているので実行します。
>    MyFile4 = fkenna
>    fkenna = ""
>    MsgBox MyFile4 & "事務所です。"
     hata = "基本"                  '<<<<hataが"基本"に書き換えられています。
>    Call kennaa          'Private Sub kennaa4回目の処理進む
>Else
>End If
If hata = "基本" Then               '<<<<hataが"基本"に書き換えられているので実行します。
>    MyFile6 = fkenna
>    fkenna = ""
>    MsgBox MyFile6 & "です。"
>    hata = "基本1"
>    Call kennaa          'Private Sub kennaa5回目の処理進む
>Else
>End If

つまり、前のIf文でhataの内容が変わっているためにすべてのIf文内部が実行されます。


hataの内容を"基本"、"事"、"署"、"県"の順に調べるか
下のようにIf文をElseIfで繋げば正常に動くはずです。


If hata = "県" Then
    MyFile2 = fkenna
    fkenna = ""
    MsgBox MyFile2 & "県です。"
    hata = "署"
    MsgBox hata
    MsgBox MyFile2 & "#$"
    Call kennaa           'Private Sub kennaaの2回目の処理進む

ElseIf hata = "署" Then
    MyFile3 = fkenna
    fkenna = ""
    MsgBox MyFile3 & "署です。"
    hata = "事"
    Call kennaa          'Private Sub kennaaの3回目の処理進む

ElseIf hata = "事" Then
    MyFile4 = fkenna
    fkenna = ""
    MsgBox MyFile4 & "事務所です。"
    hata = "基本"
    Call kennaa          'Private Sub kennaa4回目の処理進む

ElseIf hata = "基本" Then
    MyFile6 = fkenna
    fkenna = ""
    MsgBox MyFile6 & "です。"
    hata = "基本1"
    Call kennaa          'Private Sub kennaa5回目の処理進む

End If

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。