@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

日付(年齢)の計算

1
投稿者投稿内容
なぎなぎ
会議室デビュー日: 2004/05/01
投稿数: 11
投稿日時: 2004-05-29 06:05
いつもお世話になっております。

VB.NetでWebアプリを作成しておりますが、
既にデータとしてTableに入力されている生年月日を更新して
年齢をどの様にDataGridに表示したら良いかで困っております。
※年齢のカラムも用意されています。

良いお知恵をお貸し下さい。
宜しくお願い致します。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-05-29 08:12
>Tableに入力されている生年月日を更新して

Tableというのは<TABLE>タグのことですか?
System.Web.UI.WebControls.Tableのことですか?
System.Web.UI.HtmlControls.HtmlTableのことですか?
データベースのテーブルのことですか?

「更新して」というのは具体的にどこで何をすることですか?
サーバー側でプロパティ等を書き換えることですか?
サーバー側でデータベースの値を更新することですか?
クライアント側でユーザーが生年月日を入力することですか?

>年齢をどの様にDataGridに表示したら良いかで困っております。

何が問題になっていますか?
年齢の計算方法ですか?
DataGridに値を表示する方法ですか?
なぎなぎさんのおっしゃる「更新」がされたという事を知る方法が分からないということですか?
・・・・それ以外ですか?
なぎなぎ
会議室デビュー日: 2004/05/01
投稿数: 11
投稿日時: 2004-05-29 09:15
御返答有難う御座います。 いつもの事ですがまた説明不足の様ですね。

1.「Table」とはデータベース(SQLサーバー)に保存しているテーブルの事です。
2.「更新して・・・」とは生年月日の入力データに対して
  再表示時に年齢を「更新する」事を意味しています。
3.「問題」とは年齢の計算方法です。

実際には年齢を表示するページを開く時に保存されているテーブルデータを
総ナメして生年月日と今日を比較して年齢カラムを更新するつもりでした。
何となくですが、データベースを開いて 
 年齢=DateDiff("yyyy",生年月日,Date) 
の様な事をすれば良さそうな気がするのですが・・・
生年月日カラムを代入する方法・年齢カラムを更新する方法が分からないのです。
※いろいろ試したのですがエラー続きで手に負えなくなってしまってます。
(要は文法も分かりません)

何卒お助け下さい。
アティ
ベテラン
会議室デビュー日: 2003/08/14
投稿数: 91
お住まい・勤務地: KANAGAWA
投稿日時: 2004-05-29 10:44
どうも、アティです。
データベースの生年月日、年齢カラムを更新するのであれば、一度UPDATE文を発行すればOKです。
ただ、普通は、生年月日と年齢をデータベースのカラムとして持つことはしないです。
生年月日さえあれば、年齢は算出できるわけですから。
SQL文の問題であれば、SQL Server Books Onlineを参照すれば大丈夫だと思います。
なぎなぎ
会議室デビュー日: 2004/05/01
投稿数: 11
投稿日時: 2004-05-29 17:09
御返答有難う御座います。

>普通は、生年月日と年齢をデータベースのカラムとして持つことはしないです。
>生年月日さえあれば、年齢は算出できるわけですから。

年齢カラムに拘らずに考えてみたいと思います。
有難う御座いました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-05-31 11:47
 正規化、という言葉はご存じですか?年齢のカラムは、正規化の途中で、他の列によって計算して出せるので消えると思うのですが。ご存じでなければ、ここあたりトップページ)を参考に、正規化をしてみてください。

 正規化すると「呼び出し時に毎回計算しなければならない」と思われるなら、ビューにするという方法もあります。
なぎなぎ
会議室デビュー日: 2004/05/01
投稿数: 11
投稿日時: 2004-05-31 17:33
御助言有難う御座います。

恥ずかしながら、知らず知らずの間に使っていましたが、
正規化という言葉自体は意識していませんでした。

参考になりました。
1

スキルアップ/キャリアアップ(JOB@IT)