• ベストアンサー

【ACCESS】 バイナリデータの確認方法

ACCESSの通常のテーブルビューにて(ロング)バイナリデータ型のカラムを含むテーブルを表示した場合、当該カラムのセルに「バイナリデータ」と何故か型名が表示されて肝心のデータ内容が表示されません。 ACCESSにおいてバイナリデータのダンプ(01010101011 とか 0x1263fd325 とか、そんな感じのもの)を表示する方法があれば教えてください。 ※ ちなみにSQL Serverにおいても同様の事象が発生します DBMSが自分で管理しているデータの内容を表示できないというのはおかしな話なので、何かしら方法があるとは思うのですが・・・。

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

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

VBA使うにしても http://homepage1.nifty.com/MADIA/vb/vb_bbs/200412/200412_04120071.html http://q.hatena.ne.jp/1164638485 http://www.moug.net/tech/acvba/0080031.htm かなりめんどいです。 一般的にDBでBLOB(バイナリーラージオブジェクト)は通常の文字列型などと違い、プログラムで ある一定単位のブロック(Chunk)単位にアクセスしますからしょうがないのかもしれません。

blackrod
質問者

お礼

ありがとうございます。 現状、VBAでバイト配列にフィールドの読込自体はできるようになっています。 (OLEとかそういうのは関係なく、文字通りのバイナリデータです。) ただこれを見るためだけに態々VBAで16進表記なりに編集して・・・というのが面倒なので、 バイナリデータならバイナリデータらしくACCESSの機能で簡単に内容を確認する手段は提供されていないのか?と思い質問させていただいた次第です。 (数値型や文字列型の場合は、ちゃんとデータ内容が表示されるのに、バイナリデータの場合だけ「バイナリーデータ」 となっているのが不自然に思えたので) 私のケースとは違うようですが、場合によってはそんなに面倒なのですね。勉強になります。

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

OLEオブジェクト型は何でもあり、利用者任意の入れ物 です。どんなモノを入れるかは利用者次第です。 画像、音楽、あるいはExcelシートとか・・・ 当然ですが、再現するためのソフトも違います。 拡張子毎にアプリケーションが決まっているように、 内部管理項目で、アプリケーションが特定できる場合は その名前が表示されますが、未定の場合に「ロング バイナリーデータ」になります。例えばAdobeReadeが 無い環境でのPDFとか考えられます。つまり、場所を 提供しているだけで「管理」していません。 >自分で管理しているデータの内容を表示できないというのはおかしな話 上記の理由で、おかしくありません。DBは共有できる ので、アプリケーションをインストールしているPCから データを登録し、アプリケーションの無いPCから見る こともあるからです。どんなオブジェクトを入れるかは 利用者の責任で、アプリケーションに何を使うかも 利用者の自由です。

blackrod
質問者

お礼

ありがとうございます。 私が聞きたいのは、OLEとかアプリケーションレベルの話ではなく、現実にDBが格納しているデータ(バイナリ)の実体を確認する手段についてです。 フォーマットは管理していなくともデータ自体はACCESSの管理下にある訳で、その内容を隠匿?したまま「バイナリデータ」とか言われても納得できません。 やはりVBA等で実装するしかないのでしょうか? クエリでHEX()に突っ込むとか、簡単に確認できるやり方があれば教えて頂きたいのですが・・・。

関連するQ&A

  • バイナリデータが入ったDMPファイルのインポート

    今DMPファイルのインポートを行った際、 ”ダンプ・ファイルをエクスポートしたダイレクト・パスには無効な列長が入っています” というエラーメッセージが表示されてしまい、インポートすることができません。 1つのテーブルのデータとしてバイナリデータが含まれているのでそれが原因だと思い、テーブル名指定でインポートを行いましたがエラーは回避されませんでした。 データごとむりであったとしても、せめてテーブル構造だけでも復元したいのですが・・・。 何か方法があったら教えてください。 ※パラメータのROWS=Yにしてテーブル名指定でインポートも無理でした・・・

  • Access2000について

    テーブル作成のデザインビューでデータの型を「バイナリ型」にしたいのですが方法がわかりません。 プルダウンメニューにもバイナリ型がないので困っています。それとも、設定できないものなんですか? よろしくお願いします。

  • VBScriptでバイナリファイルアクセス

    VisualBasicScriptでファイルにバイナリデータを書き込むなどの、 バイナリアクセスをすることはできるのでしょうか。 もしできるのなら、方法を教えてください。

  • バイナリエディタって?

    ファイルをいろいろなアプリケーションプログラムから 開くことができますが、バイナリデータとしてみる あるいは16進数表示のデータとして表示するのはバイナリエディタとやらを使ってひらくのでしょうか? それってどこにあるのかわかりません。フリーウエアでダウンロードするのか プリインストールされているのでしょうか。昔はダンプリストとやらで ずらずらっとファイルを16進数表示できてましたが。 このあたりについておわかりの方お教えください。

  • MYSQL バイナリーデータに変換して取得

    MYSQLでSELECTして以下のテーブルのCODEカラムからバイナリーデータに変換してデータを取得したいのですが、どうしたら良いでしょうか? SELECT CODE FROM TABLE_NEME WHERE ID='XXX' <テーブルデータ> CODE(varchar型) 011A00046D0ADC4B

    • ベストアンサー
    • MySQL
  • 【access】テーブルの項目順が意図せず変わる

    access2010を使用しています。 ローカルテーブルの項目順について質問します。 詳しい方、ご教示ください。 デザインビューで表示される項目順とデータシートビューで表示される項目順が、意図せず変わる事象が時折発生します。 ※デザインビューに1、2、3の順で並んでいるものが、データシートビューだと1、3、2の順になっている テーブル定義はデザインビューのもので作成しているので、そちらの項目順でデータシートビューでも表示したいのですが、なぜ意図せず変わってしまうのかが分かりません。また、解決方法も分からないです。 【補足】 ・テーブル:ローカルテーブル ・テーブル定義を登録した直後は意図した項目順で表示される →VBAやQueryを実行した後にデータシートビューで確認すると項目順が変わっていることがある。(必ず変わっているわけではない) どなたか、ご教示頂けないでしょうか。

  • ACCESSでデータ読み取り専用を解除する方法

    こんにちは。初心者で本を読んでいるのですが、まったく分からない為質問させていただきました。ACCESS2000を使用し、データの変更作業をしようとしているのですが、「読み取り専用で削除できません」という表示がされ、編集ができません。 テーブルをデータシートビューで開き、その中の1行を削除しようとしているのですが、他にやり方があれば教えてください。また読み取り専用を解除する方法等ありましたら教えてください。 よろしくお願いいたします。

  • アクセスでデータを足すには、また、引くには?

    アクセスを使用していて、テーブルAにあるデータに、テーブルBにあるデータを足したいと思っています。 それぞれデータは”名前”のようなフィールドで、ひとつにまとめたいのですがクエリーでの表現が分かりません。SQLビューのようなやり方でも構いませんので、是非お願い致します。 また、もう一つですが、テーブルAにあるデータに、テーブルBにあるデータを引きたい思っています。こちらも”名前”のようなフィールドで、同じレコードは省きたいと思っております。 よろしくお願い致します。

  • バイナリデータの取り方

    VB6を使用して、バイナリファイルをバイナリデータとして文字列にとりたいのですが、全角文字が絡んだ時の処理がうまくいきません。 バイナリファイルをString型の変数に丸ごと読み込んで、後は何バイトから何バイト目を抜き取り数値に変換…という処理をしようとしています。 本来は、バイナリでファイルをオープンして、Getコマンドで取得するのが手っ取り早いのですが、ファイルアクセス回数を減らすため、このような面倒な方法をとっております。 そこで仮に、 dim test as string dim i as integer test = "aあ" & chr(1) & "0 " For i = 1 to 6 Debug.Print Asc(Strconv( _ MidB(Strconv(test,vbFromUnicode),i,1), _ vbUnicode)) Next のようなソースを作ってみました。(本来は文字列は数100KByte…) しかしながら、この方法ですと上の例では2Byte目、つまり「あ」の文字の1Byte目が「&H00」になってしまいます。その次は「&HA0」、他の箇所も問題ないのですが… おそらくは根本的に違う方法で解決すべきではないかと思うのですがその方法がわかりません。 なお、この格納データはバイナリデータなので、意図的に全角文字にしていくてもその値によって(偶然)全角文字になったり制御文字になったりしますので前もって全角文字に対する処理は難しいと考えてます。 質問の仕方が良くなく、質問の内容がなかなかご理解いただけないとは思いますが、ご存知の方、ご経験者の方、ご教授お願いいたします。

  • 【Access】テーブルの参照について

    Accessでツール作成をしたいのですが当SWの使用経験が浅く使い方が分からず困っています。 AccessにはOracleでいうviewのような機能はAccessには存在するのでしょうか。 リンクテーブルという機能があるのは知っていますが、リンク元・先でデータベースが別でなければならないと理解しています。 私がやりたいことは、同じデータベース内に存在するテーブルを複数参照し、「一つのテーブルに見せる」といった動作です。 以下、参考に記載します。(やりたいこと) (1)TBL1(input):カラム1,カラム2 (2)TBL2(input):カラム3,カラム4,カラム5 (3)TBL3(TBL1+TBL2):TBL1.カラム1,TBL1.カラム2,TBL2.カラム5 →TBL3をOracleでいうviewの形で持ちたい 良い方法があればご教示ください。