過去の桐井戸端BBS (桐ver.8)
6502 K3をTBLに変換したい SATO 2000/06/19-11:03
K3ファイルをTBLに変換する方法ってあるんですか?
桐のアプリケーション上で使うのではなく、VB等でK3を生成し、
その後に、TBLを作成したいと思っているんですけど
ご存知の方教えてください。DLLみたいなもの存在するんでしょうか?

6507 Re:K3をTBLに変換したい 悲しげ 2000/06/19-15:55
記事番号6502へのコメント
どもっ、SATOさん、
拡張子を「k3」とせずに「csv」とすれば、「ファイル変換」機能を
使って似たようなことができるかもしれません。お試し下さい。
6508 Re:K3をTBLに変換したい あつこ 2000/06/19-16:55
記事番号6507へのコメント
便乗ですみません。
同じようなことでつまっていましたので...。
悲しげさんによると、桐のファイル変換機能を使うと、tblは作れるとのことなのですが、
桐を経由せずに他のデータベースのデータ(csvやk3にはきだしたものからでも)から、
tbl形式のファイルを(直接に)生成できるような方法はあるでしょうか。
桐を経由せずに、というのがミソです。
皆さんはそのようなことをおやりになったことはあるでしょうか。
どなたかご教授ください。
6509 Re:K3をTBLに変換したい 宮城 2000/06/19-17:48
記事番号6508へのコメント
ないと思うんですけど・・・。

>桐のアプリケーション上で使うのではなく、

>桐を経由せずに、というのがミソです。

桐を使えばいとも簡単なことを桐を使わずにやりたいというのはどういうご事情なのでしょうか?
6510 Re:K3をTBLに変換したい SATO 2000/06/19-18:31
記事番号6509へのコメント

>桐を使えばいとも簡単なことを桐を使わずにやりたいというのはどういう
>ご事情なのでしょうか?

SATOです。
書き込みありがとうございます。
エンドユーザさんが桐を御使いだそうでその業者さんは、データをTBLで受け渡したいそうです。
K3はTEXTファイルなので 文字列を意識すれば作ることができるのですが
TBLはバイナリーファイルの為、ほかのアプリケーションでTBLまで作成するのができなくて困っているのです。
どうにかならないもんでしょうか?

VBをつかっています。
6512 Re:K3をTBLに変換したい 宮城 2000/06/19-19:01
記事番号6510へのコメント
桐のバージョンが不明ですが、次のところで体験版がダウンロードできます。

V8−> http://www.vector.co.jp/soft/maker/k3/se051110.html

V5−> http://www.vector.co.jp/soft/maker/k3/se005324.html

これらでTBL形式に読み込んで渡すのが一番簡単でしょう。
無論、ユーザーさんが桐をお持ちなら、K3からでもCSVからでも読んでもらえば一緒ですけど。
僭越であると判断されるなら、読み込み用の表と読み込み用一括処理組んで渡すとかも可能です。

6513 Re:K3をTBLに変換したい あつこ 2000/06/19-20:11
記事番号6509へのコメント
>ないと思うんですけど・・・。
やはり、そうですよね(;_;)

>桐を使えばいとも簡単なことを桐を使わずにやりたいというのはどういう
>ご事情なのでしょうか?

すみません、厄介なことを。
SATOさんのレスと同じく、クライアントの要望なのです。
WEBアプリで、あるDBから桐データとしてダウンロードするという仕様だったのですが、
この桐データはk3なんかでいいと安直に考えていたところ、
「ダウンロードするデータはtblでなければならない」となってしまったのです。

そういった方法があるのかどうかもわからず、クライアントには、宮城さんのおっしゃるように、
桐でk3を読み込んでもらって、桐でtblを生成してもらえないかとご提案したのです。
ところが、先方はやはり、その手間を省きたいというのが強い要望なのです。
そこで、お知恵を拝借したいと考えた次第です。
経験者の方々で、そういった方法はない!ということになりましたらばあきらめます。

6514 Re:K3をTBLに変換したい 幅田 2000/06/19-20:35
記事番号6513へのコメント
>桐のアプリケーション上で使うのではなく、
>桐を経由せずに、というのがミソです。

>SATOさんのレスと同じく、クライアントの要望なのです。
>そういった方法があるのかどうかもわからなず、クライアントには、宮城さんのお
>っしゃるように、桐でk3を読み込んでもらって、桐でtblを生成してもらえないかと
>ご提案したのです。
>ところが、先方はやはり、その手間を省きたいというのが強い要望なのです。

クライアントさんが桐を使っていて、あるアプリのデータを桐で活用したいといった場合
普通は、やはりそのアプリのテキスト書き出し機能を使ってCSVなりk3なりに書き出してから
クライアントの方でそのファイルを桐で読み込んで使うのでしょう。

でも、どうしてもそのアプリで桐の表を生成してしまいたいというのであれば、
いっそのこと、そのアプリの中で桐の一括処理を実行して桐の表を作ってしまったらどうでしょう?
桐がインストールされていることが条件ですが、そのクライアントさんは桐をお使いとのことですので、
あらためて桐を購入する必要はないでしょう。

ファイル名が定まっていない場合は、まず、そのファイル名を指定した変数ファイルを
そのアプリからテキストファイルとして書き出します。

例:TEST.CSVからTEST.TBLを作成する

1.そのアプリで下記の内容のテキストファイル(カンマも含む)で、ファイル名は
「FILE.VAR」というものを作成します。

ファイル名,文字列,固有,TEST

(ファイル名の部分は桐の一括処理で使う変数の名前です)
(TESTの部分は実際に作成されるファイル名となります)

2.続いてアプリで「TEST.CSV」というファイル名でCSVファイルを作成します。
ただし、1行目は項目名のものです。

3.桐の一括処理で下記のものをあらかじめ作っておいて、そのアプリから実行します。
Windowsで関連付けがなされていれば、そのCMDファイルを実行するだけでいいはずです。
一括処理が終了したら桐も同時に終了するようになっていますので、画面を見なければ
桐を使ったという意識なしに使えると思います。

変数宣言 数値{&ok}
変数宣言 文字列{&filecsv,&filetbl}
 変数読み込み "FILE",固有,終了状態=&ok
  &filecsv=&ファイル名+".csv"
  &filetbl=&ファイル名+".tbl"
ファイル変換 CSV,&filecsv,&filetbl,¥
 項目名行=あり,自動設定=する,終了状態=&ok
終了 桐


ファイル名を固定できるなら、変数読み込みも必要なく、もっと簡単にできます。
6518 Re:クライアントの要求 Ogo 2000/06/19-21:39
記事番号6513へのコメント
クライアントから要求があるのに、自分は桐を使わないというのは
本末転倒ではありませんか?

ボランティアならともかく、報酬を受け取る仕事なら、議論以前で
はないのでしょうか。


6527 Re:クライアントの要求 宮城 2000/06/20-08:54
記事番号6518へのコメント
インターフェースという話なら、tbl形式ファイルができれば足るというのは
クライアントさん、SATOさん・あつこさんとも甘すぎるでしょうね。

私がクライアントなら、一も二もなくテキスト形式を採用しますけど。
(でないと重いし誤読も多そうだし。)

ただし、TXTの場合、データ中に半角カンマがありますと悲惨なことになりますから、ご注意かた。
6541 Re:K3をTBLに変換したい 佐田 守弘 2000/06/20-19:21
記事番号6510へのコメント
SATOさん
基本的には不可能と考えるべきでしょう。なぜなら桐のtbl形式の仕様が公開されていないからです。

桐を経由せずにtblファイルを書き出そうとしたら、桐がtblファイルを書き出す時と同じアルゴリズムで、
tblファイルをバイナリで書き出す事が必要になります。

佐田守弘(KS-00119)
6542 データ交換形式 佐田 守弘 2000/06/20-19:32
記事番号6527へのコメント
宮城さんが書かれた
>ただし、TXTの場合、データ中に半角カンマがありますと悲惨なこと
>になりますから、ご注意かた。

は、多分に陥るエラーです。ですから、csvでのデータ交換は適切ではなく、
必ずK3フォーマットを使うようにして下さい。
K3フォーマットと単純なCSVとの違いは、文字列は二重引用符で囲み、中に半角カンマがあっても
1連の文字列とみなすことができる点です。
もちろん、二重引用符を重ねれば、二重引用符自身も文字列の中に含めることが可能です。

佐田守弘(KS-00119)
6544 Re:データ交換形式 宮城 2000/06/20-20:01
記事番号6542へのコメント
いえ、CSVも数値以外のデータは半角二重引用符でくくってくれます。問題はTXT。
文字数値かかわりなく、区切り文字で区切るだけ。

したがって、半角文字で区切るケースが多いと思いますが、
会社名などのデータに「CO.,LTD.」などというのが含まれておりますと、
このカンマを区切り文字とみなしてしまい、以下データズレとなります。

TXTからAccess等で読み込むと、引用符はデータではないものと扱ってくれますから、
私は K3で書き出し、前回の TXTがあれば消し、ファイル名変更で K3を TXTに直す
という手順を踏んでいます。

6545 Re:データ交換形式 幅田 2000/06/20-20:32
記事番号6544へのコメント
>「CO.,LTD.」などというのが含まれておりますと、このカンマを区切り文字とみな
>してしまい、以下データズレとなります。

本題とはずれますが..
昔の私の経験によりますと、ある会計ソフトで数値ですら、
例えば、200,000円をご丁寧にそのままの形で(3桁区切りのカンマ付きで)
テキスト書き出しするソフトがあったような記憶があります。
要注意!
6548 Re:データ交換形式 宮城 2000/06/20-21:42
記事番号6545へのコメント
もっと「レベル」の高い話もあります。

「切替にあたりコードはどうしましょうか?」
「アウトプットとして、現状通りにしてください」

でてきたテキストみてみれば、あっさり無視されている上に、新旧対応は多対多。
自由気ままにコードが発番されていた。

かようなこともいくらでも起こり得ます。

戻る