• ベストアンサー

EXCELのデーターを同じようにACCESSで表示したい

EXCELからACCESSにデーターをインポートしたいのですが、そのEXCELのデーターは項目ごとに色を分けて表示しています。インポートしたデーターは必要項目をクエリで表示し、それをサブフォームで表示したいのですが、EXCEL同様色で項目分けしたいのです。 条件付書式は3つまでしか条件付けできず、3つ以上色で分けているのです。 今のACCESSではこのような表示は無理なのでしょうか。 ACEESSの2003を使っています。 ↑の方法がない場合、今まで使っているEXCELのデーターから日々インポートするしかないのでしょうか? 何か解決方法があれば教えてください

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

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.5

こんです~。#1です。 最初にOLE型について、説明しておきます。 (本当の話はAccessヘルプを読んだほうが正しいです) OLE型とは、映像や音楽のファイルをOLE(Object Linking and Embedding)と言われる型でデータを保持するフィールドです。Excel、Word等のファイル等も、ここで保持することが可能です。しかし、OLEはデータだけではなく、アプリケーション間のデータを行うための情報を保持するため、大体通常に保管したときの2~3倍のデータを保持することになります。 要するに、何でもデータにできるよ~って事ですね ここを踏まえて、 > →これがペイントブラシの絵の項目しかみつけられ > ません・・・。 それで、大丈夫です。同じものですから^^; > あとOLEサイズの設定をしたいのですが、その設 > 定がどこにあるのか・・・。 OLEサイズの設定? テーブル上の話であれば、基本的にありませんOLE型で1GByteまで保持できますが、保管するデータが極力小さいほうが、Access全体的なレスポンスがよろしいようです。 今回は、ビットマップを使用してますので、ペイントブラシ起動後、「変形」-「キャンバスの色とサイズ」で極力小さく訂正ください。今回はビットマップで例を出してますが、Excelのシェイプをコピー&ペーストで貼り付けてグラデーションとかも使用可能です。 フォーム上の話であれば、ドラッグして引っ張ればサイズは、いくつでも変わります。ただし、データ自体が大きく見えるわけではありませんので「連結オブジェクト」-「プロパティ」-「書式タブ」-「OLEサイズ:ストレッチ」に設定して、枠全体に描画します。 > この方法でサブフォームに表示した一覧の1行の色を > 変えるにはこれからまた方法があるのでしょうか? えっと、聞いている意味がよく理解できないのですが、連結OLEのコントロールサイズを、詳細一杯に広げれば1行丸々、塗ったように見えますが、こういう話ではなくて?って、コントロールを選択した状態で「書式」-「最背面へ移動」は必ず実施してくださいね。 そうしないと、データまで塗りつぶされますから^^; では、がんばってくださいね。

nnntttaaa
質問者

お礼

何度も本当に回答ありがとうございます できましたw。本当にありがとうございます。 やっと思い通りのデーターを作ることができました。 またACCESSのこと質問することがあると思いますが、そのときはまたアドバイス宜しくお願いします

その他の回答 (4)

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.4

#1です。 > 私のレベルじゃちょっと理解できないみたいです・・・。 あら・・・じゃ、とりあえず手順を書いてみます。 あくまで参考例ですのでやって見れば、なんとなく理解できます。 1.テーブルを2個作ります。 テーブル名:Tbl_Color フィールド名:ID_Color 整数型、インデックス「はい(重複なし)」 フィールド名:OLE_Color OLEオブジェクト型 テーブル名:Tbl_Data フィールド名:A 整数型 フィールド名:A_ID_Color 整数型 2.色テーブルを作成します。 テーブル「Tbl_Color」に「ID_Color」を1~4まで追加、「OLE_Color」に右クリックで「OLEオブジェクト挿入」→「ペイントブラシ」で大体4つのレコードにそれぞれの色を付けます。 3.クエリーの作成します。 新規作成→SQLビューにして下記の「SELECT~;」を上書きして、保管します。 SELECT Tbl_Data.*, Tbl_Color.OLE_Color FROM Tbl_Data LEFT JOIN Tbl_Color ON Tbl_Data.A_ID_Color = Tbl_Color.ID_Color; 4.モジュールの作成します。 標準モジュールのところに下記のモジュールを書き込みます。 Function usUpdate(A As Control, A_Color As Control) As Boolean A_Color = ((Nz(A, 0)) Mod 4)+1 End Function 実際は、やりたい演算(条件)をここで設定します。 5.フォームの作成 3で作成したクエリーを元にフォームを作成します。 A A_ID_Color OLE_Color の3つを配置、そのうち「A」に割り当てたテキストボックスの名前を「Ctl_A」、「A_ID_Color」に割り当てたテキストボックスの名前を「Ctl_A_ID_Color」とします。 念のため、「A_ID_Color」、「OLE_Color」の割り当てたものを、「使用可能:いいえ」「編集ロック:はい」に変更。 「OLE_Color」を「最背面へ移動」を実施し、「OLEサイズ:ストレッチ」にしておく。 「A」の割り当てた「Ctl_A」の「更新後処理」に式ビルダで =usUpdate([A_ID_Color],[Ctl_A]) を貼り付け。 以上で実行可能です。 そうするとOLEオブジェクトが「Ctl_A」を変更によって色が、ぱらぱら変わります。 色を付けるだけなら条件付書式より、かなり複雑に処理も可能になります。 後は「透過」とか工夫次第ですね で、なんとなくは判りました? (Acc97の時には再計算実施しなければ変わらなかったんですが、Acc2002で大丈夫なので、おそらく2003も大丈夫だと・・・。)

nnntttaaa
質問者

お礼

何度も回答ありがとうございます。 さっそくやってみましたが、 「OLEオブジェクト挿入」→「ペイントブラシ」で大体4つのレコードにそれぞれの色を付けます。 →これがペイントブラシの絵の項目しかみつけられません・・・。 あとOLEサイズの設定をしたいのですが、その設定がどこにあるのか・・・。 折角教えていただいたのにまた質問するような形で申し訳ないです。 この方法でサブフォームに表示した一覧の1行の色を変えるにはこれからまた方法があるのでしょうか? ぜひまた教えてください。よろしくお願いします

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

ACCESSにもフォームで条件付き書式を設定できますが、それではダメでしたか。 >条件付書式は3つまでしか条件付けできず、3つ以上色で分けているのです。 は、表現がおかしくないですか。 >今まで使っているEXCELのデーターから日々インポートするしかないのでしょうか これは前段とどう関係あるのか?

nnntttaaa
質問者

お礼

回答ありがとうございます。 すみません。表現が下手で・・・条件付書式の条件は3つだけしか設定できませんよね? その色分けしている項目が3項目以上あるということなのですが・・・。 今までどおりエクセルでデーターを入力し、それを毎日アクセスにインポートしてデーターを作っていくしかないかと・・・。 説明不足ですみません・・・。

noname#60992
noname#60992
回答No.2

使ったことがないので、はっきりとした意見でなくて申し訳ないのですが、ActiveXコントロールのスプレッドシートを使えばできるかもしれません。 

nnntttaaa
質問者

お礼

回答ありがとうございます。 さっそく調べてみます

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

Acc2000以降の手法ですね。 Acc97の時には、無かったものです。 無かった時にはどうしたのか? あきらめた・・・と言う事が多かった覚えがあります。 しかし、使える手もあります。 別テーブルでインデックス+OLEを使用し、連結OLEのストレッチを使用して1×1のビットマップを全面に色塗りしたおぼえがあります。 これであれば、最大レコード数分の色を付けられますが、項目数分の色へ連結するフィールドをテーブル側に保持しなければならない上に、データを訂正するのは、VBA側からデータを訂正していくようになってきます。 書いている意味理解可能ですか?

nnntttaaa
質問者

お礼

回答ありがとうございます。 私のレベルじゃちょっと理解できないみたいです・・・。 いろいろ勉強してみます

関連するQ&A

  • accessのサブフォームフィルターの結果に対して、条件付書式を適用する方法

    access2000を使用しています。 検索用のフォームを作成、その中に帳票式のフォームをサブフォームとして設定し、 任意の文字列でフィルターをかけられるようにしています。 しかし、サブフォームの中には、重複して表示される項目が多く、見づらいため サブフォームに"重複データがあった場合はその項目について背景色と同じにする"という 条件付書式を設定しました。 しかし、いざフィルターをかけてサブフォームに表示される項目を絞ってしまうと、 ところどころ背景色と同じ色になっている項目(重複している項目)については 読み取ることができません。 これを回避するために、フィルターの結果に対して、条件付書式を適用するような 方法はありますでしょうか。

  • ACCESSの条件付書式

    アクセスのデータシートビューで条件付書式ができるのは フォームをデータシートビューで表示したときだけでしょうか? テーブルやクエリでは ツールバーに「書式→条件付書式」は表示されませんが フォームのデータシートビューを開いている時のみ、 「書式→条件付書式」が表示されます。 テーブルやクエリでも条件付書式を設定できる方法があれば教えてください。 よろしくお願いします。

  • エクセル 色つきセルのみの表示

    こんにちは いつもお世話になっています。 エクセル2003を使っています。 A列に文字データがあります。条件付書式で重複セルに色をつけてあります。 この色をつけたセルだけを表示させる方法を教えてください。 実際に色を付けてあれば検索で処理できるようですが、条件付書式でのやり方をネット上で探せませんでした。よろしくお願いします。

  • ACCESS エクセルから インポート

    アクセスは メインテーブルとサブ(サブフォームで入力)からできています。 エクセルのデータは メインの項目名とサブの項目名が入ってます。 エクセルのデータで メインテーブルのキーとなるものは 追加と更新が混在しています。 この状態で エクセルから アクセスのテーブルに インポートする方法がわかりません。 よろしくお願いします。

  • Excelの条件付書式の表示

    Excel2000です。 Excelの条件付書式では、条件によってセルを色で塗りつぶしたり、(私はあまり使わないですが、フォントや罫線なども)設定できます。 しかし、セルが色で塗りつぶされていた場合に、 ・条件付書式で色が着いているのか、 ・(条件なく)「セルの書式設定」-「パターン」で色が設定されているのか これらのどちらなのかわからない ということになりますよね。 もちろん、色で塗りつぶされたセルを選択して 書式-条件付き書式 を選べば、もし条件付書式が設定されていれば、その条件が表示されるはずです。 しかし、いちいちそうしなくても、どのセルに【どんな】条件付書式が設定されているかすぐ知る方法をお教えください。 最低でも、条件付書式が設定されているセルをパッとすぐ知る方法をお教えください。

  • アクセスにエクセルからデータをインポートしたとき。

    アクセスにエクセルからデータをインポートしたときに、エクセルの方で日にちの入力をしてセルの数字がアクセスでは日にちの書式ででずに数字としての認識しかされません。アクセスで日付として表示するにはどうしたらいいでしょうか。

  • アクセス サブフォーム条件付き書式の反映が若干遅い

    アクセスのフォームの中のサブフォーム条件付き書式を設定しています。 サブフォームにはテーブルのデータが紐づいております。 フォームを開いたと同時に条件付き書式に色付けがサブフォームに行われるようにしたいのですが フォームを開いただけだと色が付かず、サブフォームのどこかのレコードをクリックしたら色が付きます。 もしくは、フォーム上でマウスを動かすと色が付きます。 デザインビューでサブフォームに条件付き書式を設定しているので サブフォームを開くと同時に色が付くし、 サブフォーム単独で開くと、すぐ色が付きます。 親フォームを開いたと同時にサブフォームの条件付き書式を反映させる方法はありますか? アクセス2010です。 ご教授よろしくお願いします。

  • accessでサブフォームへクエリのデータを表示したいのですが、

    accessでサブフォームへクエリのデータを表示したいのですが、 すべてのデータが表示されず、飛び飛びに表示されてしまいます。 とくにフィルタなどはかけていないのですが、どうしてこのようなことになるのでしょうか?

  • Access:データシート形式表示のフォームをそのままExcelへ

    Access2003 WinXPです。 フォームにサブフォームを置き、クエリで抽出したデータを データシート形式で表示しているフォームをサブフォームへ表示させています。 この、サブフォーム、またはデータシート形式のフォームをまるっと新規Excelへエクスポートしたいのですが、うまくいきません。 クエリをエクスポートは出来ますが、ユーザーがサブフォームに表示されたデータのフィールドを入れ替えて、その見た目のまま出力したいという希望があるので。。。 分かる方いらっしゃいましたら、宜しくお願いします。

  • 【Excel2000】Access2000からのデータインポートについて

    Access2000のデータをExcel2000にインポートしたいのですが、 条件を付けてインポートする方法についてお教えください。 (Access2000のクエリデータ) 依頼No(順不同):内容 3:aaaaa 5:bbbbb 1:ccccc (Excel2000のデータ) 依頼No:内容(空白) 1: 2: 3: 4:  5: ※スペースが使用できませんので区切りは:とさせて頂いております。 ExcelデータとAccessデータをマッチングさせ Excelデータの依頼Noに対応するAccessデータの内容を Accessデータから取ってくるというようなイメージです。 外部データの取り込み-新しいデータベースクエリから行おうとしましたが どのように条件を指定して良いのかわかりません。 VBAでないとできないのでしょうか。 お分かりになられる方、ぜひお教えくださいませ。 よろしくお願い致します。

専門家に質問してみよう