プロが教えるわが家の防犯対策術!

前任者の引継ぎで在庫管理・発注書等をつくっています。
発注書フォームでサブフォームを使用しています。
サブフォームの画面は固定できますか?

サブフォームの下にスクロールが出て、最後まで入力すると
サブフォームが左に動き、空白部分が表示されてしまい、
特定のマシンでは何故かTAB移動が使えず
いちいち次のレコードに入力するのにスクロールを移動して
最初の項目に移動するのでとても面倒です。

TAB移動ができないのはこちらの環境なので仕方がないのですが
せめてスクロールはなしにしたいと思っています。
知り合いにこういう仕様なので無理と言われましたが
やはり無理ですか?

A 回答 (6件)

サブフォームにしているフォームの幅がメインフォームに置いた


サブフォームの枠よりも大きいためスクロールバーが出るのです。

サブフォームの幅を小さくするか、メインフォームのサブフォームの枠を広げればいいと思います。

この回答への補足

ありがとうございます
既に両方やってみていたのですが
やっぱりだめです。サブフォームをどんなに小さくしても
メインフォームの枠をどんなに広げても
空白部分(グレー部分)が表示されてしまいます。。

補足日時:2008/11/05 11:34
    • good
    • 0

>サブフォームをどんなに小さくしても


サブフォームを広げなきゃだめですよ
スクロールバーが出なくなるまで広げてください
メインの幅が足りなければそれも一緒にね
    • good
    • 0
この回答へのお礼

ありがとうございます
印刷しなければいけないので
大きさがきまっているのです。。
でも、これでもかっというぐらい広げてみても変わりませんでした。。
ぱっと見、枠内に収まっているにもかかわらず
スクロールが出てしまうので困っています
No.4さんまでの回答を試してまたお礼補足したいと思います。
ありがとうございます

お礼日時:2008/11/06 09:54

私がイメージした状況と違うような気がするのでとんちんかんな回答になるかもしれませんが、



>やっぱりだめです。サブフォームをどんなに小さくしても
>メインフォームの枠をどんなに広げても
>空白部分(グレー部分)が表示されてしまいます。。

グレーの部分が表示されるのが問題なのでしょうか?
横のスクロールバーが表示されてしまうのが問題なのではないですか?
サブフォームに指定しているフォームのプロパティで
スクロールバーを無しにすればスクロールバーは無くなりますし、
移動ボタンをなしにすれば、下のグレーの部分は無くなります。

この回答への補足

度々ありがとうございます。
スクロールはなしにしているのですが
それでも出てしまいます
(フォームでサブフォームの囲み?の下に出る横移動のスクロールバーです)
グレーの部分が出るのは問題ないのですが
その部分があるからスクロールが出るのか?と思った次第です
説明へたでほんとにすいません。。
移動ボタン、見実験なので試してみます ありがとうございます

補足日時:2008/11/06 09:55
    • good
    • 0
この回答へのお礼

移動ボタンを試してみましたが
サブフォームのレコード指定が消えてスクロールのみ残りました。。
ちなみにサブフォームは「フォーム・データシート型」です。
サブフォームのデザイン(縦に項目が並んでいる)と
フォームで配置された時の見た目(横に一列に並んでいる)は全然違いますがサブフォームのデザインを作りこんでみたほうがいいのでしょうか??
いろいろ試してみます ありがとうございました!

お礼日時:2008/11/06 10:52

横レス失礼致します。



> 空白部分(グレー部分)が表示されてしまいます。。

「データシート型のサブフォーム」の前提で回答しますが・・・

「右から2番目のフィールドの表示幅+右端のフィールドの表示幅」が
サブフォームコントロールの幅を超える場合、右端のフィールドと、
グレー部分が表示されるようになります。
(「上記のように右から1・2番目ではサブフォームの幅を超えないが
 1~3番目だと超える」という場合は、右側の2フィールドのみが
 表示されて、残りがグレー表示になります)

ですので、右端に並ぶフィールド群の幅を微調整すると、グレー部分
の表示を回避することは(一応)できます。

ただ、それだとあまり実用的ではないので・・・
とりあえず、「右端のフィールドに移動後も、左端のフィールドは表示
させたままにしたい(中間のフィールドは隠れていてもいい)」というよう
でしたら、「列の固定」を使用する、という方法もあります。

手順:
1)当該サブフォームを使用したフォームをフォームビューで開く
2)サブフォーム上の、必ず表示させるフィールド群を、左側に連続するように移動
 (各フィールドの標題部分をクリックして反転後、再度クリックしてドラッグすると
  移動できます)
3)左端のフィールドをクリックして反転後、Shiftキーと右移動の方向キー(「→」)を
 同時押しして、必ず表示させるフィールド群を全て反転
4)Accessのメニューで、「書式(O)→列の固定(Z)」を選択

・・・以上です。

こうすると、少なくともサブフォームの左端には必ず指定したフィールド群が表示
された状態になるので、データの参照する場合などにも便利です。


なお、単に「左端のフィールドに移動できさえすれば・・・」ということでしたら、
キーボードの「Home」キーを押せば移動できるようですので、併せて参考までに。
(ユーザーへの指導、ということになると、運用的には厳しいかもしれませんが(汗))

この回答への補足

こんにちは
ご丁寧なご回答本当にありがとうございます。
調べてみたところ「フォーム/データシート型」でした。
サブフォーム自体は作りこまれてなく
項目(7項目あります)が並べてあるだけのもので
フォームを開くと7項目が横に並べられ
下に次のレコードが続く。。という具合になります

列の固定という考えもありますね!
(「フォーム/データシート型」にも適応するのかな?)
それでも可能か検討してみたいと思います。
本当にありがとうございました!!

補足日時:2008/11/06 10:52
    • good
    • 0

まず、その7つのテキストボックスは全て表示されてますか?


┌───────────────────────┐
│メインフォーム********************************│
│┌─────────────────────┐│
││サブフォーム               ││
││┌─┐┌─┐┌─┐┌─┐┌─┐┌─┐┌─┐││
││└─┘└─┘└─┘└─┘└─┘└─┘└─┘││
│└─────────────────────┘│
└───────────────────────┘
全てのテキストボックスが最初に表示したときに画面に表示されていれば問題はないはずです。
┌───────────────────────┐
│メインフォーム                │
│┌───────────────────┐  │
││サブフォーム             │  │
││┌─┐┌─┐┌─┐┌─┐┌─┐┌─┐┌┤  │
││└─┘└─┘└─┘└─┘└─┘└─┘└┤  │
│└───────────────────┘  │
└───────────────────────┘
このようにテキストボックスが最初に表示したときに切れてませんか?
この場合、最後のテキストボックスにカーソルが行くと右に少しずれる可能性があります。
サブフォームの幅がメインフォームのサブフォームの枠よりも大きいのが問題なので
サブフォームの幅を狭くするか、メインフォームのサブフォームの枠を
広げればいいのではないでしょうか?
    • good
    • 0
この回答へのお礼

ご丁寧に図解までしていただき
本当にありがとうございます(感涙)
テキストボックス自体は切れてなくて、全部見えています。
最後のボックスに行くと左に大きくずれていました。
前回メインフォームの幅を広げても無理だったものが
再度上記のように広げてみたら 問題なく消えました。。
なぜ今回はできたのか原因がさっぱりわかりませんが
おかげさまで無事解決できました。
プリント幅より大きくなってしまったのが気になりますが
レポート出力で調整することにしました
本当に本当にありがとうございます。

お礼日時:2008/11/06 14:33

図形を調整している途中で間違えて送ってしまったので


非常に見にくいですが、雰囲気は伝わったでしょうか?

なお、印刷しなければいけないというのはまた別の話になりそうなので
とりあえず表示についてだけ書いてみました。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A