• ベストアンサー

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