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

解決


こあ  2007-04-05 02:06:54  No: 25614

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


かず  2007-04-05 06:18:46  No: 25615

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

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

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


まさか・・・  2007-04-05 21:26:17  No: 25616

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


かず  2007-04-06 06:42:59  No: 25617

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

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


こあ  2007-04-06 06:48:09  No: 25618

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

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

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


こあ  2007-04-06 22:23:21  No: 25619

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

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

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


りっきぃ  2007-04-07 05:02:53  No: 25620

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

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


かず  2007-04-07 06:21:27  No: 25621

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加