• 締切済み

アクセス フォームの設定

テーブル【T-1】 フィールドA,主キー,数値型 フィールドB,テキスト型 フィールドC,テキスト型 フィールドD,テキスト型 フィールドE,テキスト型 フォーム【F-1】 テーブル【T-1】に入力用のフォーム,単票型 があります。 F-1でそれぞれのフィールドに対して入力スペースがあり(もちろんですが) A,B,C,D,Eと順番に入力していきます。 ここでエンターキーを押すと、次のレコードへ移るわけですが、 カーソルがEの位置にあるため、わざわざマウスでAの位置へ移動させないといけません。 同様に、入力項目がなく、A,B,Cと入力して次のレコードへ行くと、Cの位置にカーソルがあります。 これを、Aをホームポジションとして、次のレコードへ移ったときに 自動的にカーソルをAの位置にもってくるようにしたいのですが、 一体どうすればよろしいでしょうか?

みんなの回答

  • surounin
  • ベストアンサー率28% (30/106)
回答No.5

皆さんのご意見で正しいと思いますが、 エンターキーで次のレコードにいどうするより 登録ボタンをこしらえてそれで登録するようにされたら如何でしょうか? このため、フォームのプロパティのtabキー移動を カレント レコードに変更すればエンターキーでも 次のレコードには移動しなくなります。 色々入力チェックをかけて、然る後に登録でどうでしょ^^;

zundoko5
質問者

お礼

貴重なご意見をありがとうございました。 エンターを押したときに、A~Dは既定 Eはフィールドに行を追加という設定になっていました。 なので、今回はたまたま?ですが、 A~Dについてはエンターで、 EにカーソルがきたらTABでおくることによって、 次のレコードに移ったときには、 Aにカーソルがくるようになりました。 何分まだアクセス初心者のため、 いろいろと作りこむことが出来ません。 膨大なデータを先に入力し終わることを優先させたいため、 今回、みなさんに教えていただいた方法は、 後日、ひとつづつゆっくりと勉強していきたいと思います。 どうもありがとうございました。(^o^)

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.4

まず、操作性を良くするため、フォームの「タブオーダ」をフィールドA,B,C,D,Eの 順で、"E"を最終に設定します。 フォームのプロパティの「イベント」タブで、「レコード移動時」をポイントして、 右端に表示された ... をクリックし、「コードビルダ」を指定します。 表示されたコードウィンドウに Private Sub Form_Current() Me.フィールドA.SetFocus End Sub となるようにコードを設定します。(「フィールドA」というフィールド名のとき) これで、Eを入力して<Enter>を押したときも、途中でレコードセレクタ等で次の レコードに移動したときも、「フィールドA」がアクティブになると思います。

zundoko5
質問者

お礼

貴重なご意見をありがとうございました。 エンターを押したときに、A~Dは既定 Eはフィールドに行を追加という設定になっていました。 なので、今回はたまたま?ですが、 A~Dについてはエンターで、 EにカーソルがきたらTABでおくることによって、 次のレコードに移ったときには、 Aにカーソルがくるようになりました。 何分まだアクセス初心者のため、 いろいろと作りこむことが出来ません。 膨大なデータを先に入力し終わることを優先させたいため、 今回、みなさんに教えていただいた方法は、 後日、ひとつづつゆっくりと勉強していきたいと思います。 どうもありがとうございました。(^o^)

noname#254177
noname#254177
回答No.3

フォームに更新というコマンドボタンをつくります。 A,B,C,D,E,更新と順番にタブオーダーをします。 一旦保存 マクロの新規作成で コマンドの実行→更新 コマンドの実行→最後のレコードへ というマクロを作り、更新という名前で保存します。 先のフォームを開き更新のボタンのプロパティで、 イベントのクリック時のところにマクロの更新で登録します。 これで、Enterで進んで、更新のところでEnterをすると 更新されAのところから始まります。 こんなもんかな。 独学なもんで自信はありません。

zundoko5
質問者

お礼

貴重なご意見をありがとうございました。 エンターを押したときに、A~Dは既定 Eはフィールドに行を追加という設定になっていました。 なので、今回はたまたま?ですが、 A~Dについてはエンターで、 EにカーソルがきたらTABでおくることによって、 次のレコードに移ったときには、 Aにカーソルがくるようになりました。 何分まだアクセス初心者のため、 いろいろと作りこむことが出来ません。 膨大なデータを先に入力し終わることを優先させたいため、 今回、みなさんに教えていただいた方法は、 後日、ひとつづつゆっくりと勉強していきたいと思います。 どうもありがとうございました。(^o^)

  • skikichi
  • ベストアンサー率65% (45/69)
回答No.2

通常、[E]の位置にカーソルがあってEnterキーを押すと、自動的に[A]の位置に移動します。 これは、「タブの移動順」や「タブストップ」の有効/無効が定義されているからです。 しかし、[C]までしか入力せずに移動ボタン等で次レコードへ移動した場合には、下記の設定をしてください。 「レコード移動時」のイベントに「A」のフィールドにフォーカスを移動するように記述。 [A].SetFocus

zundoko5
質問者

お礼

貴重なご意見をありがとうございました。 エンターを押したときに、A~Dは既定 Eはフィールドに行を追加という設定になっていました。 なので、今回はたまたま?ですが、 A~Dについてはエンターで、 EにカーソルがきたらTABでおくることによって、 次のレコードに移ったときには、 Aにカーソルがくるようになりました。 何分まだアクセス初心者のため、 いろいろと作りこむことが出来ません。 膨大なデータを先に入力し終わることを優先させたいため、 今回、みなさんに教えていただいた方法は、 後日、ひとつづつゆっくりと勉強していきたいと思います。 どうもありがとうございました。(^o^)

  • sibe
  • ベストアンサー率0% (0/0)
回答No.1

Enterする事により入力されますね。 その時フォームを消して 再度フォームを表示させる そんなコードをEnterのイベントに書くのです。 次に フォームのオープンイベントに Aにフォーカスがくるようにコードで処理する。 こんなのどうだ?

zundoko5
質問者

お礼

貴重なご意見をありがとうございました。 エンターを押したときに、A~Dは既定 Eはフィールドに行を追加という設定になっていました。 なので、今回はたまたま?ですが、 A~Dについてはエンターで、 EにカーソルがきたらTABでおくることによって、 次のレコードに移ったときには、 Aにカーソルがくるようになりました。 何分まだアクセス初心者のため、 いろいろと作りこむことが出来ません。 膨大なデータを先に入力し終わることを優先させたいため、 今回、みなさんに教えていただいた方法は、 後日、ひとつづつゆっくりと勉強していきたいと思います。 どうもありがとうございました。(^o^)

関連するQ&A

  • ACCESS フォーム上での条件設定

    どなたかお知恵をお貸しください。 Access2000 検索用のフォームを作成しました。 A・B・C・D・E・Fというフィールドがあり、それらのフィールドを 含むデータ形式のフォームが作成されています。 やりたいことは、フォームにテキストボックスを5つ配置し それぞれ(A・B・C・D・E・Fというフィールドに対する)の条件 を入力して、実行(コマンドボタン)をクリックすると 条件に一致したフォームが表示されてくるようにしたいのです。 ただし、条件が入力されない場合もあります。 (5つのうち1つだけ条件が入る場合など) 初心者などでどのように設定すればいいのか分かりません。 どなたかお力をお貸しください。 よろしくお願いします。

  • Access 2010のフォーム 

    いつも大変おせわになり、ありがとうございます。 Access 2010でフォーム「F」を作りました。具体的には リレーションシップのある「A」, 「B」ふたつのテーブルにフォームから値入力するものです。 「A」と全く同じ構造で、レコード数が違うだけのテーブル「Aダッシュ」を作りました。 フォームFに変更を加え、「A」ではなく「Aダッシュ」に値入力するようにしたいです。 Access上でどうやれば、そのような変更が加えられるのか、よくわかりません。 ご指導のほど、よろしくお願いいたします。

  • ACCESSのフォームで次のレコードに移動しない方法を教えてください

    Windows2000&ACCESS2000の環境です。 テーブルから連結したフォームに、例えばA,B,C,Dと4つのテキストボックスがあります。 A,B,C,Dと入力していくと、最後のDの入力を入力した後「Enter」キーを押すと次のレコードのA,B,C,Dが表示されます。(次のレコードの入力になってしまいます) タブオーダー最後のDの入力のあとの「Enter」キーを押しても現在のレコードのAに戻る設定(やり方)を教えていただけると幸いです。

  • フォームのプロパティを設定したい(Access2000)

    Access2000 XPです。 都道府県名が1レコードに1つずつ入っているテーブルと 各都道府県名のテーブルが47コあります。 新規でフォームを作成し(フォームのレコードソースはまだ未設定) コンボボックスを1つ置いて、値集合ソースに都道府県テーブルを設定し コンボボックスで選ばれた都道府県にフォームのレコードソースを変更しようと思っています。 Me.RecordSource=コンボボックス.text 単純にこれで良いと思うのですがエラー(入力された値は、フィールド又はコントロールで定義されている入力規則に従っていません)が出て全然更新されません。 どなたか分かる方、解決法をお願いします。。。

  • Accessのフォームについて教えて下さい

    Access 2010のフォームについてお教え下さい。 テーブルにはテーブル名T1、フィールド「ID」、「Price」というテキストボックス。2フィールドがあります。 テーブルの各データは、 ID,Price 001,100 002,200 003,300 フォームにはにフォーム名F1、「cmb」というコンボボックスと、「price」というテキストボックスが配置されています。 「cmb」のデータは値集合ソースで、「SELECT T1.ID FROM T1;」と指定しています。 「cmb」で選択したデータのプライスを「Price」テキストボックスに表示したいと思います。 例えば、「001」を選択したら、「100」と表示されるようにしたいと思います。 色々調べているのですが、どうやってやるのかわかりません。どのように実現したらよろしいでしょうか? よろしくお願いいたします。

  • ACCESSで表形式のフォーム、ある項目に色をつけたい

    テーブル名、myTable、として フィールドが、No,a,b,c,d,e、とあって レコード数、10レコードあります このテーブルに対し、フォームを作りました 表形式で作りました c.BackColor = vbRed とすると c列全体が、Red(赤)、になります これを、3レコードのc、だけを、Red(赤)に  する方法はないでしょうか よろしくお願いします

  • フォームの作り方 アクセス2000

    アクセス2000を使い始めた初心者です。 顧客群に関するテーブルAがすでにあります。 このテーブルは事情があって、フィールドを追加することはできません。 もうひとつのテーブルBを作って、こちらに情報を追加するためのフィールドをいくつか作ります。 やりたいことは、 入力用のフォームに、テーブルAの情報内容を表示させて、テーブルBの入力をしたいのです。 クエリを作ってリレーションを設定するのだろうと思うのですが、具体的に進め方がわかりません。 よろしくお願いします。

  • Accessテキストボックスへの色の付け方

    こんにちは。 Access2000を使用しています。 テーブルにA、B、C、D、Eという名前のレコードがあります。フォームで帳票形式で色々とカスタマイズしていきたいのですが… フォーム内で小計という名前のテキストボックスでA+B+Cの計算式を入れその小計テキストボックスをクリックまたはカーソルが移動した際にA、B、Cに色が付く様にしたいのですが、参考になるサイトややり方を知っている方教えて下さい。宜しくお願いします。

  • フォームから2つのテーブルにデータを書き込みたい

    Accessで T_aテーブルとT_bテーブルがありそれぞれのフィールドが以下のようになっているとします。 T_a:フィールド名 データ型    ID  オートナンバー型    商品番号 テキスト型 主キー T_b:フィールド名 データ型    ID  オートナンバー型 主キー    商品番号 テキスト型 このときフォームから入力したデータをそれぞれのテーブルの商品番号に追加したいのですがどのようにすればよいのでしょうか。  よろしくお願いいたします。

  • Accessのフォームで…

    Access 2010のフォームのリストボックスで、あるテーブルのフィールドの値を選択した場合に、同じテーブルの同じレコードにある違うフィールドの値を、テキストボックスに読み込みたいのですが、どうすれば出来ますでしょうか? VBAのサンプルソース等でも構いません。回答お願いしますm(_ _)m

専門家に質問してみよう