すみません。
PARADOXから受け取った金額データ¥1,200とかを1200.00にする方法がわかりません。
PARADOXからは、DBEdit1.Textで受け取って、
StrToCurr(DBEdit1.Text)で変換しようとしたのですが、エラーが出ます。
BDS2006を使ってます。
どなたか教えていただけませんか?
難しく考えてはいけません。
テーブルの金額データのフィールドのプロパティを開き
DisplayFormatを設定しましょう
1,200なら#,###とか#,##0
1200.00なら###0.00
これでDBEdit1.Textに希望するように表示されます。
入力もするのでEditFormatに###0や ####.## などと0表示を考えて指定します。
LabelならFormatFloat('#,###', テーブルのフィールド名.Value);
金額データを文字列で格納してるとか・・・
こあさんの質問を読むと、金額データを文字列で格納してることになりますね。
答えになっていませんでした。^_^;
通常金額は整数型で保存しますが特殊な用途なのでしょうか?
文字列だと少々厄介ですね。
かずさん回答していただきありがとうございます。
本日、会社のLANが工事中で返事が遅れてすみません。
>テーブルの金額データのフィールドのプロパティを開き
>DisplayFormatを設定しましょう
金額データのフィールドのプロパティの開き方がわかりません。
ヘルプで見たのですが、DisplayFormat プロパティの説明も??でした。
まさか・・・ さんSQLエクスプローラでみたかぎりでは、MONEY型になっています。
申し訳ありませんが、よろしくお願いしいます。
ちょっと混乱していたようです。
やり方を変えました。
DBEdit使うのをやめて直接テーブルから入力することにしました。
Query5.ParamByName('UnitPrice').AsCurrency := Query1->FieldValues['Price'];
じつはPARADOXからSQLServerへのコンバートしようと思ってましたが、
カーソルがうまくいかなかったので、DBEditを使って一行ずつレコード移動させて入力しようとか考えていたもので...
お騒がせしました。
https://www.petitmonte.com/bbs/answers?question_id=1896
過去ログ?にこんなのがありました。
PARADOXからSQLServerへコンバート、新たにSQLサーバ移行なら
付属のデータポンプで簡単に変換できますよ。
また双方金額型なら単純に代入文でOKだと思います。
テーブルのフィールドプロパティDisplayFormatとかEditFormatは基本の基本です。
数値の表示方法、入力時の表示方法を指定できます。DBGrid、DBEditで反映されるので便利です。基本を押えないとゴリゴリ無駄なコードを書きバグも増えます。
DelphiはAccessの手軽さでC++並みのことまでできるのが売りです。
ツイート | ![]() |