
EXCELからACCESSにデーターをインポートしたいのですが、そのEXCELのデーターは項目ごとに色を分けて表示しています。インポートしたデーターは必要項目をクエリで表示し、それをサブフォームで表示したいのですが、EXCEL同様色で項目分けしたいのです。
条件付書式は3つまでしか条件付けできず、3つ以上色で分けているのです。
今のACCESSではこのような表示は無理なのでしょうか。
ACEESSの2003を使っています。
↑の方法がない場合、今まで使っているEXCELのデーターから日々インポートするしかないのでしょうか?
何か解決方法があれば教えてください
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のこと質問することがあると思いますが、そのときはまたアドバイス宜しくお願いします
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.3
- 回答日時:
ACCESSにもフォームで条件付き書式を設定できますが、それではダメでしたか。
>条件付書式は3つまでしか条件付けできず、3つ以上色で分けているのです。
は、表現がおかしくないですか。
>今まで使っているEXCELのデーターから日々インポートするしかないのでしょうか
これは前段とどう関係あるのか?
回答ありがとうございます。
すみません。表現が下手で・・・条件付書式の条件は3つだけしか設定できませんよね?
その色分けしている項目が3項目以上あるということなのですが・・・。
今までどおりエクセルでデーターを入力し、それを毎日アクセスにインポートしてデーターを作っていくしかないかと・・・。
説明不足ですみません・・・。
No.1
- 回答日時:
Acc2000以降の手法ですね。
Acc97の時には、無かったものです。
無かった時にはどうしたのか?
あきらめた・・・と言う事が多かった覚えがあります。
しかし、使える手もあります。
別テーブルでインデックス+OLEを使用し、連結OLEのストレッチを使用して1×1のビットマップを全面に色塗りしたおぼえがあります。
これであれば、最大レコード数分の色を付けられますが、項目数分の色へ連結するフィールドをテーブル側に保持しなければならない上に、データを訂正するのは、VBA側からデータを訂正していくようになってきます。
書いている意味理解可能ですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) excel テーブル 4 2023/03/18 16:11
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) MSさん、シッカリしてよ~んッ! 3 2023/01/30 13:15
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- Excel(エクセル) エクセルにデータを表示したいため、外付けデーターベースが必要です。どのようなものがありますか。 2 2023/03/12 20:41
- Excel(エクセル) Excel教えてください。 下記のことが出来るのは、マクロですか?条件付き書式でしょうか、、?知恵を 5 2022/11/12 09:33
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス2000 65536行を超える...
-
MsAccessからOracleDBへの操作...
-
Access テーブルをデータシー...
-
ACCESS、フィールドが異なるデ...
-
ACCESSにEXCELからインポートし...
-
accessのデータを検索するツー...
-
テキストでは0が表示。アクセ...
-
Access2016でフォーム内にExcel...
-
アクセス2010にエクセルデータ...
-
アクセス 日付を項目追加して取込
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
アクセスのエラー「クエリには...
-
Accessのテーブルのフィールド...
-
access vbaにてテンポラリーテ...
-
Excleピボットでデータのない部...
-
Accessで、1つの項目に複数の...
-
アクセスで追加した項目に全て...
-
エクセルにおける「フィールド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSにEXCELからインポートし...
-
Access フォームからの入力結...
-
アクセス2003 複数の列に...
-
ACCESS、フィールドが異なるデ...
-
アクセス2010にエクセルデータ...
-
アクセスの容量がなぜか増加します
-
Access(アクセス)でのインポー...
-
accessのデータを検索するツー...
-
アクセス 日付を項目追加して取込
-
ACCESS ユニオンクエリ...
-
Access テーブルをデータシー...
-
テキストでは0が表示。アクセ...
-
アクセス2000 65536行を超える...
-
今あるデータベース(Access200...
-
Acccessのテーブルデータ保存に...
-
Access2010でVBAでのインポート
-
access 2003 1万件以上がカット...
-
アクセスでの、固定長でのテキ...
-
Access2016でフォーム内にExcel...
-
EXCELのデーターを同じようにAC...
おすすめ情報