日付の表示形式の変換について への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 たすく  (社会人) 投稿日時 2009/10/23 01:28:14
>魔界の仮面弁士さん

ご回答ありがとうございます!!
アドバイスのとおりコーディングしてみたところ、
通ることが出来ました!
プログラムをコーディングして3ヶ月経ちますが、
いまだに「(,"」や演算子の小さなミスに気づかず、
悩んでしまいます。


また壁にぶちあったときにはご教示ください!
ありがとうございました
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/10/23 00:51:35
VB の Date 型として得たいのであれば、『CDate(Split(Text1.Text, "(")(0))』だけで OK かと。

『Format(CDate(Split(Text1.Text, "(")(0)), "'YYYYMMDD'\;")』だと、
「'20091022';」といった文字列になってしまいますから。


> Date型「yyyy-mm-dd」で保存
日付を「String 型にする時」には書式指定が必要ですが、
Date 型そのものに書式はありません。

SQL として出力する場合とは異なり、Recordset 経由で出力する場合には、
Date 型を String に変換する必要は無いはずです。
投稿者 たすく  (社会人) 投稿日時 2009/10/23 00:39:56
 

いつもお世話になっております。


テキストボックスに表示された「yyyy年mm月dd日(aaa)」形式の日付を、
SQLサーバ側のテーブルにDATE型形式「yyyy-mm-dd」で保存したいのですが、
どのように変換すればよいでしょうか?
今現在、下記のコードを試したところ、『型が一致しません』のエラーが返ってきます。


Private Sub Form_Load()

'フォームロード時、text1に日付を表示 
     text1.Text = Format(Date"yyyy年mm月dd日(aaa)")

End Sub




Private Sub Save_Click()

~中略~

'サーバ上のテストテーブル「days」フィールドに「yyyy年mm月dd日(aaa)」をDate型「yyyy-mm-dd」で保存 
  
  rs.AddNew                         '新規レコード追加 
  rs!days = Format(CDate(Split(text1.Text, "(")(0)), "'YYYYMMDD'\;")

  rs.Update                         '更新(保存) 
  rs!days = Format(CDate(Split(text1.Text, "(")(0)), "'YYYYMMDD'\;")
    
~中略~
      
End Sub



ご教示よろしくお願いします。