• ベストアンサー

Access2013 帳票フォーム、1行で改行

こんにちは Access2013を利用して 帳票フォームを作成しました。 1行入力すると、改行されて(表示がみえなくなり)次の新レコード入力となります。 PageUPボタンやスクロールバーを利用して1行目を表示する事はできるのですが 詳細セクションには充分なスペースがあるにもかかわらずこのような動作となります。 レコードソースにフィルターはかけずに全て表示させております。 どなたかご教授ください。どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.8

[バグ] エラートラップを抜かしていました。 Public Sub GoToNewRecord(ByVal intRowMax As Integer) On Error Resume Next   Dim I As Integer   Dim J As Integer   DoCmd.GoToRecord , , acLast   J = intRowMax - 1   For I = 1 To J     DoCmd.GoToRecord , , acPrevious   Next I   DoCmd.GoToRecord , , acNewRec End Sub

koifun
質問者

お礼

fa_007さん 丁寧な解説本当にありがとうございます。 私の環境も特殊なのかと思います。Access2013をアンイストールして2003で稼働させると問題は発生しましせんでした。 この問題については一旦、終了させて頂きます。 ありがとうございました。

その他の回答 (7)

回答No.7

追加:新規レコードが表示される他の例。 Private Sub コマンド1_Click()   DoCmd.OpenForm "T3", acNormal   DoCmd.GoToRecord acDataForm, "T3", acNewRec End Sub このような方法でフォームを開いてもなります。この場合も、先と同じ要領で表示を変えることができます。具体的には、開く時ではなくてフォームがロードされた時に新行への移動を指示します。 Option Compare Database Option Explicit Const 詳細部行数 = 20 Private Sub Form_Load()   GoToNewRecord 詳細部行数   Me.Field1.SetFocus End Sub Public Sub GoToNewRecord(ByVal intRowMax As Integer)   Dim I As Integer   Dim J As Integer   DoCmd.GoToRecord , , acLast   J = intRowMax - 1   For I = 1 To J     DoCmd.GoToRecord , , acPrevious   Next I   DoCmd.GoToRecord , , acNewRec End Sub

回答No.6

・新しいデータを入力する。 ・ヘッダー部、フッター部を更新する。 ・新行への移動を指示する。 仮に、このような事情で新行への移動を指示しているのであれば、そのやり方を工夫することで<新行しか表示されない>という現象を変えることが出来ます。以下は、そのサンプルコードです。 Option Compare Database Option Explicit Const 詳細部行数 = 20 Private Sub コマンド_新規追加_Click()   GoToNewRecord   Me.Field1.SetFocus End Sub Public Sub GoToNewRecord()   Dim I As Integer   Dim J As Integer   DoCmd.GoToRecord , , acLast   J = 詳細部行数 - 1   For I = 1 To J     DoCmd.GoToRecord , , acPrevious   Next I   DoCmd.GoToRecord , , acNewRec End Sub

回答No.5

>新しいレコードを入力する際には前行はまったくみえません。 Private Sub コマンド_新規追加_Click()   SendKeys "^({+})", True End Sub 例えば、新規レコードの追加を指示すると同様の現象がでます。 そのことを踏まえると、 1、プロパティで同様の設定をしている。 2、VBAで同様の指示をしている。 確か、そういうコマンドもあったかと思います。

回答No.4

回答No.1のものです。 帳票フォームというのを見落として、ピントはずれの回答してしてしまってすみません。 新規行に移動したときに、新規行1行しか表示されないという現象ですね。 当方のAccess2013でのシンプルなサンプルでは現象が再現できませんでした。 新規に帳票フォームを作成しても再現しますか。 必ず再現できる条件というが提示できればこちらでも検証することができるですが。 フォームにイベントモジュールとかマクロとか設定していませんか。

回答No.3

補足:添付図No.2

koifun
質問者

補足

参考に画像をリンクさせて頂きます。 デザイン時 http://www.fastpic.jp/images.php?file=3632704208.jpg 新しいレコードを入力する際には、前行はまったくみえません。 http://www.fastpic.jp/images.php?file=0939546670.jpg PageUPで1行目を表示させた状態 http://www.fastpic.jp/images.php?file=3411333643.jpg

回答No.2

1,帳票フォームを作成. 2,1行入力すると表示がみえなくなる. 3,詳細セクションには充分なスペースがある. 字義通りに解釈すれば・・・。 そのような現象は、添付図のような場合に発生します。 原因=詳細セクションが不必要に広いためです。

koifun
質問者

お礼

お返事ありがとうございます。 説明が下手くそで申し訳ありません。 >3,詳細セクションには充分なスペースがある 詳細セクションではなく、フォーム全体の大きさに充分なおさきさがあります。 デザイン上では詳細は1行のみで おっしゃるようにしております。

回答No.1

複数レコードを同時に表示したいということが希望のことでしょうか。 フォームをデザインビューで開いて、「既定のビュー」プロパティが「単票フォーム」になっていたら「帳票フォーム」に変更してください。

関連するQ&A

  • 単票フォームと帳票フォームを連動 アクセス

    どういう構成にすればいいか教えてください。 元データはT_testのみですが T_testを元に、単票フォームと帳票フォームを作り、 この二つのフォームをサブフォームにし、1つの親フォームにはめて、 帳票フォームのレコードをクリックする(カレントレコードが変わる)度に 単票フォームは、帳票フォームのデータを表示させたいのですが どうすればいいでしょう? レコードソースは親フォームに設定すればいいのでしょうか? それとも単票フォームと帳票フォームそれぞれにT_testを設定すればいいでしょうか? 帳票フォームのレコードをクリックして単票フォームのデータを表示させる際は、 帳票フォームの値を取得して単票フォームにフィルタをかければいいのでしょうか?

  • 帳票フォーム後に

    マクロを使ってフォームの操作を簡単にしようとしているのですが 現在、クエリを作りそのクエリをフォームのレコードソースで引っ張ってきて帳票フォームで表示しています。 ここから先、この一覧で出ている中から一人のボタンを押したら更に詳細な情報が載っているフォームを開きたいと思っています。 ですが帳票フォームで出てきた一覧の中から一人だけの情報を出してくるやり方がわかりません。 どうにか帳票フォームから一つの情報をまた別のフォームに表示することは出来ないでしょうか?説明が下手で申しわけないです(;-;)

  • Accessのフォーム画面について

    宜しく御願いします。 アクセスでフォームの入力画面を作ったのですが項目が多く、モニタに全部表示し切れません。スクロールバーで上げ下げすればよいのですが、マウスのホイールあるいはある一定の縦幅を持たせて画面を動かして(下方向)入力しやすいようにしたいのですが可能でしょうか。 また、帳票形式の表をフィルターをかけて複数ページに分けたフォームを作りましたがページを開けたとき、常にスクロールの先頭に表示させることも設定できるでしょうか。 教えてください。

  • 新規レコード行を非表示にしたい

    帳票形式で入力フォームを作成しています。 登録No(○○~△△)を入れると、入力レコード数(○○~△△)が制限されるようにしました。でも、フォーム上には新規レコード行が表示されていて邪魔なんです。新規レコードインジケータ(*表示)という奴です。 ユーザーが入力する際、紛らわしいので、新規レコード行ごと消したいのですが、そんなことできるのでしょうか? お知恵をお貸し下さい! ちなみに、環境はAccess2002で、クエリをレコードソースにしてフォームを作成しています。

  • Access 帳票フォームでカレント行だけ色反転させれますか?

    いつもここのサイトにはお世話になっています。 今回もよろしくお願いします。 Access2002と VBAを使用して、マスターテーブルのメンテナンスの画面を作成しています。 1フォームの構成は上部に入力欄があり、 下部にサブフォームで帳票フォーム形式でテーブルが表示してあります。 下部のテーブルでレコードをクリックすると、上部の入力欄にクリックした部分のレコード(サブフォームのカレント行)内容を表示し、上部の入力欄にてデータの変更/更新を行います。 みなさんに教えていただきたいのは、 下部のサブフォーム部分でクリックした際に、クリックしたレコードの部分だけ色反転させるなどして「目立たせたい」のですが、VBAなどで色の指定を変更しても、サブフォーム全体の色が変わってしまいます。 なんとかして、1目で「カレント行」と「それ以外」とわかるようにする方法はないでしょうか? 補足説明はしますのでなんなりと申し付けてください。 よろしくお願いします。

  • ACCESS2000の帳票フォームでテキストボックスの入力値を取得したい

    こんにちは。ACCESS2000でツールを作成しています。 テーブルはExcelにリンクさせ、クエリを介して帳票フォームで データを表示しています。 帳票フォームのレコード毎にテキストボックスを追加して それぞれ入力できるようにし、その値をVBAで取得したいのですが どうすればよいでしょうか。 テキストボックスを追加して実行すると、一つのテキストボックスに 入力した値が全てのレコードに反映されているようです。 帳票フォームのしくみがよく分かりません。 どなたか教えていただけないでしょうか。 宜しくお願いします。

  • 帳票から単票フォームへの表示がうまくいきません

    ACCESSを始めたばかりです。 帳票表示されているレコードを単票フォームで表示させたいです。 テーブル「売上データ」がありこのテーブルを使って帳票用と単票用のクエリを作成、それぞれに対してフォームを作っています。 「売上データ」には、オートナンバーで No があり、これを主キーにしてあります。 クエリ Q帳票   フォーム F帳票 クエリ Q単票   フォーム F単票 フォームF帳票には、レコード内にボタンをおきました。 ボタンには、下記のマクロをつくって イベント クリック時 のところにいれました。 マクロ フォームを開く  フォーム名 :F単票  ビュー   :フォームビュー  フィルタ名 :  Where条件式 :[No]=[Forms]![F帳票]![No]  データモード:  ウィンドウモード:ダイアログ フォームF帳票 で、検索窓を作って検索した一覧の中から単票表示したいレコードのボタンをクリックして単票フォームをダイアログで開かせたいです。 上記のようにやってみたのですが、単票フォームは開くもののデータは空白になってしまいます。 ちなみに、作ったマクロを実行してみると Forms!F帳票!No とパラメータの入力を求められるので適当な数字をいれるとその数字に該当した単票フォームが開きます。 WEBで探して同じような感じで作ってみたのですがうまくいきません。 どこが間違っているのでしょうか? ちなみにクエリ Q単票 の Noの抽出条件に[Forms]![F帳票]![No]をいれてみたりもしましたがうまくいきませんでした(空白で単票が開く) 何卒よろしくお願いします。

  • Access2.0でフォームのイベントについて

    お世話になっております。 ムカーシのAccess2.0システムを改造しなくてはならず、当時の文献を読みあさっています。 Access2.0でフォーム中に一覧表という形で、「詳細」セクションへある数件のレコードを縦並び、スクロールバーで表示させているのですが、これをある条件下で、詳細ごとに、詳細セクション中のコントロールを表示・非表示したいと考えてます。(もっといえば、詳細セクションの高さもそれに併せて調整したく思ってます。) で、問題になるのはイベントだろうと思うのですが、そういったイベントが見あたらないのです。 もしかして、機能的にそうなっていないのでは・・・などおもったりするのですが・・・ どうか、お力添えをお願いします。

  • Accessフォームのスクロールバーに関して

    こんにちは。Access2000を使用しています。 今回、データ照会用フォームを作成しようと思い、 タブコントロールの中にリストボックスを配置し、 条件に応じてそのリストボックスの値集合ソース (値集合ソースはクエリを使用し抽出条件として このフォームのテキストボックスに入力した値を使用) を変更してみました。 そのこと自体うまく言ったのですが、リストボックス につきものと思われるスクロールバーがでてきません。 (表示しきれない最後のレコードは途中で切られてみる ことができません。) どなたかスクロールバーを表示させていただけません でしょうか? どうぞよろしくお願いいたします。

  • ACCESSのフォームでスクロールバーを一番下に持っていくVBAの記入方法はありますか?

    ACCESSのVBAでスクロールバーを一番下に持っていくコマンドはありますか? 教えてください。ACCESSでフォームを作っています。 元となるフォームを「フォームA」として その中にサブフォーム「フォームB」があります。 フォームBについての質問です。 フォームAにメイン情報があり、フォームBは フォームAの関連情報が幾つかとうろくされています 1:Nの関係です フォームBは帳票フォームです。 レコードの新規作成のコマンド「DoCmd.GotoRecord acNewRec」 や 最終レコードへの移動コマンドでは カーソルが一番下に移動するのですが スクロールバーまで移動しないので 画面上変わらなく困っています。 実際の構成は フォームAで選択した顧客の情報が フォームBに日付ごと表示されています。 一画面に5レコード表示するようにしています(1:5) ここで6レコード目の入力のために レコードの新規作成ボタンや最終レコードへの移動ボタンを 作成したのですが、右側のスクロールバーが 動いてくれないので、カーソルだけ移動して 画面上は5レコードが表示されたままになっています。 分かりづらい質問で申し訳ありません なにとぞお願いいたします。