• ベストアンサー

Accessのフォームでシマシマ

いつもお世話になっています。 大変恐縮なのですが、どなたか教えてください。 Accessのフォームでシマシマの帳票フォームを作るにはどうしたら良いのでしょうか? いくつか調べてみましたが、どれもしっくりくる答えがなく質問いたしました。 お願いいたします。 Access2000 WindowsXP

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.5

#2です > RowNo()関数をダブルクリックすると、 この操作は何でしょうか。チョッとわかりません。 > 「ファイルへのアクセスエラーが発生しました。 >  ネットワークへの接続が切断されている可能性があります。」 > とエラーメッセージがでました。 このインポートしたものが原因とは考えにくいエラーと思います。 インポートしたものの中での動作でエラーが発生すると、エラーの内容は イミディエイトウィンドウに表示されるだけだと思います。 何故エラーが出たのか、原因はチョッとわかりません。 その mdb ファイルのコピーを取っておいて、最適化してみてどうなりますか。 また、新規 mdb を作成し、そのエラーの起きた mdb から全てインポートして、 新規 mdb での動きもおかしくなるのでしょうか。 メニューの「ファイル」→「外部データの取り込み」→「インポート」から、 ダウンロードした mdb ファイルを指定し、「モジュール」にある2つをインポートすると RowNo() 関数が使えるようになると思います。 後は、条件付き書式等で RowNo() を使ってみてください。 (RowNo() 関数を使うフォームの「コード保持」は「はい」にしておきます) (イベントプロシージャが全くないフォームに組み込む時には注意) なお、#2で提示した方法の条件付き書式のところで、 条件1、条件2で行の色を変更していましたが、 少しでも処理を速く・・・・とした場合、条件は1つだけにした方が良いと思います。 (気付いていたかと思いますが、念のため) 元々のテキストボックスの背景色を奇数行のものにしておいて、 条件付き書式の方で偶数行を判別して背景色を変える。 (説明上、対比しやすかったので並べて書いてました) テキストボックスでどうにか・・・・っていう方法でした。 後、見栄え的には、このシマシマ用テキストボックスの前面に乗っかっている テキストボックスの背景スタイルを透明にすると行の色が全部見えるようにはなります。 余談) YU-TANG さんのところは見られましたか。 他の記事   OleRect 関数 - 表形式(帳票)フォームの背景色をレコード別に変える方法   http://www.f3.dion.ne.jp/~element/msaccess/AcTipsFrmOleRect.html これはまさに行の色変えの方法です。 サンプルファイルのフォームに「商品2」があります。 そこの動きで行番号を得る関数と組み合わせるとシマシマにできると思います。 (記事後半の使用上の注意は、よく読んでください) =OleRect(IIF((RowNo() Mod 2)=1,奇数行の色,偶数行の色)) でいけそうな気はします。(未検証)

nmt3942
質問者

お礼

お返事ありがとうございます。 なんとアクセス2010買っていただきました! しかし、この問題をきちんと解決してから2010に移行したいので、 すみませんが、宜しければもう少しお付き合いいただけたら嬉しいです。 本当は以前のご回答いただいた、「別フォームから主フォームに反映させるには?」 のことでも、もう少しお伺いしたいことがあるのですが… 本件 >> RowNo()関数をダブルクリックすると、 データベース→モジュール→インポートしたRowNo関数の2つ インポートした2つのRowNo関数のモジュールがあると思うのですが、 それを開こうとした時にでたエラーです。 >このインポートしたものが原因とは考えにくいエラーと思います。 すみません…私のインポートの仕方が間違っていました! 元のデータをコピーしたものをインポートしていたためにできなかったのだと思われます。 (それ以前にやり方も間違っていたのですが…) お騒がせし大変申し訳ありませんでした。 ご説明通りにきちんとやり直してみたら、できました!!! 条件は一つだけにしました。 ご忠告の通り、マウスホイール時や起動時等は反応が遅かったです。 ですが、さほど気になりはしないのでこれで十分すぎると思います。 いつも的確かつ丁寧なアドバイスをありがとうございます。 余談で教えていただいたYU-TANGさんのHPも熟読させていただきます。 私が望んでいた通りでしたので、ベストアンサーに選ばせていただきます。 ありがとうございました。

その他の回答 (4)

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.4

>ピクチャサイズ… 添付は ピクチャ:1cm角内に数個の同心円 JPG形式 ピクチャ全体表示:はい ピクチャサイズ:クリップ

nmt3942
質問者

お礼

ありがとうございます。 背景に画像を設定するという考えは私になかったので、 教えていただきありがとうございました。 ですが、私が考えていたものと少し違いました。 私の考えていたシマシマというのは、フォームの詳細部分が 各レコードごとにシマシマになるようにと、考えていました。 説明が悪く、うまく伝わらずすみませんでした。 このような質問にご回答いただき、うれしく思います。 これからも、もし私の質問を見つけたらご指南いただけたらと思います。 ありがとうございました。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.3

勘違いかもしれませんが フォームに背景を入れたいならフォームのプロパティーの書式で ピクチャー関係の設定を試してください。 背景の模様はご自分で検索してください。 背景の大きさは小さい時はタイル張りのように敷き詰める 設定もありますので小さくても構いません。 Windowsの壁紙にも使えるのが有りそうですね

nmt3942
質問者

お礼

お返事ありがとうございます。 >フォームに背景を入れたいならフォームのプロパティーの書式で >ピクチャー関係の設定を試してください。 この場合、ピクチャーのサイズとフォームのレコードが表示される部分のサイズが 一緒でなくてはならないですよね? まだやってみてはないので、これもやってみようと思います! ありがとうございました。

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

できなくはないのですが、処理が重くなりそうな気がします。 2007 からは、詳細のセクションに「代替えの背景色」が追加されていて、 シマシマの帳票フォームを簡単に作ることが出来るようになってます。 とは言っても 2000 で実現したいのですよね。 以下に作り方を記述しますので、小さい環境で試してみてください。 (前回ご質問で画像にあった検索フォーム「F02」をコピーしたものが適当かと・・・) 準備) ・帳票フォームを表示している時、私は何レコード目を表示しているの?  これを求める方法を入手します。  YU-TANG さんの フォームに行番号を表示する方法  http://www.f3.dion.ne.jp/~element/msaccess/AcTipsFrmRowNo.html  ここからサンプルファイルを入手します。  ここの RowNo() 関数を使って偶数・奇数行を判別するようにします。  必要なものをインポートしておきます。 フォームの修正)  以下、フォーム「F02」を想定して記述していきます。 ・詳細部分を縦にちょっと広げて、  各テキストボックス等を縦方向中央になるように移動します。 ・ヘッダ部分にテキストボックス(仮名「txt1」)を配置し、ラベル部分は削除します。 ・そのテキストボックスを詳細左上角に合わせて移動します。 ・そのテキストボックスの大きさを、詳細部分全部になるようにします(全てを隠すように) ・そのテキストボックスの   「タブストップ」を「いいえ」   「フォーカス取得時」をイベントプロシージャにし、以下を記述します。   Private Sub txt1_Enter()     Me.顧客CD.SetFocus   End Sub   これは、テキストボックス「txt1」かマウスでクリックされた時、   前面に出てこないようにするために、クリックされたら「顧客CD」へフォーカス移動。   固定で「顧客CD」にフォーカスが移動するようにしましたが、   Private Sub txt1_Enter()     Screen.PreviousControl.SetFocus   End Sub   のように、前にフォーカスがあったところに・・・でも良いかもしれません。 ・テキストボックス「txt1」の「背景スタイル」が「普通」になっていることを確認します。 ・条件付き書式で以下を設定していきます。  条件1:   「式」にして (RowNo() Mod 2)=1 で奇数行での背景色を指定  条件2:   「式」にして (RowNo() Mod 2)=0 で偶数行での背景色を指定 ・今まで設定してきたテキストボックス「txt1」を「最背面へ移動」させます。  (メニューの書式から指定) 以上で修正は完了です。 ※ マウスホイールのコロコロとか、スクロールバーでのスクロール等、   条件付き書式での背景色表示が追いつきません。 ※ 記述忘れがあったらごめんなさい。大体上記のような感じです。 ※ 上記は条件付き書式を使ったものになりますが、条件付き書式を使わずに  コントロールソースで記述する方法もあります。  (この場合は、色付けなしと/ありの違いになりますが)  カレント行の背景色の変更 その3  http://hatenachips.blog34.fc2.com/blog-entry-21.html これ、カレント行という処理をしていますが、首をひねればそのまま使えると思います。 つまり、コントロールソースの判別で  =IIF((RowNo() Mod 2)=1,"gggggg","") として前景色(フォントの色)を設定すれば、その前景色がバックとなった表示になると思います。 ※ このテキストボックスは最背面にしておきます。 ※ 他のプロパティはそのまま設定してみてください。 ※ 条件付き書式を使った方法、文字の前景色を使った方法・・・・  どちらが軽い処理なのかわかりません。

nmt3942
質問者

お礼

ありがとうございます! いつもお世話になってしまっていてすみません… 現在、前回のデータをもとにやってみています。 同時に、2007を会社で買っていただくように頼んでみています。笑 >カレント行という処理をしていますが、首をひねればそのまま使えると思います。 首をひねるだけで解決できるといいのですが… とにかくやってみます! わからなかったらまた補足させていただきます。 その時は、もしよろしければよろしくお願いいたします。

nmt3942
質問者

補足

すみません、いつもありがとうございます。 いくつかわからない点があるので補足質問させてください。 >フォームの修正) 以後は恐らく指示通りにできていると思われます。 できなかったと思われるのは準備段階です。 RowNo()関数のインポートがきちんとできていないのでは、と思っています。 F01-1などが入っているアクセスデータのモジュールに入っている、 インポートしたRowNo()関数をダブルクリックすると、 「ファイルへのアクセスエラーが発生しました。  ネットワークへの接続が切断されている可能性があります。」 とエラーメッセージがでました。 おそらくこれが原因だと… インポート方法が間違っていたのか、それとも何か他に要因があるのか… すみませんが、お分かりになられる範囲でよろしいので、教えていただけないでしょうか。 よろしくお願いいたします。

  • osahune
  • ベストアンサー率47% (288/609)
回答No.1

ストライプ・シープかと^^; 失礼しました。。 下記へどうぞ。 魔法使いの開発工房 http://www.mahoutsukaino.com/  ↓ 魔法使いの開発工房--Access2000 超入門 http://www.mahoutsukaino.com/ac/ac2000/index2000.htm vBAの小屋 → シマシマのレポート で如何でしょう?

nmt3942
質問者

お礼

お返事ありがとうございます。 魔法使いの開発公房さんも参考にいたしました。 しかし最後のほうで、とりあえずできないということと、 意味深なことを書かれていたのですが、私の理解が足らず結局できないという結論に落ちました。 ですが、VBAを学ぶためにとても役に立ちます。 ありがとうございました。

関連するQ&A

  • ACCESS2000のフォームの作り方について

    OSは98SEでACCESS2000を使用しています。 Aという帳票フォームとBという単票フォームがあります。 A帳票フォームには製造指示日、原料番号、原料種類、原料重量という項目があり、データが表示されています。 B単票フォームには製造指示日、原料番号、原料種類、原料重量、開始日時、労務時間等A帳票フォームの詳細があります。 A帳票フォームのデータ1をクリックすると、Bという単票フォームに移動してデータ1の詳細が表示される様にしたくていろいろやってみようと思ったのですが、どの様にしたらよいかさっぱりわかりません。 どなたか教えていただけないでしょうか。 簡単なVBAはわかりますが、やさしく教えていただけるとうれしいです。 どうぞよろしくお願いいたします。

  • アクセスのフォーム

    アクセスのフォームで、作成した帳票フォームが1レコードづつ色が変わっています。1レコード目は白、2レコード目は青、3レコード目は白・・・という具合になっています。 これを全て白に直すにはどうしたら良いですか? 誰か教えて下さい。よろしくお願いします。

  • ACCESSからエクセルのフォーム

    現在、エクセルでの帳票フォームがあるのですが アクセスへの移行を考えています ただ、エクセルのフォームをそのまま移行する方法がわかりません もしくはエクセルのフォームにアクセスのデータをエクセルのフォームに 書き出す方法を教えて下さい

  • アクセスのフォームビューの帳票フォームではレコード

    アクセスのフォームビューの帳票フォームではレコードを削除する事は出来ないのでしょうか? データシートビューではレコードセレクタを選択し右クリックをすると 「レコードの削除(R)」という項目が出てきますが 帳票フォームでは出てきません。 帳票フォームでレコードを削除する方法を教えてください。 よろしくお願いいたします。

  • Accessのフォームについて

    Access2002のフォームについて質問します。単票形式、表形式、データシート形式、帳票形式とありますが、単票形式、表形式は、だいたいどんなものかイメージができるのですが、データシート形式、帳票形式とはどんなものですか?またどんな時にこの形式にするのでしょうか?単票形式、表形式との違いはなんでしょうか? 教えてください。お願いします。

  • アクセス2003 フォームの”閉じるボタン”について

    いつもお世話になっております。 過去の質問を見ても解決しなかったので質問させてください。 アクセス2003のフォームで閉じるボタンが表示されなくなりました。「フォーム」のプロパティで”閉じるボタン”を”はい”としましたが表示されません。 単純なミスかもしれませんが、アドバイスをお願いします。

  • アクセスのフォームの区切り線について

    こんばんは、はじめまして。よろしくお願いします。 アクセスのフォームを帳票ビューにした時、 フォームのプロパティで区切り線を表示することができますがこれって黒のみでしょうか? この線を赤や青に変える事は可能ですか? 直線のコントロールを用意した方がいいのでしょうか? アクセス2007です。

  • Access97でのフォームのカウント

    Access97で帳票フォームを使用したとき そのフォーム内にカウンタを付けることはできるでしょうか? クエリーなどで抽出し一覧表示させたときに一から順にカウントアップしていく欄を作りたいのですが。 レポートでは同様のことができました。

  • 別フォームから主フォームに反映させるには?

    Access2000 いつもお世話になっています。 質問なのですが、別フォームのデータ(レコード?)をコマンドボタンを押し、 主フォームに反映させるためにはどうしたら良いのでしょうか? 主フォーム(F01-1)単票  会社名、住所、電話番号 サブフォーム(F01-2)帳票  商品CD、商品名、数量、単価、合計 検索フォーム(F02)帳票 ※別窓  会社名、住所、電話番号、コマンドボタン 別窓から主フォームへ反映することはできないのでしょうか? まったく何をやって良いのかわからず、質問させていただきました。 すみませんが、どなたかご回答お願いします。

  • アクセスのフォームについて

    アクセス2000でフォームを作成しています。 既存の帳票(出納帳簿のようなもの)をスキャナーで取り込みJPEG形式で保存(サイズは790KB)しフォームの背景として  ピクチャタイプ  埋め込み  OLEサイズ   ズーム  ピクチャ配置   中央  ピクチャ全体表示 いいえ 上記のプロパティで設定したのですが、上書き保存等の動作が非常に遅くなりました。  本来ならば罫線等のツールを使いながら帳票を作成しなければならないとは思うのですがうまくできないので画像として背景に取り込みましたがこのようなことをする限り動作が遅くなるのは仕方ないのでしょうか。  また、他に既存の帳票を生かした形でうまくできる方法があれば教えて欲しいのですが。  ※本来ならばレポートですべきなのでしょうが、入力画面も出力レポートも同じにしたいのでフォームで作成しようとしています。  ※OSはXPで、CPUはセレロン2GHz   メモリは256MBです。  

専門家に質問してみよう