Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


846 / 2272 ツリー ←次へ | 前へ→

【9812】VBAの型指定について ひろ 07/9/7(金) 16:07 質問[未読]
【9814】Re:VBAの型指定について 小僧 07/9/7(金) 18:07 回答[未読]
【9815】Re:VBAの型指定について Gin_II 07/9/7(金) 18:15 回答[未読]
【9828】Re:VBAの型指定について ひろ 07/9/10(月) 12:18 発言[未読]

【9812】VBAの型指定について
質問  ひろ  - 07/9/7(金) 16:07 -

引用なし
パスワード
   質問があります。
フォーム【F】に【A】と言うテキストがあり
【A】の定型入力プロパティを[9999\年99\月99\日;0;_]と設定しています。

で、VBAで【A】の値を取得した場合

  If False = IsDate([Forms]![F]![A]) Then
    MsgBox "入力された【年月日】は年月日として認識できません。"
    Exit Sub
  End If
  
  1.20070907
  2.2007年09月07日

上記2のどちらかで値をとってきます。
1.の値のとり方に固定したいのですが…どのようにすれば宜しいでしょうか?

また原因も教えていただければ幸いです

【9814】Re:VBAの型指定について
回答  小僧  - 07/9/7(金) 18:07 -

引用なし
パスワード
   ▼ひろ さん:
こんにちは。

>上記2のどちらかで値をとってきます。

ご提示された情報だけですと状況が解りづらいのですが、

A) 同一PC、同一フォームで何回かやると結果が違う。
B) 同一PC、同じ様な機能を設けたフォームのつもりなのに結果が違う。
C) 違うPCで同一フォームなのに結果が違う。

などなど、色々な状況が考えられますよね。

B) でありがちな事として、

テキストボックスの書式が空 ⇒ 2007年09月07日
日付(L)、yyyy\年mm\月dd\日 ⇒ 2007/09/07

などと違う結果を返す事がありますね。

【9815】Re:VBAの型指定について
回答  Gin_II  - 07/9/7(金) 18:15 -

引用なし
パスワード
   > フォーム【F】に【A】と言うテキストがあり

このテキストボックスは、連結コントロールでしょうか?
そうであれば、連結しているテーブルのフィールド型は、日付/時刻型以外に
なっていませんか?(テキスト型?)

だとした場合、

> また原因も教えていただければ幸いです

定型入力プロパティを設定する前に入力したものが、

>   1.20070907

設定後に入力したものが、

>   2.2007年09月07日

となっているとか。

そうであれば、対応策としては、更新クエリを使って「年月日」を
入れてやればいいですね。

UPDATE テーブル名
SET フィールド名 = Format(フィールド名,"@@@@年@@月@@日")
WHERE LEN(フィールド名) = 8

とか。

【9828】Re:VBAの型指定について
発言  ひろ  - 07/9/10(月) 12:18 -

引用なし
パスワード
   ご回答ありがとう御座います。

返信遅くなりました事お詫び申し上げます。


又、解決しておりません

このテキストボックスは、非連結コントロールでです

又、基値は前画面がありそこからホームのロード処理時に
値を取得しています

取得値は「20070910」みないな型の値です

書式などは扱ってはいません。

846 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free