アクセス2000でデータ-ベースを作成しています。
 データの一覧表をレポートで出力する必要があるのですが、ある種類のデータのみが、長いデータだったり、短いデータだったり、データの長さが一定ではなく、それ以外のデータは全てデータの長さが一定であるという状態です。
 具体的に説明すると、例えば、一つのレコードに日付データ、名前データ、会員番号データ等のように長さがほぼ一定のデータと、備考データのように長さが個々のレコードによって大きく異なるデータとがあります。
 この備考データのような長さがレコードによって異なるデータを含めた一覧表をレポートで出力するために、レポートの左側に長さが一定のデータを配置し、右側に長さの異なる備考データを配置し、その備考データのプロパティの印刷時拡張を「はい」にしました。
 しかし、上記のように設定すると、備考データは確かにデータ量に応じて印刷時に自動的に拡張されて都合がよいのですが、備考データが拡張されると、その左側に配置されている名前データや日付データの位置までもが一緒に下側にずれてしまいます。
 どうにかならないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

備考データとその左側のデータを同時に選択して、[書式]-[配置]-[上]を実行してみたらどうでしょうか。



[備考]よりも下にあるコントロールは、拡張した高さの分だけ下に下がりますが、同じ高さにあるコントロールは、下にずれたりしないはずです。

もしくは、備考欄を最初から大きめにしといて、「印刷時縮小」を「はい」にしてもいいかと思います。

コレでも対処できない場合は、備考データの印刷時拡張を「いいえ」にしてから、VBAで同等の機能を作るしかないです。(文字数によって備考欄と「詳細」セクションの高さを変えるってな感じのコードを書く)
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QACCESS2000のレポートでデータは5レコードでも行数は30印刷したい

ACCESS2000のテーブルに5レコードあります。
それをレポートで下のようにしたいのです。おわかりの方お教えください。

 No. 品番
 1 A
 2 B
 3 C
 4 D
 5 E
 6
 7
 ・
 ・
 ・
29
30

Aベストアンサー

>得意先ごとに30行で改ページしたいのです
やっと理解しました。
簡単なのはNo.品番を表示する詳細部分はサブレポートを使い30行分の大きさで
詳細部に挿入してしまうのが簡単だと思います。
親レポートには取引先名などのヘッダに当たるレコードを表示させて取引先ID
などのキーでサブレポートとリンクさせて表示させれば良いと思います。
詳細のプロパティで改ページをカレントセクションの後にしてレポートヘッダ・フッタは不用
ページヘッダに取引先名などを表示させる。詳細に品番その他のレコードを表示
させる。
そうすればサブレポートには30行分の大きさでレコードが例えば5レコード以下
でもそれ以下は30行まで空白で出力出来ます。

Q<ACCESS>別テーブルのレコードのテキストデータが中に含まれるレコードを抽出する方法を教えてください

勉強不測で大変悩んでいます。お分かりになる方教えてください。

A(マスタ_登録済)とB(マスタ_仮登録)という2つのテーブルがあり、それぞれに「アカウント」(テキスト型)というフィールドが存在しています。

Bに存在する全レコードのいづれかの「アカウント」フィールドに入力されている文字列が文字列中に含まれているAのレコードの一覧を出力したいのですが、どうしたらできるでしょうか。

たとえば、
[A]
inu
inushiba
inupo
neko
nekotama
nekoshiro

[B]
inu
nekota

とレコードがそれぞれ存在していた場合、
出力したいレコードは

inu
inushiba
inupo
nekotama

となります。

よろしくお願いいたします。

Aベストアンサー

こんな方法もできます。
クエリにテーブルAとBを選択、結合しない。
(上記で全結合の状態になります。)
テーブルAのみ全表示
テーブルAのアカウントの抽出条件欄に
LIKE [B]![アカウント]&"*"

もし nekoinu のように中間や後ろも出力の場合は
LIKE "*"&[B]![アカウント]&"*"

Q一覧表よりデータ条件抽出

教えてください。
下記データ表があります。
   A     B      C
1  12/1  AAA  94.1%
2  12/2  BBB  95.6%
3  12/2  BBB  (空白)
4  12/3  CCC  97.3%
5  12/4  DDD  98.4%
6  12/5  EEE  97.3%

・したいこと条件説明
12/2~12/4のデータのみを抽出
%の(空白)セル(行)は抽出しない
日付(A列)は表示しない

・表示結果
   A    B
1  BBB  95.6%
2  CCC  97.3%
3  DDD  98.4%
としたいのですが・・・

いろいろ試してみましたが、うまくいきません。
よろしく、ご教授のほどお願いします。

Aベストアンサー

Sheet1             Sheet2
  A   B   C   D      A B C D  E    F
1 12/1 AAA 94.10%      1       12/2 ←開始日
2 12/2 BBB 95.60% 2    2       12/4 ←終了日
3 12/2 BBB
4 12/3 CCC 97.30% 4
5 12/4 DDD 98.40% 5
6 12/5 EEE 97.30%

Sheet1!D1: =IF(C1="","",IF(AND(A1>=Sheet2!E$1,A1<=Sheet2!E$2),ROW(),""))


Sheet2(列A~Cに下記の式を追加)
   A  B   C   D  E    F
1 12/2 BBB 95.60%   12/2 ←開始日
2 12/3 CCC 97.30%   12/4 ←終了日
3 12/4 DDD 98.40%
4

Sheet2!A1: =IF(ISERROR(SMALL(Sheet1!$D$1:$D$6,ROW(A1))),"",INDEX(Sheet1!A$1:A$6,SMALL(Sheet1!$D$1:$D$6,ROW(A1))))

Sheet1             Sheet2
  A   B   C   D      A B C D  E    F
1 12/1 AAA 94.10%      1       12/2 ←開始日
2 12/2 BBB 95.60% 2    2       12/4 ←終了日
3 12/2 BBB
4 12/3 CCC 97.30% 4
5 12/4 DDD 98.40% 5
6 12/5 EEE 97.30%

Sheet1!D1: =IF(C1="","",IF(AND(A1>=Sheet2!E$1,A1<=Sheet2!E$2),ROW(),""))


Sheet2(列A~Cに下記の式を追加)
   A  B   C   D  E    F
1 12/2 BBB 95.6...続きを読む

QAccess レポートのレコードソースについて

Access レポートのレコードソースについて

Access2000を使っています。
VBAでテーブル一覧や構造を Debug.Print に出力する方法が、あるWebサイトで紹介されて
いたのですが、Debug.Print ではなく、レポートに出力することは可能でしょうか・・?
一般的には、レポートのレコードソースには、クエリやテーブルを使うと思いますが・・・。
よろしくお願いします。

Aベストアンサー

結論から言いますと出来ないことはないけど大変だ、
ということです。一応調べられているとは思いますが、
単純に、テーブル一覧をレポートに出すことは
ほとんど問題は無いと思います。以下のクエリを
レポートのレコードソースにすればいいだけです。

SELECT MsysObjects.Name
FROM MsysObjects
WHERE (((Left([Name],4))<>"Msys") AND ((MsysObjects.Type)=1))
ORDER BY MsysObjects.Name;

しかしながら、テーブルの構造となると話は違ってきます。
というのも、テーブル、フィールド、インデックスは
TableDefsから階層的に取得できますが、テーブルの
デザインビューを見れば分かりますが、項目数が
ハンパではありません。また、リレーションも取り出す
必要があるでしょう。これから先を説明するのは
ちょいと教えてください、という範囲をやや超えている
ような感じです。
したがって、
(1)
一番手っ取り早いのはAccess付属のデータベースの
解析を利用してレポートにする。

(2)
WEBで見つけたと言う手段をDebug.Printではなく、
テーブルに取り込んでそのテーブルを元に工夫して
レポートのレコードソースをつくる。

(3)
WEBにはExcelに取り出す方法もあるのでそれを
印刷する。ただこの場合はどれだけの項目が
取得できるのかはよく見ていませんが。

このようなところです。

結論から言いますと出来ないことはないけど大変だ、
ということです。一応調べられているとは思いますが、
単純に、テーブル一覧をレポートに出すことは
ほとんど問題は無いと思います。以下のクエリを
レポートのレコードソースにすればいいだけです。

SELECT MsysObjects.Name
FROM MsysObjects
WHERE (((Left([Name],4))<>"Msys") AND ((MsysObjects.Type)=1))
ORDER BY MsysObjects.Name;

しかしながら、テーブルの構造となると話は違ってきます。
というのも、テーブル、フィールド、インデックスは
TableD...続きを読む

QACCESS チェックしレポート印刷⇒レコードが不足?

住所ラベルを必要分だけデータ型yes/no形式でチェックを入れ、レポートで印刷と思っています。
打ち出し方としては、フォーム上にデータとして住所・氏名・チェックと並んでおり、コマンドボタンで「印刷」を設定し、ほぼ上手くいきました。

しかしフォームを一度閉じて印刷しないと全てのチェックが反映されません。
10人中1~5をチェックし、印刷しても4までしか印刷されず、一度閉じてレポートから直接印刷すると5まで反映されている状態です。

フォームを閉じなくても5まで印刷する方法は無いでしょうか。
なにぶん初心者につき、説明の表現が適切ではないかもしれませんが宜しくお願いいたします。

Aベストアンサー

<改善前>
Private Sub コマンド10_Click()
On Error Resume Next
  DoCmd.OpenReport "tab1 クエリ", acPreview
End Sub

<改善後>
Private Sub コマンド10_Click()
On Error Resume Next
  DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
  DoCmd.OpenReport "tab1 クエリ", acPreview
End Sub

{Shift}{Enter}を押せば、フォームとレポートとが一致すると思います。
同じ効果を得るには、{Shift}{Enter}同様にレコードを保存するコードを付加すればいいです。
これで、最後に押したチェックボタンのみが反映されないという不具合は回避されます。


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

このカテゴリの人気Q&Aランキング

おすすめ情報