• 締切済み

WEBとデータベースの構築について

今、仕事で、データをWEB画面から、データベースにを落とすというものを構築しているのですが。よろしければひとつ教えていただきたいです。 それは、WEBのINPUT画面ですでに入力する型を決める方法はあるのでしょうか? 例えば、WEB上の「日付」の欄にカーソルをあわせて入力しようとすると、「yyyy/mm/dd」という感じで入力形式が決められていて。入力していく段階ではじめの4桁を入力した時点で「/(スラッシュ)」が現れ、スラッシュを自動で挟んで、月の入力に入っていくとか・・・要するに、グラフィカルに入力型がわかるようにする方法です。 ちなみに、MSSQL2000をサーバーとして、後は、JavaScriptとColdFusionを使用しています。 なにか、方法をご存知の方よろしくお願いします。

みんなの回答

noname#1785
noname#1785
回答No.2

JavaScriptでできないことは無いですが、mnabeさんのおっしゃるように、うっとーしいですよ? ユーザーに、返って混乱を招くと思います。 私もColdFusionで開発をしていますが、色んな関数が用意されているので、確認画面でチェックを入れています。 入力はそのままのテキストボックスでさせておいて、スラッシュを入れて入力するように注意書きを書いておきます。 次の画面でform変数として受け取った後に、スラッシュが含まれている「yyyy/mm/dd」という形式かどうかを、正規表現でチェックして、日付として正しいかどうかを「IsDate」関数でチェックします。 それらが正しければDateFormat関数できちんと「yyyy/mm/dd」の形式に生成したデータを、DBに流せばいいのではないでしょうか。

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

ない事も無いのですが、基本機能だけではありません。  ASPを使うとか、JSPを使用するとか...  JavaScriptを使用すれば出来るとは思いますが、エラー処理を考えると面倒ですよぉ  それよりも、ユーザに選択させる形式の方がユーザには便利だと思いますがどうでしょうか?  年のコンボボックスと、月のコンボボックスと日のコンボボックスを用意して、それらを選択させた方が楽ですし、数字の入力値チェックの手間が省けます(ある程度)。  そういった方法では駄目なのでしょうか?

obahiro
質問者

お礼

ありがとうございます。 実際には、こうしよう・・ああしよう・・・と考えるのですが、ユーザーの側に立つと煩わしさが出てしまうようです。 コンボボックスという案を考えてみて、責任者の方と話し合ってみようと思います。ありがとうございました

関連するQ&A

  • DataGridViewでyyyy/MM/dd

    SQLServer2008で作ったデータベースをVB2010のDataGridViewで表示させております。 DataGridViewで日付列を"yyyy/MM/dd"のスラッシュ入り10桁で表示させたいのですが表示されません。 データベース側でのデータ型は「date」となっております。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy/MM/dd" こう記述すればいいと思ったのですが、「20111227」とスラッシュ無しで表示されてしまいます。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy年MM月dd日" これは「2011年12月27日」と表示することを確認できました。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy-MM-dd" これは「2011-12-27」と表示することを確認できました。 どのようにしたら"yyyy/MM/dd"形式で表示させることが出来るのでしょうか 指導のほど、よろしくお願い致します。

  • 日付入力

    テキストボックスにYYYY/MM/DDの形式で入力します。 入力中に、YYYYが入力されたら自動的にスラッシュを付け加えて、またMMと入力したらスラッシュが自動的に入るようにしたいです。その過程で、日付のチェックも同時に行ないたいです。 どう書けばよいのでしょうか。ぜひ教えてください。お願いします。

  • 違うフレームのデータを同時にデータベースに登録する方法

    いま、私はデータベースを作っています。 サーバーは、SQL2000、JavaScriptとColdFusionを使用しています。 そこで、分からないことがあるのでよろしくお願いします。 それは、INPUT画面上に、2つのフレームを準備して、「登録」ボタンを押すと、右側のフレームと、左側のフレームの両方のデータが同時にDBに登録されるというロジックの考え方を教えてください。 また、入力回数を減らすため、部署名、年度等のデータをDBに登録してもそこに変更を加えない限り値を残す方法はあるのでしょうか? 今の、状態ですと、DBにデータを登録するとINPUT画面のTextの欄がまっさらになってしまい、困っています。 よろしくお願いします。

  • データベースとweb画面

    データベースとweb画面との関連付けを行うときに エディターによるHTML作成からタグを埋め込む方法しかないのでしょうか。これを簡単にできるソフトがあれば紹介してください。 尚データベースは「4th Dimension」で作成したものです。

  • 手軽にWEB入力のデータベースを構築する方法

    職場で共有している情報をデータベース化し、入力・参照・出力できるようにしたいのですが、容易に実現するにはどのような選択肢がありますでしょうか?。 恥ずかしながら、システム関係の会社で働いているのですがこの方面にはあまり詳しくありません。条件としては以下のとおりです。 1.OSはWindows2003サーバであれば利用可能です(Windows以外のOSには詳しくありません) 2.WEBサーバはIISもしくはフリーソフト 3.データベースソフトはOracle10g(standard edition)またはフリーソフト 4.SQLはある程度わかってますが、CGIなどの開発経験が乏しいため、   テンプレートなど容易に入力・更新・参照画面が作成できるフリーソフト 5.利用者はLAN接続社内の10名程度 大変勝手な質問ですが、どうぞ宜しくお願いいたします。

  • Access ADOで文字列を日付型へinsert

    VBScriptでCSVファイルのデータをADO経由でAccessにinsertしたいのですが、日付型へのinsertがうまくいきません。 CSVファイルにある「8桁日付」(例:20110101)をAccessの日付型フィールドへinsertするのに、以下の試みをしましたが、型不一致etcのエラーがでてしまいました。 どうしたら、insertできるのでしょうか? 1.8桁日付を yyyy/mm/dd に編集(mid使用) してinsert →型不一致エラー 2.CDATE(yyyy/mm/dd) をinsert →型不一致エラー 3.CDATE(#yyyy/mm/dd#) をinsert →型不一致?エラー ハマってしまって困っています。ご存知の方がいらっしゃいましたら是非是非教えてください。

  • データベースシステムのトップページ

    物件データベースシステムのトップページを作ります。 (1)左フレームにメニューボタンをGIFでつくって表示したいのですが、方法がわかりません。 (2)(1)のボタンを押すと物件データベースシステムでの各機能(ユーザマスタ、社員マスタ)への遷移ができるようにしたいです。 (3)右フレームに、データベースに登録されているデータの件数を数えて表示したい。  例:YYYY年MM月DD日に××××件が新しく登録されました。    YYYY年MM月DD日現在 新規物件は××××件で す。  以上のような感じの表示がしたいです。 このプログラムをCGI(C言語)で作るのですが、 もうお気づきかと思いますが、私はドシロウトで 要領を得ておりません。どなたか親切な方のご回答を お待ちしております。

    • ベストアンサー
    • CGI
  • ExcelのIF関数 20090605 →2009/06/05 09:00:00

    ExcelのIF関数でおしえていただきたいのですが、 20090605   という8桁の数字を 2009/06/05 09:00:00 このように、/(スラッシュ)と時間を入れた形で 表記させたいのですが、 どのような関数で出来ますでしょうか? ちなみに、 (1)20090605  に    =TEXT(TEXT(W2,"00!/00!/00")*1,"yyyy/mm/dd")    この数式で、    2009/06/05 に。 (2)2009/06/05 に    V2&" 09:00:00"    この数式で、    2009/06/05 09:00:00 に。 このように、2工程であれば出来ているのですが、 できれば1工程で出来る関数がありましたら、 おしえていただけないでしょうか? よろしくお願いします。

  • ACCESSのDate関数について

    会社のDBにACCESSで繋いで必要な資料を作成しています。そのDBの日付の書式がyyyymmddの型になっていて、クエリの抽出条件でdate()と入力しても上手くいきません。そのために、left(date,4)&"/"&mid(date,5,2)&"/"&right(date,2)としてyyyy/mm/ddの型に直して抽出しています。このやり方だとクエリの実行にとても時間がかかります。yyyymmddのままでパラメータを指定して20070630と入力すると10秒かからずに表示されますが、yyyy/mm/ddの型に直してdate()にすると3分近くかかります。yyyymmddのままでdate()を使う方法はありますか?

  • 配列を使ってWEB画面から一気にINPUTしたいのですが

    お世話になっております。 わたしは、以前からの続きでDBの構築をSAVERはsql2000、ColdFusionとjsを使って社内WEBを構築しております。 そこで、皆様のお力をお借りしたいのですがよろしくお願いいたします。 それは、普通(?)でしたら、社員名簿と1件づつINPUTしていくのが、開発していく上では楽なのですが、担当者が、部署ごとに一気に15件を入力してまとめてINPUTできるようにして欲しいと依頼され、困って降ります。 そこで、配列を使って入力すればいいのかと思い、coldfusionのリファレンスを見たのですがよく分かりません^^; そこで、どういうロジックで配列を組んでいけばよいか、どなたか教えてください。 項目は、一番上に「部署」フィールドがありそこの一箇所に入力します。 そして、下には15件分のデータを入力するフィールドが存在し、「氏名」「役職」「E-Mail」「tel」の項目があります。登録ボタンを押すと全てのレコードがDBに落ちるようにしたいのですが、どのようにしたらよろしいのかお願いいたします。 長文になってしまい、申し訳ございませんm(_ _)m