お世話になります。
アクセス2000に蓄えたデータをWordで(差し込み)印刷する方法は実行できるのですが、それをフォームで作成したコマンドボタンで実行するにはどうすればよいのでしょうか?
アクセス初心者です。どうか、よろしくお願い致します。

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

A 回答 (1件)

>コマンドボタンで実行するにはどうすればよいのでしょうか?


難しそうですね、差込印刷するにはWordからデータ(テーブル)を
選択して印刷するのでしょうから。
質問の回答にはなりませんが、ワードで作成した内容をアクセスの
レポートで作り直してはいかがでしょうか?
    • good
    • 0
この回答へのお礼

最初は、レポートで作成することを考えていたのですが、枠をどうやって作成したらよいかわからず、たまたまWordで作成したフォーマットがあり、差し込み印刷の方法を参考書で見たので実施しました。
再度レポートでのフォーマット作成にチャレンジしてみます。
ありがとうございました。

お礼日時:2001/10/05 08:36

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

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

Qアクセス2003のフォーム上のコマンドボタンについて。

アクセス2003のフォームで一覧を作っています。その中の1つをクリックすると詳細画面に移動させようとコマンドボタンをおいたのですが、下記のエラーが出ます。対処法を教えてください。
エラーの内容です↓
テーブル’業者登録’はほかのユーザーが排他的に開いているか、既にユーザーインターフェイスを介して開いているので、プログラムによって操作することはできません。
ACCESSのバージョンは2003です。
’メンテナンス進捗’というフォーム上に一覧があり、それぞれに詳細ボタンを置き、その詳細ボタンをクリックするとそのIDに見合ったメンテナンスの画面を開きたいです。
主テーブルは‘メンテナンス‘で副テーブルには’機器登録’と’業者登録’があります。‘メンテナンス‘と’機器登録’は機器管理IDで結ばれ、と’機器登録’と’業者登録’は業者IDで結ばれています。このリレーションの仕方が悪いのでしょうか?分かりづらくて申し訳ありません。

Aベストアンサー

少し話を整理しません

テーブルは
「メンテナンス」
「業者登録」
「機器登録」
の3つですね

一覧フォーム「メンテナンス進捗」のソースは?
「メンテナンスの画面」フォームのソースは?

QAccess2003でフォームにあるコマンドボタンで更にフォームを開く

Access2003でフォームにあるコマンドボタンで更にフォームを開くときのVBA記述で困っています。


Access2003で社員情報管理のデータベースを作成中です。
社員の情報を入力するにあたり、【基本情報】と【詳細情報】とでフォームを分けてあり、【詳細情報】を入力したい場合は、"基本情報フォーム"にあるコマンドボタンをクリックして"詳細情報フォーム"を開くようになっています。

この際、"基本情報フォーム"で開いている社員の【社員番号】を"詳細情報フォーム"の【社員番号】欄にも自動的に表示させるため、以下のようなVBAを記述しました。

Private Sub コマンドボタン_Click()

DoCmd.OpenForm "詳細情報フォーム"

Forms![詳細情報フォーム![社員番号].DefaultValue = Me![社員番号]

End Sub

【社員番号】は7ケタの半角英数で、社員によって、数字だけの場合と、英数混じっている場合とがあります(データ型はテキスト型にしてあります)。

困っているのは、

1.上記を実行した際に、数字だけの社員番号は問題ないのですが、英数混じりの場合だと"社員番号"テキストボックスが「#Name?」という表示になってしまう

2."基本情報フォーム"のコマンドボタンをクリックして新規の"詳細情報フォーム"を開き(社員番号のみが反映され、他の項目は空欄の状態)、詳細情報を入力→保存したあと、別の社員番号で"基本情報フォーム"を開き、コマンドボタンで"詳細情報フォーム"を開くと、前に入力した社員の情報が出てきてしまう。
(つまり、"詳細情報フォーム"のもととなるテーブルに、1行でもレコードがあると、それが出てきてしまう。)

【詳細情報】は、
1.データを入力する社員としない社員とがいる
2.新規でレコードを作成する場合と、既存のレコードを上書きする場合とがある

ので、もととなる"詳細情報テーブル"にその【社員番号の】レコードがなければ新規入力画面を、レコードがあればそのレコードを呼び出す形にしたいのですが、英数混じりの表示の件も含め、どうすれば、正しく表示されるか教えていただきたいです。
ぜひぜひよろしくお願いします。

Access2003でフォームにあるコマンドボタンで更にフォームを開くときのVBA記述で困っています。


Access2003で社員情報管理のデータベースを作成中です。
社員の情報を入力するにあたり、【基本情報】と【詳細情報】とでフォームを分けてあり、【詳細情報】を入力したい場合は、"基本情報フォーム"にあるコマンドボタンをクリックして"詳細情報フォーム"を開くようになっています。

この際、"基本情報フォーム"で開いている社員の【社員番号】を"詳細情報フォーム"の【社員番号】欄にも自動的に表示させるため、...続きを読む

Aベストアンサー

> "詳細情報フォーム"のもととなるテーブルに、1行でも
> レコードがあると、それが出てきてしまう。

これに関しては、
 a)詳細情報フォームのレコードソースに使用している
  テーブルから、基本情報フォームのデータを絞り込み
  条件とするクエリを作成し、これを詳細情報フォーム
  のレコードソースにする
 b)詳細情報フォームを開くときに、基本情報フォームの
  データでフィルタを掛ける
の、おおまかに2種類の対処方法があります。

使い勝手などからすると「a」の方がよいのですが(→「b」
の方法だと、右クリックメニューなどでフィルタを解除すると
現状と同じになってしまう)、現状からの改変が少ない分、
わかりやすいと思われる、「b」の方法を以下に提示します:
(英数混じりの場合への対処も組み込み済みです)

Private Sub コマンドボタン_Click()

  '変数の宣言
  Dim strCode As String

  '『社員番号』を「"」(ダブルクォート)で囲んだ形で記録
  '(→既定値やフィルタ条件に文字列を指定するには必須)
  strCode = Chr(34) & Me![社員番号] & Chr(34)

  '社員番号をフィルタ条件として指定して詳細情報を表示
  '(詳細情報未登録の社員の場合は、空のレコードが表示されます)
  DoCmd.OpenForm "詳細情報フォーム", , , "社員番号=" & strCode

  '既定値(DefaultValue)を設定
  '(既定値への代入なら、入力済みのデータは変更されません)
  Forms![詳細情報フォーム]![社員番号].DefaultValue = strCode

End Sub


・・・以上です。
コード中のコメントにも書きましたが、文字列を既定値やフィルタ
条件に使用する場合は、ダブルクォート(場合によってはシングル
クォート)を括ってやる必要がある、ということです。
(そうしないと、社員番号が「ABC123」の場合、その文字列では
 なく「ABC123」というフィールドやコントロールの値が参照されます
 (→そして該当するものがないので「#Name?」エラーが発生、と))

なお、日付/時刻型のデータを扱い場合は、今度は「#」で値を
括ってやる必要があります(「#2010/05/06#」など)ので、併せて
今後の参考まで。

> "詳細情報フォーム"のもととなるテーブルに、1行でも
> レコードがあると、それが出てきてしまう。

これに関しては、
 a)詳細情報フォームのレコードソースに使用している
  テーブルから、基本情報フォームのデータを絞り込み
  条件とするクエリを作成し、これを詳細情報フォーム
  のレコードソースにする
 b)詳細情報フォームを開くときに、基本情報フォームの
  データでフィルタを掛ける
の、おおまかに2種類の対処方法があります。

使い勝手などからすると「a」の方がよいのですが(→「b」
の...続きを読む

QAccessで、フォームAからダイアログモードで立ち上げたフォームBを開き、フォームBを閉じた時にフォームA側でマクロを実行したい

タイトルのままなのですが、

フォームA(メインとなる画面)と
フォームB(コードの検索画面)があり、
フォームAからフォームBをダイアログモードで開いている状態から、
フォームBを閉じたときに、フォームA側でマクロを実行したいと思っています。

具体的には、フォームAにコード入力用のテキストボックスがあり、コード検索のためにフォームBを立ち上げ、コードを選択した後フォームAのテキストボックスにそのコードを入れて、そのコードの値を元にフォームAにあるコンボボックスの再クエリを行いたいのです。

コンボボックスの再クエリの方法等は理解しているのですが、
上記のような場合に、どのイベントがキックされるのかが分かりません。
どのようにすれば(どのイベントを選んでマクロを指定すれば)適切に実行できるでしょうか。

Aベストアンサー

フォームBの処理
「値の代入」
「オブジェクトの選択」
  オブジェクトの種類:フォーム
  オブジェクト名:フォームA
「再クエリ」
  コントロール名:コンボボックス名
でいかがでしょうか?

Qアクセス2000(access2000)ですが、フォームの大きさがこれ

アクセス2000(access2000)ですが、フォームの大きさがこれ以上大きくならないでしょうか?

アクセス2000でフォームを作成しいているのですが、できればスクロールしてもいいので一つの大きさにしたいと思っているのですが、フォームがグリッド線のメモリ54近辺までしか伸ばせません。
フォームの大きさに限界でもあるのでしょうか?

もし大きさに限界があるとすると、データ量が多いのを処理するとしたら、改ページかもしくはタブしかないのでしょうか?

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

Aベストアンサー

フォームは1つですべてのコントロールを設置して使う、
以外にも使い方があります。

あるフォームからボタンを押すなどして「フォームを開く」とすれば
違うフォームが開きます。手前、奥、重なって開く感じです。

言葉では分かりにくいですが、
簡単に言えば、
フォーム1:1200×800の大きさ
フォーム2:800×600の大きさ
フォーム3:800×600の大きさ
・・・

フォーム1にフォーム2を開くボタン
押下実行→フォーム2が表示される(フォーム1はそのまま)

フォーム1にフォーム3を開くボタン
押下実行→フォーム3が表示される(フォーム1はそのまま)
使う用途でいろいろ切り分けしながら使えます。

あと、代表例として、カレンダコントロールがあります。
使い方を学習してみてください。
フォームプロパティにあります「ダイアログ」

Qあくせすのフォームでのコマンドボタンについて。

アクセスのフォーム上の「登録」というコマンドボタンをつくりたいのですが、これをクリックすると次のレコードの入力画面に移動させるにはどうしたらいいのでしょうか。よろしくお願いします。

Aベストアンサー

ツールバーオプションのコマンドボタンをフォームに貼り付けて
「レコードの操作」「新しいレコードの追加」で文字列「登録」のボタンを作成
でいいかと思います。


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

おすすめ情報