EXCELからACCESSにデーターをインポートしたいのですが、そのEXCELのデーターは項目ごとに色を分けて表示しています。インポートしたデーターは必要項目をクエリで表示し、それをサブフォームで表示したいのですが、EXCEL同様色で項目分けしたいのです。
条件付書式は3つまでしか条件付けできず、3つ以上色で分けているのです。
今のACCESSではこのような表示は無理なのでしょうか。
ACEESSの2003を使っています。
↑の方法がない場合、今まで使っているEXCELのデーターから日々インポートするしかないのでしょうか?
何か解決方法があれば教えてください
No.1
- 回答日時:
Acc2000以降の手法ですね。
Acc97の時には、無かったものです。
無かった時にはどうしたのか?
あきらめた・・・と言う事が多かった覚えがあります。
しかし、使える手もあります。
別テーブルでインデックス+OLEを使用し、連結OLEのストレッチを使用して1×1のビットマップを全面に色塗りしたおぼえがあります。
これであれば、最大レコード数分の色を付けられますが、項目数分の色へ連結するフィールドをテーブル側に保持しなければならない上に、データを訂正するのは、VBA側からデータを訂正していくようになってきます。
書いている意味理解可能ですか?
No.3
- 回答日時:
ACCESSにもフォームで条件付き書式を設定できますが、それではダメでしたか。
>条件付書式は3つまでしか条件付けできず、3つ以上色で分けているのです。
は、表現がおかしくないですか。
>今まで使っているEXCELのデーターから日々インポートするしかないのでしょうか
これは前段とどう関係あるのか?
回答ありがとうございます。
すみません。表現が下手で・・・条件付書式の条件は3つだけしか設定できませんよね?
その色分けしている項目が3項目以上あるということなのですが・・・。
今までどおりエクセルでデーターを入力し、それを毎日アクセスにインポートしてデーターを作っていくしかないかと・・・。
説明不足ですみません・・・。
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も大丈夫だと・・・。)
何度も回答ありがとうございます。
さっそくやってみましたが、
「OLEオブジェクト挿入」→「ペイントブラシ」で大体4つのレコードにそれぞれの色を付けます。
→これがペイントブラシの絵の項目しかみつけられません・・・。
あとOLEサイズの設定をしたいのですが、その設定がどこにあるのか・・・。
折角教えていただいたのにまた質問するような形で申し訳ないです。
この方法でサブフォームに表示した一覧の1行の色を変えるにはこれからまた方法があるのでしょうか?
ぜひまた教えてください。よろしくお願いします
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行丸々、塗ったように見えますが、こういう話ではなくて?って、コントロールを選択した状態で「書式」-「最背面へ移動」は必ず実施してくださいね。
そうしないと、データまで塗りつぶされますから^^;
では、がんばってくださいね。
何度も本当に回答ありがとうございます
できましたw。本当にありがとうございます。
やっと思い通りのデーターを作ることができました。
またACCESSのこと質問することがあると思いますが、そのときはまたアドバイス宜しくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスの容量がなぜか増加します
-
データの移動
-
Access(アクセス)でのインポー...
-
ACCESSにEXCELからインポートし...
-
Access フォームからの入力結...
-
Access2010でVBAでのインポート
-
ACCESS、フィールドが異なるデ...
-
アクセスでの、固定長でのテキ...
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
エクセルにおける「フィールド...
-
2つのテーブルに共通するレコ...
-
アクセスのエラー「クエリには...
-
Accessの桁区切りについ...
-
ACCESS 「パラメータの入力」...
-
アクセスで追加した項目に全て...
-
ACCESSでテーブルにあるチェッ...
-
クロス集計クエリの結果をテー...
-
Access で 特定の文字の個数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSにEXCELからインポートし...
-
Access フォームからの入力結...
-
アクセス2003 複数の列に...
-
Access テーブルをデータシー...
-
ACCESS、フィールドが異なるデ...
-
Access2010でVBAでのインポート
-
アクセスでの、固定長でのテキ...
-
access 2003 1万件以上がカット...
-
アクセスの容量がなぜか増加します
-
アクセス2010にエクセルデータ...
-
ACCESS ユニオンクエリ...
-
Access2016でフォーム内にExcel...
-
ACCESSのテーブルからデータを...
-
エクセルからアクセスへ貼り付...
-
Access(アクセス)でのインポー...
-
エクセルデータをアクセスにす...
-
accessのデータで重複している...
-
リンクされたテーブルのレコー...
-
accessのデータを検索するツー...
-
アクセス 日付を項目追加して取込
おすすめ情報