DBProファイルコンバータ

DBPro ファイルコンバータは,DBPro の表ファイルと他アプリケーションのデータファイルとの間で相互にファイル形式を変換します。一部のデータファイルについては DBPro 表ファイルへの変換のみが可能で,他アプリケーションファイルには変換できないものもあります。


手順概要

ファイルコンバータダイアログでの操作は,次の項目に大別されます。

  1. ファイルコンバータの起動
    Windowsのスタートメニューから[プログラム]-[DBPro V4.5]-[DBPro ファイルコンバータ]を選びます。
  2. ファイルの種類を指定
    変換元,または変換先として希望するファイルの種類を[ファイルの種類]で選びます。
  3. 変換元ファイル名の指定
    変換元ファイル名を変換方向により[相手ファイル],または[DBProファイル]で選びます。
  4. 変換先ファイル名の指定
    変換先のフォルダを変換方向により[相手ファイル],または[DBProファイル]で選びます。変換先の[ファイル名]には変換元の[ファイル名]に対し変換先の種類に対応した拡張子で置き換えられたファイル名が自動入力されます。
  5. 変換の実行
    他のアプリケーションファイルからDBProファイルへ変換するには [>]ボタンを押します。
    DBPro V4 ファイルから他のアプリケーションファイルへ変換するには [<]ボタンを押します。
  6. 変換の中止
    変換が開始されると,コンバータダイアログの[DBProファイル]下部にプログレスバーと[中止]ボタンが表示されます。変換を中止するには,この[中止]ボタンを押します。
ファイルコンバータ

ウィンドウの各ダイアログ項目

相手ファイル

相手ファイルリストボックス
[ファイルの種類]で選ばれた種類のファイルを変換元として選んだり,選ばれた種類のファイルへ変換する場合の変換先フォルダを選びます。
フォルダを開くには,開きたいフォルダアイコンをダブルクリックします。開かれているフォルダアイコンをダブルクリックするとそのフォルダは閉じられそのフォルダを含むフォルダが開かれます。
ファイル名を選ぶには,マウスの左ボタンでクリックします。Shiftキーを押しながらファイル名をクリックすると必要なファイルを複数選ぶことができ,Shift+↓またはShift+↑キーで現在選択されているファイル名から連続して複数のファイル名を選ぶことができます。
すべて選択ボタン
相手ファイルリストボックスに表示されているすべてのファイルを変換元として選ぶことができます。
ファイル名
変換元,変換先のファイル名が表示されます。変換先ファイル名が表示されている場合,必要であればファイル名を編集することができます。複数のファイル名が表示されている場合 "file1.xls" "file2.xls" … のように二重引用符(")で囲まれますので,ファイル名を編集する場合は内側のファイル名部分を編集してください。
変換元が "file1.xls" "file2.xls" の場合変換先([DBPro ファイル][ファイル名])のファイル名の初期表示は "file1.dpt" "file2.dpt" です。変換元,変換先ファイル名は先頭からの順序で対応しています。
ファイルの種類
変換するファイルの種類を選びます。対応するアプリケーションは,DBPro V3,Access,Excel,桐 DOS 版,dBASE などです。
ファイル内のすべての表を変換
Access,Excel などはファイル内に複数の表(テーブル,ワークシート)を持ちます。それらすべてをまとめて変換する場合はチェックします。
file.mdb が テーブル1 と テーブル2 を持ち,file1.mdb から file1.dpt への変換ですべての表がまとめて変換される場合,file1_table1.dpt、file1_table2.dpt の二つのファイルに変換されます。変換後,必要に応じて名前を変更してください。
[ファイル内のすべての表を変換]がチェックされていない状態で複数の表を持つファイルの変換を実行すると[変換対象指定]ダイアログが表示されますので,変換したい表を選びます。

DBPro ファイル

DBPro ファイルリストボックス
DBPro V4 のファイルを変換元として選んだり,DBPro V4 のファイルへ変換する場合の変換先フォルダを選びます。
ファイル名やフォルダの選び方は[相手ファイル]の場合と同じです。
ファイル名
変換元,変換先のファイル名が表示されます。ファイル名の表示に関しては[相手ファイル][ファイル名]の場合と同じです。

変換対象指定ダイアログ

変換元が Access,Excel などの一つのファイルに複数の表を持つファイルの場合に変換する表を選択します。ファイルコンバータダイアログの[ファイル内のすべての表を変換]がチェックされていない状態で複数の表を持つファイルから DBPro V4 ファイルへの変換を実行すると表示されます。
変換対象指定ダイアログ
表一覧リストボックス
ファイル内にある変換可能な表(Access のテーブル,クエリー,Excel のワークシートなど)が表示されますので,変換する表を選びます。複数の表を選ぶことができます。
ファイル内のすべての表を変換
チェックすると表リストボックス内のすべての表が選ばれます。

対応アプリケーションファイル

対応アプリケーションファイルの一覧
アプリケーション拡張子バージョン備考
DBPro V3 *.dpt,*.dpv,*.dpc,*.usrDBPro V3,V3.2
  • 読込みのみ可能。
  • 対象データ:すべて
Access *.mdb〜Access 97
  • 書出しは Access 97 のファイル形式にのみ可能。
  • Jet 3.5 で扱えるファイルを読込み可能("Microsoft はがきスタジオ"など)
  • 対象データ:文字列,数値,日時
Excel *.xlsExcel Ver.3〜5,Excel 97
  • 対象データ:文字列,数値,日時
*.tblDOS版 桐 Ver.3〜5
  • 読込みのみ可能。
  • 対象データ:文字列,数値
The CARD *.cdbThe CARD 7.x
  • 読込みのみ可能。
  • 対象データ:文字列,数値
  • メモは変換できません
Lotus 123 *.w??Lotus wj2〜wk4
  • wj2, wj3, wk1 は解が文字列となるセル内式の値は変換されません。
  • wk4 は読込のみ可能。
  • 対象データ:文字列,数値,日時
dBASE *.dbfdBASE III〜5.0
  • 対象データ:文字列,数値,日時

変換仕様

概要
DBPro V3.x,桐,The CARD を除くアプリケーションのファイル変換に DAO 3.5 (Microsoft Data Access Object) を経由して各アプリケーションファイルに対応する変換ドライバを使用しています。従って変換時の制限(項目名の長さ,扱える文字列データの長さなど)は各ドライバ(ISAM ドライバ)に依存しています。
DBPro V4 からの変換時,変換先アプリケーションファイルの項目名長,扱えるデータ型,文字列型項目データの最大文字列長さ等の制限が DBPro V4 と異なる場合はその制限に合わせるようにデータを調整して変換します。
以下にこのようなアプリケーション間での仕様上の差異により特別な変換が行なわれる事項を説明します。ここでは,各アプリケーション個別の詳細な仕様は記しません。
メモ型の項目
Access,dBASE 等は255文字以上の文字列を入力する必要のある項目にはメモ型を使用します。DBPro V4 の文字列型項目には文字列長の制限がないので,DBPro V4 へ変換する場合は文字列型の項目に変換します。
バイナリ型,OLE型の項目
Access,dBASE 5.0 はバイナリ型やOLE型の項目を持つことができますが,DBPro V4 は持つことができません。従って,コンバータが対応するアプリケーションのファイルでバイナリ型,OLE型の項目を持つファイルを DBPro に変換した場合その項目のデータは変換されません。
この場合,変換先の DBPro V4 の表に該当する項目の名前で文字列型の項目が定義され,項目の値として変換できないデータであることを示す文字列が入れられます。
日付/時刻型の項目
Access は日付/時刻型(日時型)を持ちます。このデータ型で日付と時刻を一つの項目値で表現することができます。DBPro V4 では日付型と時刻型は独立した型であり,日付と時刻を一つの項目値で表現することはできません。日付/時刻型の項目を DBPro V4 に変換する場合は Microsoft の規約に従い以下に示す規則で変換先の項目データ型を決めます。

  1. 1899 年 12 月 30 日は,"日付 0" として扱い "日付 0 " の日時データは時刻型と見なします。
    例)日時 1899-12-30 10:10:25 → 時刻 10:10:25
    例)日時 1899-12-30 00:00:00 → 時刻 00:00:00
  2. 日付部 "日付 0" 以外で,時刻部 "時刻 0" (00:00:00) の日時データは日付型と見なします。
    例)日時 1999-01-01 00:00:00 → 日付 1999-01-01
  3. 日付部 "日付 0" 以外で,時刻部 "時刻 0" 以外の日時データは文字列型と見なします。
    例)日時 1999-01-01 10:10:00 → 文字列 1999-01-01 10:10:00

日時型の項目に対して,上記規則に従って先頭から50レコードを調べ全て一致する(同一の型と見なされる)場合は変換先の項目をその一致した型で定義して変換します。
一致しない項目データがある場合はすべてのデータを変換できるように変換先の項目を文字列型で定義します。日付型,時刻型で項目が定義された場合に50レコード以降に型が一致しない項目データが存在した場合、その項目データは NULL に変換されます。
長い項目名
DBPro V4 は項目名の長さに制限を持ちませんが,コンバータが対応する他のアプリケーションは項目名の長さに制限を持ちます。DBPro V4 から他のアプリケーションファイルに変換する場合,項目名が長すぎることが生じる可能性があります。この場合,制限された長さに収まるように項目名のあふれた部分を切り捨てて変換をします。
項目名を切りつめたことにより項目名の重複がおきる場合は切りつめた項目名の末尾に適当な数字を付加して項目名が重複することを防ぎます。
長い文字列データ
DBPro V4 の文字列型項目に入力できる文字列の長さに制限はありませんが,他のアプリケーションの文字列型項目の最大文字列長は 255 バイトまでです。DBPro V4 のファイルから長い文字列を他のアプリケーションファイルに変換する場合,255 バイトを越える部分は切り捨てられます。
Excel,Lotus から DBPro V4 への変換
ワークシートでデータが存在する最初の行を項目行として変換します。項目行と見なされる行に値が無いセルがある場合,変換先表にそのセルが存在する列に対応する項目として仮の項目名"フィールドn"(n は数値)で項目を定義して変換をします。
Excel,Lotus のワークシートでは,一つの列に文字列データと数値データが混在していることがあります。このような列は,文字列型項目として変換します。列に文字,数値が混在しているかどうかはワークシートの先頭から1000行が検査され,変換先項目データ型が決定されます。
文字列型に決定された場合,検査される範囲外の行に数値型のデータが存在する場合は数値を文字列にして変換されますが,数値型に決定された場合,範囲外の行に文字列型データがあっても変換できないので NULL に変換されます。
Lotus wj2, wj3, wk1 のセル内式の値の変換
DAO の仕様で Lotus wj2, wj3, wk1 のファイルに関して,解が文字列となるセル内式の値は変換できません。該当のセルの場合,DAO から数値の 1 (本来の文字列の値を得ることはできない)が返されますので,変換先の DBPro の表の対応する項目にはそのまま 1 が入ることになります。
DBPro V4 と他のアプリケーションにおける項目データ型変換対応
コンバータが対応する DBPro 以外のアプリケーションが下に記す「他アプリケーションのデータ型」のすべての項目データ型を定義できるわけではありません。各データ型がサポートされているかどうかは各アプリケーションの仕様を考慮した上で判断してください。

他のアプリケーションから DBPro V4 への変換の場合
アプリケーションのデータ型DBPro のデータ型備考
バイト型(1byte)整数型
整数型(2byte)整数型
長整数型(4byte)整数型DBPro の整数型は4byte
通貨型(8byte)数値型
倍精度浮動小数点型(8byte)実数型
日付/時刻型日付型,時刻型,文字列型前記「日付/時刻型の項目」の説明を参照
テキスト型文字列型
バイナリ,OLE 型--変換できません
メモ型文字列型


DBPro V4 から他のアプリケーションへの変換の場合
DBPro のデータ型アプリケーションのデータ型備考
文字列型テキスト型前記「長い文字列データ」の説明を参照
数値型倍精度浮動小数点型(8byte)
整数型長整数型(4byte)
実数型倍精度浮動小数点型(8byte)
日付型日付/時刻型
時刻型日付/時刻型
年月間隔型テキスト型
日時間隔型テキスト型
ファイル型テキスト型