ACCESS、EXCELで表示できる列数の限界について教えて下さい。
VBからの操作で、Oracleのテーブルの内容をACCESSで表示する仕組みを考えています。
Oracleのテーブルの列数が350近くもあり、ACCESSで表示することができません。CSVで出力したとしても、Excelで表示できません。どちらも255以上の列は表示できないようでした(256列以上は途切れて表示される)。
となると、Oracleのテーブルの内容をVBのグリッドに表示するしか方法はないでしょうか?
もしそれしか方法が無いようであれば、グリッドに表示するか、ビューか何かを使用して表示列を絞り込む(これは最終手段にしたいです)かどちらかにしなければなりません。
一番いいのは、そのままACCESSに表示することなんですが。テキストで延々と出力するだけでは、データの編集がやりにくいので困っています。
よろしくお願いいたします。
開発環境は、Win2000(SP2)、Oracle8.1.6、VB6.0(SP3)、OFFICE2000(SR-1、SP2)です。
No.1ベストアンサー
- 回答日時:
項目数の制限という意味では質問にかかれている通りでしょう。
以前、Accessで扱ったレコードに1レコード500項目くらいのファイルがあり、下記の様にしたのを覚えています。
[主レコードテーブル:項目B1、項目B2、・・・・、B_ID]
[Subレコードテーブル1:B_ID、項目S1-1、項目S1-2、・・・・]
[Subレコードテーブル2:B_ID、項目S2-1、項目S2-2、・・・・]
[Subレコードテーブル3:B_ID、項目S3-1、項目S3-2、・・・・]
項目のインポートは作りこみでした。(固定長ファイルの各項目の属性、桁数等の項目定義ファイルを作り、VBでそれを参照する手順)
Accessの限界という意味では1Gバイトの方が切実な問題でした。
最初は全テーブルを1つのmdbで管理していましたが、日々、データ量が増え、将来的な不安があり数個に分割し定期的に不要なレコードを別テーブルに移しています。
Excelにおとす時はユーザーは全項目を見たいことは無かったので255の壁は余り意識しませんでした。
それよりもExcelの限界という意味ではレコード数でしょうか。個人的には数百件あるとExcelを使う気になりませんが現実には10000件くらいを目処にExcelにおとしたりもしています。余り多いと間違いも起きますし。扱いづらくなります。
もし項目数がExcelの列数よりも多いなら、Sheet1、Sheet2、Sheet3・・・と分割すると思います。ただ、これは実行したことはありません。
参考にならないかもしれませんが、何年か前の体験談です。(VB6.0、Access97、Excel97です)
nishi6さん、ご回答どうもありがとうございます。
やはり、列数の制限は外せないですよね・・・。
ACCESSやEXCELでの分割もいいかもしれませんね。特に、EXCELのSheet分割はやってみる価値がありそうです。どうもありがとうございます。
幸い、トランザクション的な扱いを考えていますので、件数は大量にはならない予定です。
255列という制限は、Office製品ならまだ何とか納得できますが、PersonalOracleでもだめだったんですよね。もちろんこれは開発用ですが。
ご回答どうもありがとうございました。
No.4
- 回答日時:
1:OlacleからCSV形式で出力する。
2:ExcelでVBAマクロを組む。CSVファイルをテキストとして読み込んで、複数のワークシートにまたがって出力する、みたいな感じの。
フィールドが350もあるんですから、それを幾つかのグループに分割することは可能でしょう。で、グループごとに一つのワークシートを割り当てるようにすれば、機能面でも使いやすくなるんじゃないかなぁ。
シート選択時に、前のシートで操作していたレコード位置と同期を取るようにするとかすれば、ある程度使えるようになるんじゃ…
あ、でもこの方法、データの編集だけなら対処できるけど、データの追加/削除まで絡んでくると厄介ですね。
ARCさんどうもありがとうございます。
そうですね。最初はACCESSで行こうと思ってたのですが、EXCELでも使い勝手よさそうですね。データの追加と削除については、現在考えていません。
最初は、ACCESSかEXCELの設定で、たとえば、「列を255以上表示する」オプションみたいのがあるかと思ってたのですが、皆さんのご回答でどうやらそれは無理だということがわかりました。
ご回答どうもありがとうございました。
No.2
- 回答日時:
どもども田吾作7です。
編集するということから想像するとマスタデータを作成しようしてるのでしょうか?
Access、Excelは普段使っているから、それが一番使い勝手がいいですもんね。
しかし、そういった桁の限界もあるのは逃げ出すこと出来ない事実。。。
どうしても、一度に行いというのであれば、あえてAccess・Excelをやめてみては?
>VBのグリッドに表示するしか方法はないでしょうか?
とありますが、リンク形式でしているならば参考にならないかもしれませんが・・・
インポート、エクスポートはSQL一文で済みますよね?一度CSVに落として、フリーのCSVエディターを使用するなんて反則ですか?ベクターの中にありますよ。
CSVで検索したらたくさん出てくると思います。
参考URL:http://www.vector.co.jp/vpack/filearea/win95/bus …
この回答への補足
私の質問分の開発環境に一部間違いがありました。
>開発環境は、Win2000(SP2)、Oracle8.1.6、VB6.0(SP3)、OFFICE2000(SR-1、SP2)です。
↓
開発環境は、Win2000(SP2)、Oracle8.1.6、VB6.0(SP5)、OFFICE2000(SR-1、SP2)です。
です。ほとんど影響はないと思いますが、念のためにです。お願いします。
田吾作7さん、どうもご回答ありがとうございます。
やはり、どうやってもACCESSやEXCELでは無理みたいですね・・・。情報ありがとうございます。
フリーのCSVエディタは早速明日(今日)試してみます。そうですね。最終的には使い勝手の話になるかと思いますので、だめだったら、VB標準のグリッドか、文化オリエントのTrueDBGridにでも埋め込んでみます。
話はそれますが、エディタってとても個人色強いですよね。私はいろいろ使ってみましたが、今はEmEditor3で落ち着いています。それが、VBとかアプリに組み込まれると、結構みんな使ったりするんですよね。面白い現象です。
ご回答どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- SQL Server SQL Oracle serverにって質問です。 会社テーブルがあり、そのテーブルから 社員名、給 4 2022/05/21 12:22
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
access count数を変数に格納
-
Accessの更新前処理について。D...
-
「更新に必要なキー列の情報が...
-
Excel 2019 のピボットテーブル...
-
Accessでテーブル名やクエリ名...
-
APN設定について教えていただけ...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
-
作番ってどういう意味でしょうか?
-
Access テキスト型に対する指定...
-
FROM の中で CASE を使えるでし...
-
ExcelのデータをコピーでACCESS...
-
Accessファイルを作成者以外は...
-
複数のレコードを1つのレコード...
-
Accessのリンクテーブルのパス...
-
ACCESSでの改行コード
-
異なるサーバのDBデータ同士を...
-
SUBSTRING 関数に渡した長さの...
-
セルの右クリックで出る項目を...
-
ACCESSのクエリで集計で、先頭...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
access count数を変数に格納
-
access2000でつまづいてます
-
ACCESSのFindコマンドが遅い
-
Accessの更新前処理について。D...
-
「更新に必要なキー列の情報が...
-
[Access]削除時のエラーメッセ...
-
Access VBAで自動連番を振るには
-
ADOでループすると1レコードず...
-
ACCESS 処理件数の取得
-
AceessVBA 非同期処理について
-
VBScript+SQLServerでcountがう...
-
Access VBA
-
AccessVBAについて
-
半角スペースの置換でエラーを...
-
cobolのカーソルについて
-
access vbaでクエリデータの中...
-
レコードのロックについて
-
Access2003でのテーブルの有無確認
-
linuxについて質問です
-
エクセルVBAで5行目からオート...
おすすめ情報