Page 23 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼フィルタの複数抽出について ゆき 02/9/7(土) 11:49 ┗Re:フィルタの複数抽出について Hirofumi 02/9/7(土) 16:19 ┗Re:フィルタの複数抽出について ゆき 02/9/7(土) 17:13 ┗Re:フィルタの複数抽出について Hirofumi 02/9/7(土) 18:36 ┣Re:フィルタの複数抽出について ゆき 02/9/9(月) 13:12 ┃ ┗Re:フィルタの複数抽出について Hirofumi 02/9/9(月) 18:51 ┗Re:フィルタの複数抽出について ゆき 02/9/9(月) 18:51 ┗Re:フィルタの複数抽出について Hirofumi 02/9/9(月) 19:03 ┗Re:フィルタの複数抽出について ゆき 02/9/9(月) 19:09 ┗Re:フィルタの複数抽出について ゆき 02/9/9(月) 19:33 ┗Re:ばたばたしてスイマセン Hirofumi 02/9/9(月) 20:11 ┗ありがとうございました^^ ゆき 02/9/10(火) 9:21 ┗Re:ありがとうございました^^ Hirofumi 02/9/10(火) 19:39 ┗Re:ありがとうございました^^ ゆき 02/9/11(水) 11:16 ┣ちょっと話がかわちゃうんですが(汗 ゆき 02/9/11(水) 13:19 ┃ ┗Re:別のスレッドにした方が善いかも Hirofumi 02/9/11(水) 19:25 ┃ ┗Re:別のスレッドにした方が善いかも ゆき 02/9/12(木) 9:08 ┗Re:ありがとうございました^^ Hirofumi 02/9/11(水) 19:11 ┗Re:ありがとうございました^^ ゆき 02/9/12(木) 9:15 ─────────────────────────────────────── ■題名 : フィルタの複数抽出について ■名前 : ゆき ■日付 : 02/9/7(土) 11:49 -------------------------------------------------------------------------
フォーム上でフィルタを使って複数条件で抽出をしたいのですが、テキストボックスや コンポボックスなどに入力してコマンドボタンクリック時に抽出させようとするのですが どうしても不具合がでてしまいます。 下のように場所(コンボボックス)、担当(テキストボックス)、種類(コンボボックス) とある場合に、以下のようなプログラムだと全部あいまい抽出になるので 抽出結果がおかしくなってしまうんです。 Me.Filter = "場所 Like '" & Me!コンボ1 & "*' and 担当 Like '" & Me!txt2 & "*' and 種類 Like '" & Me!コンボ3 & "*'" 今度コンボボックスはあいまい検索をつけなくすると 抽出する条件を全部入力(?)しないと(NULL?) 1件も抽出してくれません。 またテーブルのデータでどれかひとつでも入力してない部分があっても その物件をひろってくれません・・・ ちょっとうまくいえなくてすいません。 どうしたらうまく抽出できるのでしょうか? |
ちょっと意味が汲み取れない部分が有るんですが >またテーブルのデータでどれかひとつでも入力してない部分があっても >その物件をひろってくれません・・・ ? そこで、複数条件の抽出方法と言う意味なら こんな手は、どうでしょう 1、フォームの宣言部(フォームモジュールの先頭部分、プロシージャの前)に この場合、3つの抽出条件なので Private strFilStr(1 To 3) As String '各フィールドの抽出条件 と宣言し、各添え字の番号を抽出条件に対応させます 例えば 場所はMe!コンボ1で1 担当はMe!txt2で2 2、フォームモジュールに以下のプロシージャを作成します 意図は1、で宣言した配列からFilter用の文字列を作成します Private Function GetFilterString() As String ' フィルタ抽出条件を作成 Dim strTmp As String Dim i As Integer strTmp = "" For i = 1 To TERMS_AMT If strFilStr(i) <> "" Then If strTmp <> "" Then strTmp = strTmp & "And " End If strTmp = strTmp & strFilStr(i) End If Next i GetFilterString = strTmp End Function 3、フォームモジュールに以下のプロシージャを作成します 意図は2、で作成したFilter用の文字列を実行します Private Sub SetFormFilter() Dim strTmp As String strTmp = GetFilterString With Me If strTmp <> "" Then .Filter = strTmp .FilterOn = True Else .FilterOn = False End If End With End Sub 4、各コントロールの変更イヴェントにより そのコントロールの抽出条件を1、の配列に格納します (もし、コマンドボタンを使わないならコメント部分を活かして3、のプロシージャを実行します) 例えば Private Sub txt2_AfterUpdate() If txt2 <> "" Then strFilStr(2) = "担当 Like '" & txt2 & "*'" Else strFilStr(2) = "" End If 'SetFormFilter End Sub Private Sub コンボ1_AfterUpdate() If コンボ1 <> "" Then strFilStr(1) = "場所 = '" & コンボ1 & "'" Else strFilStr(1) = "" End If 'SetFormFilter End Sub 5、コマンドボタンに以下のコードを作成します Private Sub コマンド1_Click() SetFormFilter End Sub |
返事ありがとうございます^^ これをみてがんばって作ってみたいと思います。明日にでも(ぉぃ まだよくみていないのでわからないことがでてくるかもしれないですけど(汗 (実際私が作ったのは1つのフォームに8種類あるから大変そう(><)) >ちょっと意味が汲み取れない部分が有るんですが >またテーブルのデータでどれかひとつでも入力してない部分があっても >その物件をひろってくれません・・・ すいません(><)わかりにくかったですね。 私が読んでてもなにかおかしかったから(汗 最初に書いたソースで抽出しようとしたときに ( Me.Filter = "場所 Like '" & Me!コンボ1 & "*' and 担当 Like '" & Me!txt2 & "*' and 種類 Like '" & Me!コンボ3 & "*'") たとえばもとのテーブルのデータのほうに 場所:"日本"、担当:"A"、種類:"1" ⇒ 1. 場所:"日本"、担当:"A"、種類:"未記入" ⇒ 2. と入力してあったとします。 で検索用のボックスやテキストに 場所は"日本"で担当は"A"と入力して抽出しようとしたときに 結果は1.も2.も抽出される結果がほしいのですが なぜか1.しか抽出してくれません。 未記入が関係してると思うんですけどどうすれば 1も2も抽出してくれるのでしょうか? 必ずしもデータを全部入力するとは限らないものですから(><) |
私の方も文章で表現するのが下手で申し訳有りません 最初に概要を説明して置けば善かったのですが 遅れ馳せながら概要を書きます このコードで何をやっているかと言いますと 各コントロール(テクストボックス、コンボボックス)の変更が行われた場合 夫々、単体の抽出項目に対するフィルター文字列を作り、配列に格納します この時、テクストボックスなら""(長さ0の文字列)が入力された場合、 コンボボックスのテクスト入力部に""(長さ0の文字列)が入力された場合は、 配列に""(長さ0の文字列)を格納します 私の場合はこのイヴェントの最後部分で、SetFormFilterを呼び出しますが 別のコマンドボタンでSetFormFilterを呼び出しても善いと思います SetFormFilterが呼び出されると、GetFilterStringが配列を順に読み出し、 ""で無ければAndで連結した文字列を作成し、戻り値として返してきます 帰ってきた文字列が""なら(つまり、抽出条件が何も設定されていない場合) Me.FilterOn = Falseにしてフィルタを取り消します また、""以外が帰った場合、その文字列をMe.Filterに代入して、 Me.FilterOn = Trueにします つまり、抽出条件が3つ揃わなくても抽出が行われます >で検索用のボックスやテキストに >場所は"日本"で担当は"A"と入力して抽出しようとしたときに >結果は1.も2.も抽出される結果がほしいのですが 上手く作れば可能です ただ、コントロールのイヴェントは、確かAfterUpdateあたりが無難だったと思いますが 物によって、上手くいかない物が有ったような気がします ここいら辺は試して下さい |
Hirofumi さん大変くわしくありがとうございます^^ プログラムのやっていることはだいだいわかった(?)のですが Private strFilstr(1 To 3)As string をフォームの宣言部(フォームモジュールの先頭部分、プロシージャの前) というのは (General)の(Declarations)のところの Option Compare Database の下に書きこむのでしょうか?(汗 また一通り同じように作ってイベントボタンを押してもなにも変化がありません(><) 名前など間違ってもいないしプログラムも間違ってはいないと思います。 ほかになにか必要なことがあるのでしょうか。 やっぱり宣言するところが違うのかしら(汗 |
>Private strFilstr(1 To 3)As string > >をフォームの宣言部(フォームモジュールの先頭部分、プロシージャの前) >というのは >(General)の(Declarations)のところの > >Option Compare Database > >の下に書きこむのでしょうか?(汗 その通りです DeclarationsでPrivate宣言した変数は、そのモジュールの何処からでも参照できます 因みに、Publicで宣言すれば、他のモジュールからも参照出来ます > >また一通り同じように作ってイベントボタンを押してもなにも変化がありません(><) >名前など間違ってもいないしプログラムも間違ってはいないと思います。 >ほかになにか必要なことがあるのでしょうか。 >やっぱり宣言するところが違うのかしら(汗 私の方は元々、この様なコードでクラスを作り使用していますが、 ここでは、簡単にする為に書きなおしています 多分、書き忘れは無いと思いますが もし、宜しければ、コードをUpして見て下さい 私の方でも確認して見ます ただ、申し訳有りませんが、当方、帰宅後にしか見られない為、回答できるとしても 夜になると思います |
Hirofumiさんのソースでそのまま使わせていただいたのですがどうしても抽出してくれません(><) 書いたソースをとりあえずそのままのっけます。 1、はじめにフォームの宣言部にはこのまま宣言しました。 Option Compare Database Private strFilStr(1 To 3) As String 2、3 フォームモジュールにもほとんどかえずに書きました。 Private Function GetFilterString() As String Dim strTmp As String Dim i As Integer strTmp = "" For i = 1 To TERMS_AMT If strFilStr(i) <> "" Then If strTmp <> "" Then strTmp = strTmp & "'and" End If strTmp = strTmp & strFilStr(i) End If Next i GetFilterString = strTmp End Function Private Sub SetFormFilter() Dim strTmp As String strTmp = GetFilterString With Me If strTmp <> "" Then .Filter = strTmp .FilterOn = True Else MsgBox "みつかりませんでした。" .FilterOn = False End If End With End Sub 4、各コントロールの変更イベントは更新後処理に書かずに コマンドボタンに一気に書いてみました。(これが原因かわからないのですが) Private Sub コマンド214_Click() If Me!コンボ166 <> "" Then strFilStr(1) = "設置場所 ='" & Me!コンボ166 & "'" Else strFilStr(1) = "" End If If Me!cboキー <> "" Then strFilStr(2) = "種類 = '" & Me!cboキー & "'" Else strFilStr(2) = "" End If If txt5 <> "" Then strFilStr(3) = "担当 Like'" & Me!txt5 & "*'" Else strFilStr(3) = "" End If SetFormFilter End Sub これをこのまま実行すると必ず「見つかりませんでした。」とでてしまいます(><) 実際にはあるはずなのですが(汗 どこか書き方がまずいのでしょうか?(><) |
ゴメン一箇所、間違えて書いている(私が) >Private Function GetFilterString() As String > Dim strTmp As String > Dim i As Integer > > strTmp = "" > For i = 1 To TERMS_AMT > > If strFilStr(i) <> "" Then > If strTmp <> "" Then > strTmp = strTmp & "'and" > End If > strTmp = strTmp & strFilStr(i) > End If > Next i > GetFilterString = strTmp > >End Function 上記のプロシージャで For i = 1 To TERMS_AMT と有りますが、私の元のコードでは、TERMS_AMTを定数として定義していました このままでは、TERMS_AMTは0と見なされますのでフィルタの文字列が""で帰ってきます TERMS_AMTの部分を3として下さい For i = 1 To 3 此れで善いと思いますが、ゴメンナサイm(__)m |
>For i = 1 To TERMS_AMT >と有りますが、私の元のコードでは、TERMS_AMTを定数として定義していました >このままでは、TERMS_AMTは0と見なされますのでフィルタの文字列が""で帰ってきます >TERMS_AMTの部分を3として下さい > >For i = 1 To 3 あっ!これ私も疑問に思ってて試してみたのですが 「直前の操作はキャンセルされました。」とでてしまうんですぅ(><) それでデバックすると Private Sub SetFormFilter() Dim strTmp As String strTmp = GetFilterString With Me If strTmp <> "" Then .Filter = strTmp .FilterOn = True Else MsgBox "みつかりませんでした。" .FilterOn = False End If End With End Sub の部分の .Filter = strTmp に⇒がきちゃうんです(><) |
つけたしなのですが 抽出するボックスに なにも入力せずだと「みつかりませんでした。」とでるのですが 1件だけ抽出する項目になにか入力してから抽出すると 「直前の操作はキャンセルされました。」とでます。 でよく私でもわからないのですがたまにですが いろいろ入力したりしてたとえば 2件抽出する項目をいれたら(?) 「このオブジェクトに値を代入することはできません。」とでたり しました。 あといまやってて担当だけはうまく抽出するみたいなので 設置場所などのソースが間違っているのでしょうか?(汗 |
以下の部分が違ってます Andで連結した時にスペースが無いのと、要らない'が有るのでフィルタの文字列が不正 に成っているようです >Private Function GetFilterString() As String > Dim strTmp As String > Dim i As Integer > strTmp = "" For i = 1 To 3 > If strFilStr(i) <> "" Then > If strTmp <> "" Then > strTmp = strTmp & "'and" strTmp = strTmp & " And " 'Andの前の'を半角スペースにする '(Upしたコードではありませんが、私の場合、各条件の方で調整していました) 'Andの後ろに半角スペースを追加する > End If > strTmp = strTmp & strFilStr(i) > End If > Next i > GetFilterString = strTmp >End Function >4、各コントロールの変更イベントは更新後処理に書かずに >コマンドボタンに一気に書いてみました。(これが原因かわからないのですが) 各コントロールの変更イベントの法が使い善いかも? 以下の部分を変更して下さい >Private Sub コマンド214_Click() > If Me!コンボ166 <> "" Then > strFilStr(1) = "設置場所 ='" & Me!コンボ166 & "'" strFilStr(1) = "(設置場所 ='" & Me!コンボ166 & "')" 'カッコを入れて下さい、無くても大丈夫だと思いますがその方が確実と思います 'また、私の場合最後の)の後ろに半角スペースを入れていました '今回は、Andの前にスペースを入れているので、ここでは入れません > Else > strFilStr(1) = "" > End If > If Me!cboキー <> "" Then > strFilStr(2) = "種類 = '" & Me!cboキー & "'" '同様に strFilStr(2) = "(種類 = '" & Me!cboキー & "')" > Else > strFilStr(2) = "" > End If > If txt5 <> "" Then > strFilStr(3) = "担当 Like'" & Me!txt5 & "*'" '同様に strFilStr(3) = "(担当 Like '" & Me!txt5 & "*')" > Else > strFilStr(3) = "" > End If > SetFormFilter >End Sub |
Hirofumi さん最後までお付き合いいただきありがとうございました^^ すごいくわしく教えていただき大変勉強になりました(^0^) Hirofumiさんのご指摘どおりに直しまして見事動きました。 ひとつだけ変えたのがありましてコンポボックスは数値を選ぶのがあったので strFilStr(1) = "(設置場所 ='" & Me!コンボ166 & "')" を strFilStr(1) = "(設置場所 =" & Me!コンボ166 & ")" にしたら問題なく動きました^^ >>4、各コントロールの変更イベントは更新後処理に書かずに >>コマンドボタンに一気に書いてみました。(これが原因かわからないのですが) > >各コントロールの変更イベントの法が使い善いかも? > >以下の部分を変更して下さい > >>Private Sub コマンド214_Click() > >> If Me!コンボ166 <> "" Then >> strFilStr(1) = "設置場所 ='" & Me!コンボ166 & "'" > > strFilStr(1) = "(設置場所 ='" & Me!コンボ166 & "')" あと更新後処理のほうがやっぱいいですね。ただ 全部の更新後処理にIfを全種類つけないとうまく動かないですね。 私馬鹿でしたんで最初気づきませんでした(笑 もっと勉強しなきゃいけないなぁと思いました(><) |
動いて善かったですね 私もほっとしました 色々訂正させてゴメンナサイね 尚、ちょっと気が就いた事が有りましたのでUpしときます >たとえばもとのテーブルのデータのほうに >場所:"日本"、担当:"A"、種類:"1" ⇒ 1. >場所:"日本"、担当:"A"、種類:"未記入" ⇒ 2. >と入力してあったとします。 >で検索用のボックスやテキストに >場所は"日本"で担当は"A"と入力して抽出しようとしたときに >結果は1.も2.も抽出される結果がほしいのですが と有りましたが 種類:"未記入" ⇒ 2. で、"未記入"がNull値で、"2"が入力されている物、いない物が有ると言う事でしたら 確認してないので、確実とは言い難いのですが下記の様にすれば、"2"を抽出できると思います Private Sub cboキー_AfterUpdate() If cboキー <> "" Then If cboキー = "2" Then strFilStr(2) = "((種類 = '2') Or (種類 Is Null))" Else strFilStr(2) = "(種類 = '" & cboキー & "')" End If Else strFilStr(2) = "" End If SetFormFilter End Sub また、 >あと更新後処理のほうがやっぱいいですね。ただ >全部の更新後処理にIfを全種類つけないとうまく動かないですね。 と有りますが、例えば、上記のcboキーのイヴェントに以下の様に 書くという意味でしたら、その必要は無いはずです 上記の用にcboキーの変更だけを書けば動くと思います その為にDeclarationsSectionで Private strFilstr(1 To 3)As string を宣言しているのですから ただ、前にも書いたと思いますが、AfterUpdateのイヴェントか Exitのイヴェントのどちらかが(確かExitの方?)上手く動かなかったと思います Private Sub cboキー_AfterUpdate() If Me!コンボ166 <> "" Then strFilStr(1) = "(設置場所 = " & Me!コンボ166 & ")" Else strFilStr(1) = "" End If If Me!cboキー <> "" Then strFilStr(2) = "(種類 = '" & Me!cboキー & "')" Else strFilStr(2) = "" End If If txt5 <> "" Then strFilStr(3) = "(担当 Like '" & Me!txt5 & "*')" Else strFilStr(3) = "" End If 'SetFormFilter End Sub |
Hirofumi さんありがとうございます。 >Private Sub cboキー_AfterUpdate() > > If cboキー <> "" Then > If cboキー = "2" Then > strFilStr(2) = "((種類 = '2') Or (種類 Is Null))" > Else > strFilStr(2) = "(種類 = '" & cboキー & "')" > End If > Else > strFilStr(2) = "" > End If > > SetFormFilter > >End Sub なるほど^^こうゆう考え方もあるんですね(すごい♪ >例えば、上記のcboキーのイヴェントに以下の様に >書くという意味でしたら、その必要は無いはずです >上記の用にcboキーの変更だけを書けば動くと思います >Private Sub cboキー_AfterUpdate() > > If Me!コンボ166 <> "" Then > strFilStr(1) = "(設置場所 = " & Me!コンボ166 & ")" > Else > strFilStr(1) = "" > End If > > If Me!cboキー <> "" Then > strFilStr(2) = "(種類 = '" & Me!cboキー & "')" > Else > strFilStr(2) = "" > End If > > If txt5 <> "" Then > strFilStr(3) = "(担当 Like '" & Me!txt5 & "*')" > Else > strFilStr(3) = "" > End If > > 'SetFormFilter > >End Sub 私の場合毎回、更新後に SetFormFilter をするようにしたんですよ^^ でたとえば最初は”担当”のテキストボックスに”A”と入力したら 更新後処理のイベントで”A”が抽出されますよね^^ 次に”場所”のコンボボックスで”日本”と選んだら ”日本”でさらに”A”というデータが抽出されます^^ でもここで”担当”のテキストボックスの”A”を消した場合には ”日本”というデータが抽出されるようにしようとしたら Private Sub cboキー_AfterUpdate() If Me!コンボ166 <> "" Then strFilStr(1) = "(設置場所 = " & Me!コンボ166 & ")" Else strFilStr(1) = "" End If If Me!cboキー <> "" Then strFilStr(2) = "(種類 = '" & Me!cboキー & "')" Else strFilStr(2) = "" End If If txt5 <> "" Then strFilStr(3) = "(担当 Like '" & Me!txt5 & "*')" Else strFilStr(3) = "" End If SetFormFilter End Sub とひとつの更新後処理に毎回全部書く必要ってありません? 的外れでしたらすいません(><) あっ!説明もわかりにくいかも(汗 |
ちょと話がかわっちゃうんですが、、、このフォームで抽出したものだけ で印刷しようと思ったときにコマンドボタンに 以下の感じに作ったらうまくいきました。 Private Sub コマンド1_Click() If Me.FilterOn = True Then DoCmd.OpenReport "main1", acViewPreview, , Me.Filter End If If Me.FilterOn = False Then DoCmd.OpenReport "main1", acViewPreview End If End Sub でもこの同じフォームに並び替えをおこなえるボタンを3箇所ほど 作ったのですが、抽出したものでさらに並び替えした順番に 印刷しようと思ったら どうすればいいのでしょうか?(><) If文で作るには無理があるのでしょうか?(><) 並び替えのイベントは以下のプロシージャでこれが3種類ほどあります。 '昇順 Private Sub コマンド2_Click() Me.OrderBy = "場所 ASC" Me.OrderByOn = True End Sub '降順 Private Sub コマンド3_Click() Me.OrderBy = "場所 DESC" Me.OrderByOn = True End Sub ほんとに話が変わってすいません(><) |
>ちょと話がかわっちゃうんですが、、、このフォームで抽出したものだけ >で印刷しようと思ったときにコマンドボタンに >以下の感じに作ったらうまくいきました。 > > >Private Sub コマンド1_Click() >If Me.FilterOn = True Then >DoCmd.OpenReport "main1", acViewPreview, , Me.Filter >End If >If Me.FilterOn = False Then >DoCmd.OpenReport "main1", acViewPreview >End If > >End Sub Private Sub コマンド1_Click() If Me.FilterOn = True Then DoCmd.OpenReport "main1", acViewPreview, , Me.Filter Else DoCmd.OpenReport "main1", acViewPreview End If End Sub この方がスッキリするかも? 本題に入りますが 私も同じ様な事をした時が有りましたが、 確か考えるのが面倒だったので、リポートのレコードソースを書き換えちゃって 誤魔化した様な覚えが有ります この件に就いては、余り経験が有りませんので、別のスレッドにして 別の人のご意見を伺った方が言いと思いますよ >でもこの同じフォームに並び替えをおこなえるボタンを3箇所ほど >作ったのですが、抽出したものでさらに並び替えした順番に >印刷しようと思ったら >どうすればいいのでしょうか?(><) >If文で作るには無理があるのでしょうか?(><) >並び替えのイベントは以下のプロシージャでこれが3種類ほどあります。 > >'昇順 >Private Sub コマンド2_Click() >Me.OrderBy = "場所 ASC" >Me.OrderByOn = True > >End Sub > >'降順 >Private Sub コマンド3_Click() >Me.OrderBy = "場所 DESC" >Me.OrderByOn = True > >End Sub > >ほんとに話が変わってすいません(><) |
Hirofumi さんありがとうございます^^ >Private Sub コマンド1_Click() > > If Me.FilterOn = True Then > DoCmd.OpenReport "main1", acViewPreview, , Me.Filter > Else > DoCmd.OpenReport "main1", acViewPreview > End If > >End Sub > >この方がスッキリするかも? たしかにそうですね^^ご指摘ありがとうございます^^ >本題に入りますが >私も同じ様な事をした時が有りましたが、 >確か考えるのが面倒だったので、リポートのレコードソースを書き換えちゃって >誤魔化した様な覚えが有ります >この件に就いては、余り経験が有りませんので、別のスレッドにして >別の人のご意見を伺った方が言いと思いますよ わかりました^^新しくスレッドをたててみますね^^ 最後までありがとうございます。 あ〜アクセスって奥が深い(><) |
>私の場合毎回、更新後に > >SetFormFilter > >をするようにしたんですよ^^ 私もしています >でたとえば最初は”担当”のテキストボックスに”A”と入力したら >更新後処理のイベントで”A”が抽出されますよね^^ > >次に”場所”のコンボボックスで”日本”と選んだら >”日本”でさらに”A”というデータが抽出されます^^ > >でもここで”担当”のテキストボックスの”A”を消した場合には >”日本”というデータが抽出されるようにしようとしたら >とひとつの更新後処理に毎回全部書く必要ってありません? 無いと思います なぜかと言うと、各コントロールの変更の状態は、変更された時点で 配列変数に格納されています つまり、一々コントロールの値を読みに行きたくないので、 この様な事(更新後処理で配列に書きこむ)をしているのです もし、不都合が出ているなら、どう言う風に出ているお教え願いますか 当方でも確認して見ますが |
▼Hirofumi さん: >無いと思います >なぜかと言うと、各コントロールの変更の状態は、変更された時点で >配列変数に格納されています >つまり、一々コントロールの値を読みに行きたくないので、 >この様な事(更新後処理で配列に書きこむ)をしているのです >もし、不都合が出ているなら、どう言う風に出ているお教え願いますか >当方でも確認して見ますが なるほど♪ 毎回一々コントロールの値を読みに行かなきゃ だめだと勝手に勘違いしてました(><) たしかにそうですね^^ 消しても不具合なく動くことができました^^ 大変失礼しました(><) |