プロが教える店舗&オフィスのセキュリティ対策術

区分の入力で 11を入力したら
すぐ後に続く 5項目の入力をスキップ(省略)するには
どうしたらいいのでしょうか。
よろしくお願いします。

A 回答 (3件)

区分の更新後処理に


if me!区分=11 then
me![六番目の項目].setfocus
end if
とか
if me!区分=11 then
docmd.GoToRecord acActiveDataObject ,,acNewRec
end if
ということ?
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
最初の方法で できました。

お礼日時:2006/10/03 20:09

s_husky です。



  Me.データ6.TabStop = isStop <-- これは、いわばバグ!
    • good
    • 0

次は、TabStop を利用しています。


注意すべきは、

・ヌル値対策を忘れないこと。
・Form_Current() で先頭にフォーカスを移動すること。
・Form_Current() でも 区分_AfterUpdate() を Call すること。

です。

Private Sub Form_Current()
  Me.ID.SetFocus
  If Not Me.NewRecord Then
    区分_AfterUpdate
  End If
End Sub

Private Sub 区分_AfterUpdate()
  Dim isStop As Boolean

  isStop = CBool(Me.区分 & "" <> 11)
  Me.データ1.TabStop = isStop
  Me.データ2.TabStop = isStop
  Me.データ3.TabStop = isStop
  Me.データ4.TabStop = isStop
  Me.データ5.TabStop = isStop
  Me.データ6.TabStop = isStop
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。
なかなか研究する時間がなくてお礼が遅くなりました。

できましたが、タブストップのプロパティが変わるので
注意が必要ですね。スキップする項目の件数を変えた時です。
それと
区分が11のレコードを追加直後 次の追加レコードで区分を入力しないと(TABキーでスキップすると)
プロパティが前レコードのままになるので
何も入力されない時の判定を研究してみます。

お礼日時:2006/10/18 19:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!