htxでデータベースの型がちゃんと表示されないんです。

[上に] [前に] [次に]
tera.txt [E-Mail] 2000/05/19(金) 15:47:14
どうも。お世話さまです。

今windowsNT4.0/IIs3.0、ACCESS2000という環境で
web上でデータベースを閲覧できるようなアプリケーションを作っています。
形式(?)はIDC+HTXでやっています。

それでデータの呼びだしはできたのですが、
どうしても日付/時刻型と通貨型のデータが正しく表示されません。
具体的には、

・日付/時刻型のデータは、日付しか入ってないのに、時間まで表示
 されてしまう(ACCESSの方ではShort設定になってる)
・通貨型は、3桁区切りにならない(ACCESSでは標準で設定している)

という症状です。

ACCESSとODBC両方に使える関数というのを紹介していた本があったのですが、
どこにその関数を組みこんだらいいかわかりません。その他、関数以外でも
手段があるなら是非教えていただきたいです。

それではよろしくお願いします。

ささ 2000/05/19(金) 17:15:20
私はIDCファイルでデータ(例:S_DATEという日付時刻型テーブル)
を呼び出すときに、SELECT文中でyear(),month(),day()という
関数を使用して
year(S_DATE) AS S_YEAR  等として年月日を拾い出して、
HTXファイルで表示するところには
<%S_YEAR%>/<%S_MONTH%>/<%S_DAY%>
と書いてやりました。(例えば2000/05/19のようになります)
私も初心者なので説明がわかりにくかったらすみません。
あと、通貨のほうは、わかりません。

しかしどうも力技っぽいのでもっといい方法があったら
私も教えていただきたいです。

edomari 2000/05/19(金) 17:54:48
SELECT時にFormat関数で書式を指定してはどうでしょうか?

tera.txt [E-Mail] 2000/05/19(金) 18:33:22
さささん、edomariさん、早々のご回答ありがとうございます。

日付型についてはさささんのご説明頂いた方法で、なんとかなりました。
通貨型はedomariさんが提案された方法で試してみましたが、ODBCに
サポートされていない関数らしくダメでした。

それで、通貨型も今回やった日付型同様の方法をとりたいと思ってるんですが、
SQL文で通貨型フォーマットのかけかたがわかりません(爆)。

一応Ccur(kingaku) as F_kingakuとかやったのですが、
何故か小数点以下第4位まで表示されてしまいます。
データベースでは小数点以下は表示しない設定になっています。
現時点でも3桁ごとのカンマによる桁くぎりは表示されていないのですが、
これはちゃんと通貨型にフォーマットかかれば表示されると思うので、
とりあえず小数点以下の桁について、なんとかしたいです。

それではよろしくお願いします。

edomari 2000/05/24(水) 19:30:22
>ODBCにサポートされていない関数らしくダメでした。
当方、Win95+PWS+Access97のため、ひょっとしたら動作が
異なるのかもしれませんが...

ところで、以下の問題に該当していませんか?
[ACC2000]Win2000:関数を使用したデータベースでエラー
http://www.microsoft.com/JAPAN/support/kb/articles/j052/2/83.htm

別の手段として、以下の内容を参考にクエリーを作成して
そちらをIDCから呼ぶというのはどうでしょうか?
[AC97] 日付フィールドをテキストへエクスポートすると時刻形式が含まれる
http://www.microsoft.com/JAPAN/support/kb/articles/J046/9/68.htm

tera.txt [E-Mail] 2000/05/25(木) 09:16:15
[[解決]]
edmariさん、ありがとうございます。

えとまずサーバはNT4.0なのでWin2000のエラーは出ません。
あとご指導いただいたクエリーを作成して・・・というのは
Access2000のため、どうやらできない模様です。
一応日付型に関してはささささんの方法で力技ながら(笑)
解決したのを報告します。

通貨型の方は結局どうしようもなかったので、
IDC+HTXでの方法をあきらめ、ASP+VBS+JBSという方法をとり
無事解決できました。ASPでもNNでブラウズできたので
問題なかったです。

それではみなさん、本当にありがとうございました。

[上に] [前に] [次に]