作成者カテゴリ 
公開
藍井 優
05/17/2007 11:30 AM
エージェント
ノーツサーバノーツクライアントサーバOSクライアントOSネットワークプロトコル
6.x6.xN/AWindows 2000ProTCP/IP

配列の数が違う項目のループ

藍井 優 と申します。ヘルプで動的配列とか、、過去ログで調べてはいるのですが、自分がやろうとしていることが、
動的配列で解決するのかも、良く分からず2日前から悩んでいます。
どうぞ、ご教授をお願いいたします。

やろうとしていることは、チェックボックスに値が入っているか、付け忘れていないか。の入力ミスチェックです。
項目が沢山あるので、
1)最初にチェックボックスに何の内容が入っているかをvarChkItem()に取得してました。
2)例varChkItem(1,*)を1つの塊としてvarChkItem(1,1)又はvarChkItem(1,2)のなか…でvarChkItem(1,5)で
  1つでも、チェックしていない項目が見つかったときに「A.サンプルの種類」に空白があります。のエラーを
  出したいので、2次元配列にしました。

同様のエラーチェックをvarChkItem(2,*)、varChkItem(3,*)、varChkItem(4,*)、varChkItem(5,*)でやるため、
ループで回そうと考えていますが、下記に記載させていただいているコードでは、右側の配列(*のところ)の値が
代わるので、「T003型が一致しません」のエラーがでます。

どのように直せば、全ての項目がチェックできるようになるか、教えていただけないでしょうか。よろしくお願いいたします。
 
'===== REM {ここより項目の入力チェック} =====
Dim i ,t,s As Integer
Dim intChk As Integer
Dim ErrorFlg() As Integer
Dim ErrorFlgMsg As String

REM 条件取得のための値を取得
REM ===A.サンプルの種類===
Dim varChkItem(1To 5,1To 7) As Variant
varChkItem(1,1) = doc.GetItemValue("A_kind") '--\種類
varChkItem(1,2) = doc.GetItemValue("A_SaveMethod") '--\保存方法
varChkItem(1,3) = doc.GetItemValue("A_Temperature") '--\保存方法\温度
varChkItem(1,4) = doc.GetItemValue("A_Shading") '--\保存方法\遮光
varChkItem(1,5) = doc.GetItemValue("etc1") '--\保存方法\その他条件

REM ===B.サンプルの由来===
varChkItem(2,1) = doc.GetItemValue("B_Me") '--\由来

' wkInItem = varChkItem(2,1)

'(@)動物
varChkItem(3,1) = doc.GetItemValue("B1_KindUsed") '--\種類
varChkItem(3,2) = doc.GetItemValue("B1_Purchase") '--\保存方法
varChkItem(3,3) = doc.GetItemValue("B1_Safety") '--\保存方法\温度
varChkItem(3,4) = doc.GetItemValue("B1_BreeMethod") '--\保存方法\遮光
varChkItem(3,5) = doc.GetItemValue("B1_SampProMethod") '--\保存方法\その他条件
varChkItem(3,6) = doc.GetItemValue("etc20") '--\保存方法\遮光
varChkItem(3,7) = doc.GetItemValue("etc21") '--\保存方法\その他条件

'(A)細胞
varChkItem(4,1) = doc.GetItemValue("B2_KindUsed_2") '--\種類
varChkItem(4,2) = doc.GetItemValue("B2_Purchase_2") '--\保存方法
varChkItem(4,3) = doc.GetItemValue("B2_Safety_2") '--\保存方法\温度
varChkItem(4,4) = doc.GetItemValue("B2_BreeMethod_2") '--\保存方法\遮光
varChkItem(4,5) = doc.GetItemValue("B2_SampProMethod_2") '--\保存方法\その他条件
varChkItem(4,6) = doc.GetItemValue("etc30") '--\保存方法\遮光
varChkItem(4,7) = doc.GetItemValue("etc31") '--\保存方法\その他条件

'(B)試薬
varChkItem(5,1) = doc.GetItemValue("B3_Purchase_3") '--\種類



REM ===チェック===
i = 1 '初期値
t = 1
s = 0
intChk = 0


For i = 1 To Ubound(varChkItem(,))
    For t = 1 To Ubound(varChkItem(,))

        '配列中身のチェック(チェックボックスの中身)
        wkCheItem = varChkItem(i,t)
        For s = 0 To Ubound(wkCheItem)
            If wkCheItem(s) = "" Then
                intChk = intChk
            Else
                intChk = intChk +1
                Exit For
            End If
            ' intChk = 0 のときは、チェックチェックボックスが全て空白の時
            If intChk = 0 Then
                ErrorFlg(0) = 1
                ErrorFlgMsg = "空白です" & Chr$(13)
            Else
            End If
        Next

    Next
Next


[Previous Main Document]
配列の数が違う項目のループ (藍井 優) * 現在地 *
. . Re: 配列の数が違う項目のループ (コリー)
. . . . Re: 配列の数が違う項目のループ (はやて)
. . Re: 配列の数が違う項目のループ (かな)
. . . . Re: 配列の数が違う項目のループ (藍井 優)
. . . . . . Re: 配列の数が違う項目のループ (ブレゴ)
. . . . . . . . Re: 配列の数が違う項目のループ (藍井 優)
. . . . . . . . . . Re: 配列の数が違う項目のループ (taisei 999)
. . . . . . Re: 配列の数が違う項目のループ (コリー)
. . . . . . . . 1つでも、チェックしていない項目について(補足) (藍井 優)
. . . . . . . . 1つでも、チェックしていない項目について(補足) (藍井 優)
. . . . . . . . . . Re: 1つでも、チェックしていない項目について(補足) (NAG)
. . . . . . . . . . . . ご指摘ありがとうございます。 (藍井 優)
. . . . . . . . . . . . . . Re: ご指摘ありがとうございます。 (すい)
. . . . . . . . . . Re: 1つでも、チェックしていない項目について(補足) (コリー)
[Next Main Document]