|
▼八家九僧陀 さん:
>▼247b さん:
>ご親切に新たなコードまでご教示いただき本当にありがとうございます。
>
>まず、
>>'Spin移動.Max = レコード数取得 + 1
>を
>>Spin移動.Max = レコード数取得
>に修正したところ、支給台帳の最終行のデータが反映されません。
>TextレコードでSPIN移動の現在行を表示しているのですが、56/57までで57/57の表示がされません。(最終行は57行)
だとしたら、こちらの想定が間違っているのでしょう。元に戻してください。余計なことを言ってしましました。すみません
>またご教示いただいたコードを修正、追記しました。
>
>また新規の
>>'これはクラスモジュールです。
>>'クラスモジュールを新規作成し、プログラムを貼り付けてください。
>>'プロパティウィンドウの(オブジェクト名)を「clsFinder」に変更してください。
>のご指示どおり、クラスモジュール作成もしましたが、
>
>実行すると、まず何らのエラーメッセージもされず、通常にUSER_FORMも表示されますが、Combo社員ID欄は空欄で、リストが表示されていません。
リストが表示されていない、とは、リストの中身が無くなっているということですよね?
それは
'With Combo社員ID 247b del
' .RowSource = r.Address(external:=True)
' .ColumnHeads = True
' .TextColumn = 1
' .BoundColumn = 2
' .ColumnCount = 2
' .ColumnWidths = "40:60"
'End With
をコメントにしたからだと思います。
いったん、上記部分のコメントを外してみてもらえますか。
こちらから追加した部分はそのまま残してください。
>後、次の修正部分で、「If .ListIndex < 1 Then Exit Sub」は、そのまま残せばいいんですね?
>> With Combo社員ID
>> If .ListIndex < 1 Then Exit Sub
>>' Combo社員ID.Value = .List(.ListIndex, 0) 247b del
>>' Text氏名.Value = .List(.ListIndex, 1)
>>' Text所属.Value = .List(.ListIndex, 2)>
>
>引き続きお助けください!!!!!
If .ListIndex < 1 Then Exit Sub
のステップについては、一番最初の投稿では
If .ListIndex < Then Exit Sub
となっていたので、おそらくこうだろうという修正を加えた部分です。
想像の範囲を超えませんが、If .ListIndex < 0 Then Exit Sub
にすべきであると思います。
If DataFinder.Find社員(Combo社員ID.List(Combo社員ID.ListIndex, 0)) Then '247bAdd
Combo社員ID.Value = DataFinder.GetValue(1)
Text氏名.Value = DataFinder.GetValue(2)
Text所属.Value = DataFinder.GetValue(3)
'〜
Text標準報酬月額.Value = DataFinder.GetValue(22)
Text市県民税.Value = DataFinder.GetValue(23)
End If
のIF文の下の処理が実行されるか確認できますか?
IF文のステップにブレークポイントを置くと処理がそこで止まります。
ブレークポイントが解らない場合はレスしてください。
|
|