アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
以前、ご回答くださった方、ありがとうございます。

質問なのですが、accessでフォームを作り、日付型(と数値型)のカラムのみ更新されません。
どういうことが原因でしょうか。
今までは短いテキストで誤魔化してきていたのですが、今回はどうしても日付型の必要があります。

▼DB
○ シリアルナンバー 短いテキスト
○ 顧客番号 短いテキスト
○ 顧客氏名 短いテキスト
○ フリガナ 短いテキスト
× 貸出日  日付型
× 返却日  日付型

▼フォーム
シリアルナンバー デフォルト
顧客番号 デフォルト
顧客氏名 デフォルト
フリガナ デフォルト
貸出日  日付型 日付(S)
返却日  日付型 日付(S)

短いテキストにすると、更新クエリのうち、×の部分も更新できます。
よろしくお願いします。
参考程度でもいいのですが、数値型も更新できない理由が知りたいです。

質問者からの補足コメント

  • どう思う?

    お世話になります。

    エラーの内容が分かりづらくて申し訳ありません。
    貸出日に 2017/08/29 というデータを入れたいのに
    エラーは吐きませんが、貸出日が空白になっています。
    おそらく、NULLになってると思われます。
    なぜ、空白になるのか見当がつかないところです。
    アドバイスは試してみたいと思います。

    ▼更新クエリ
    更新クエリでテキスト型は問題なく更新できています。
    日付は空白です。
    日付型になるよに、DB、テキストボックスで指定済みです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/08/29 14:40
  • お世話になります。
    フォームからの更新です。

    テーブルにて直接編集は可能です。
    文字数制限のため画面を添付します。
    日付が画面上では入っていますが、手入力(DBから)したものです。

    ▼更新クエリの内容
    UPDATE 患者一覧
    SET 患者一覧.患者番号 = [Forms]![フォーム_患者一覧]![患者番号のテキストボックス],
      患者一覧.患者名 = [Forms]![フォーム_患者一覧]![患者氏名のテキストボックス],
    患者一覧.患者名フリガナ = [Forms]![フォーム_患者一覧]![フリガナのテキストボックス],
       患者一覧.貸出日 = [Forms]![フォーム_患者一覧]![貸出日]
    WHERE (((患者一覧.[シリアルNo])=[Forms]![フォーム_患者一覧]![シリアルのテキストボックス]));

    「更新クエリで日付だけ更新されません。」の補足画像2
    No.2の回答に寄せられた補足コメントです。 補足日時:2017/08/29 15:21

A 回答 (3件)

なるほど、フォームから更新クエリですね。


お書きになった内容でできるように思うのですが、なぜだろう?^^;
画像がよく見えませんが、2017/08/28の表示形式でしょうか?
8/28と入力すれば2017/08/28になりますか?

とりあえず、No.1の方が仰るようにCDate関数を使ってもできませんか?
患者一覧.貸出日 =CDate([Forms]![フォーム_患者一覧]![貸出日])
またはFormat関数で
患者一覧.貸出日 =Format([Forms]![フォーム_患者一覧]![貸出日],"yyyy/mm/dd")
それでも駄目なら
患者一覧.貸出日 =CDate(Format([Forms]![フォーム_患者一覧]![貸出日],"yyyy/mm/dd"))
    • good
    • 0
この回答へのお礼

わざわざありがとうございます。
持ち帰り残業は禁止なので、明日朝イチで検証してみます。
(そもそも仕事中に書き込んでるツッコミはありますがw)

お礼日時:2017/08/29 21:38

更新クエリでの一括更新のお話でしょうか?


それともフォームからの更新のお話でしょうか?

更新クエリの場合は設定内容はどうなっていますか?
フォームの場合は、既存のレコードのデータは表示されるのでしょうか。
またテーブルに直接入力することは可能ですか。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございました。
対応できました。

お礼日時:2017/08/30 09:39

エラーの内容も値もわからないので原因は特定できませんが、


数値型・日付型だと更新されなくてテキスト型だと更新されるのであれば
値が文字列になっているような気がします。
CDate関数で変換してから更新してみて下さい。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございました。
対応できました。

お礼日時:2017/08/30 09:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!