Paradoxの3桁区切りデータを整数で読むには?

解決


こあ  2007-04-04 17:06:54  No: 25614  IP: 192.*.*.*

すみません。
PARADOXから受け取った金額データ¥1,200とかを1200.00にする方法がわかりません。
PARADOXからは、DBEdit1.Textで受け取って、
StrToCurr(DBEdit1.Text)で変換しようとしたのですが、エラーが出ます。
BDS2006を使ってます。
どなたか教えていただけませんか?

編集 削除
かず  2007-04-04 21:18:46  No: 25615  IP: 192.*.*.*

難しく考えてはいけません。
テーブルの金額データのフィールドのプロパティを開き
DisplayFormatを設定しましょう
1,200なら#,###とか#,##0
1200.00なら###0.00
これでDBEdit1.Textに希望するように表示されます。

入力もするのでEditFormatに###0や ####.## などと0表示を考えて指定します。

LabelならFormatFloat('#,###',  テーブルのフィールド名.Value);

編集 削除
まさか・・・  2007-04-05 12:26:17  No: 25616  IP: 192.*.*.*

金額データを文字列で格納してるとか・・・

編集 削除
かず  2007-04-05 21:42:59  No: 25617  IP: 192.*.*.*

こあさんの質問を読むと、金額データを文字列で格納してることになりますね。
答えになっていませんでした。^_^;

通常金額は整数型で保存しますが特殊な用途なのでしょうか?
文字列だと少々厄介ですね。

編集 削除
こあ  2007-04-05 21:48:09  No: 25618  IP: 192.*.*.*

かずさん回答していただきありがとうございます。
本日、会社のLANが工事中で返事が遅れてすみません。

>テーブルの金額データのフィールドのプロパティを開き
>DisplayFormatを設定しましょう
金額データのフィールドのプロパティの開き方がわかりません。
ヘルプで見たのですが、DisplayFormat プロパティの説明も??でした。

まさか・・・ さんSQLエクスプローラでみたかぎりでは、MONEY型になっています。
申し訳ありませんが、よろしくお願いしいます。

編集 削除
こあ  2007-04-06 13:23:21  No: 25619  IP: 192.*.*.*

ちょっと混乱していたようです。
やり方を変えました。
DBEdit使うのをやめて直接テーブルから入力することにしました。

Query5.ParamByName('UnitPrice').AsCurrency   := Query1->FieldValues['Price'];

じつはPARADOXからSQLServerへのコンバートしようと思ってましたが、
カーソルがうまくいかなかったので、DBEditを使って一行ずつレコード移動させて入力しようとか考えていたもので...
お騒がせしました。

編集 削除
りっきぃ  2007-04-06 20:02:53  No: 25620  IP: 192.*.*.*

https://www.petitmonte.com/bbs/answers?question_id=1896

過去ログ?にこんなのがありました。

編集 削除
かず  2007-04-06 21:21:27  No: 25621  IP: 192.*.*.*

PARADOXからSQLServerへコンバート、新たにSQLサーバ移行なら
付属のデータポンプで簡単に変換できますよ。
また双方金額型なら単純に代入文でOKだと思います。

テーブルのフィールドプロパティDisplayFormatとかEditFormatは基本の基本です。
数値の表示方法、入力時の表示方法を指定できます。DBGrid、DBEditで反映されるので便利です。基本を押えないとゴリゴリ無駄なコードを書きバグも増えます。
DelphiはAccessの手軽さでC++並みのことまでできるのが売りです。

編集 削除