OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Access97での日付表示について

  • 困ってます
  • 質問No.229416
  • 閲覧数217
  • ありがとう数3
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 42% (3/7)

 今、Excelで作っていた名簿をAccess97を使って管理ができるようにしています。
Excelでは"3061222”とデータが”昭和6年12月22日”とMID関数を使って表示されるようになっていました。
 Accessのフォームやレポートでも同じ様なことは出来ないでしょうか?いったん生年月日だけ入力し直すとか考えたんですがデータの量が半端でないので何とかしたいのです。
 すみませんが分かる方ご教授お願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル14

ベストアンサー率 39% (813/2055)

再登場
 日付: IIf(Mid$([年月日],1,1)=3,"昭和","平成")+Mid$([年月日],2,2)+"年"+Mid$([年月日],4,2)+"月"+Mid$([年月日],6,2)+"日"
   ↓
 日付: iif(mid$([年月日],1,1)=1,"大正",iif(mid$([年月日],1,1)=2,"明治",iif(mid$([年月日],1,1)=3,"昭和","平成")))+Mid$([年月日],2,2)+"年"+Mid$([年月日],4,2)+"月"+Mid$([年月日],6,2)+"日"
のように
iif(式,正,偽)
iif(式,正,iif(式,正,偽))
iifの入れ子すれば良いです。
参考になれば幸いです
何かあれば補足して下さい。
お礼コメント
chiaki40

お礼率 42% (3/7)

ありがとうござました。
最初、昭和生まれだけの人しか対象っていう設定で作ったのですが、今後のことを考えて教えていただいたとおりにiifの入れ子を使って作ってみました。
ホント助かりました。
投稿日時 - 2002-03-08 12:43:50
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル14

ベストアンサー率 39% (813/2055)

クエリー 項目名を年月日とします 日付: IIf(Mid$([年月日],1,1)=3,"昭和","平成")+Mid$([年月日],2,2)+"年"+Mid$([年月日],4,2)+"月"+Mid$([年月日],6,2)+"日" フォーム、レポート 項目名を年月日とします =IIf(Mid$ ...続きを読む
クエリー
項目名を年月日とします
日付: IIf(Mid$([年月日],1,1)=3,"昭和","平成")+Mid$([年月日],2,2)+"年"+Mid$([年月日],4,2)+"月"+Mid$([年月日],6,2)+"日"

フォーム、レポート
項目名を年月日とします
=IIf(Mid$([年月日],1,1)=3,"昭和","平成")+Mid$([年月日],2,2)+"年"+Mid$([年月日],4,2)+"月"+Mid$([年月日],6,2)+"日"


参考になれば幸いです
何かあれば補足して下さい。
補足コメント
chiaki40

お礼率 42% (3/7)

 早速の回答ありがとうございます。
 参考までに教えていただきたいのですが、複数のコードを設定した場合(例えば1が大正とか2が明治とか・・・)でもこのIIf関数は使えるのでしょうか?それとも似たような関数がありますか?
 関数のことあまりよく知らなくてすみません。
投稿日時 - 2002-03-05 14:09:41
  • 回答No.3
レベル7

ベストアンサー率 33% (5/15)

元データ(シート)のメンテが可能であれば、別の方法としてExcel側で別の列にExcel関数を使ってAccessに日付データとしてインポートできる西暦表示"yyyy/mm/dd"等にしてこの生成された列をインポートする方法もあります。 Access側では、表示等したいコントロールの書式に「ggge\年m月d日」をセットします。 Excel、Access共、日付は日付データにしておく ...続きを読む
元データ(シート)のメンテが可能であれば、別の方法としてExcel側で別の列にExcel関数を使ってAccessに日付データとしてインポートできる西暦表示"yyyy/mm/dd"等にしてこの生成された列をインポートする方法もあります。
Access側では、表示等したいコントロールの書式に「ggge\年m月d日」をセットします。
Excel、Access共、日付は日付データにしておくほうが何かと便利だと思います。
もしExcelとリンクしているのであれば上記方法だとAccess側でデータ修正するとExcel関数の計算式が消えてしまいますのでご注意ください。
なお、メンテ不可であれば、k_ebaさんのご回答のとおり。
お礼コメント
chiaki40

お礼率 42% (3/7)

ありがとうございました。私とするとAccess側での作業が少しでも減らせればとこの方法をとろうと思ったのですが、Excelメンテ不可だったので出来なかったので残念です・・・
投稿日時 - 2002-03-08 12:38:40
  • 回答No.4
レベル10

ベストアンサー率 56% (59/104)

御疲れ様です >複数のコードを設定した場合(例えば1が大正とか2が明治とか・・・)でもこのIIf関数は使えるのでしょうか? k_ebaさんの補足的なことになりますが、このような関数もありますよ。 例1:Choose関数を使用する Choose(Mid$([年月日],1,1),"明治","大正","昭和","平成&qu ...続きを読む
御疲れ様です

>複数のコードを設定した場合(例えば1が大正とか2が明治とか・・・)でもこのIIf関数は使えるのでしょうか?
k_ebaさんの補足的なことになりますが、このような関数もありますよ。


例1:Choose関数を使用する
Choose(Mid$([年月日],1,1),"明治","大正","昭和","平成")


例2:Switch関数を使用する
Switch(Mid$([年月日],1,1)=1,"明治",Mid$([年月日],1,1)=2,"大正",Mid$([年月日],1,1)=3,"昭和",Mid$([年月日],1,1)=4,"平成")


例3:自分で関数を作成する
下記処理を「モジュール」に登録する
Public Function 年号(wCode As Integer) As String

Select Case wCode
Case 1
年号 = "明治"
Case 2
年号 = "大正"
Case 3
年号 = "昭和"
Case 4
年号 = "平成"
Case Else
年号 = ""
End Select

End Function

年号(Mid$([年月日],1,1))


どの例も期待値は、同じになります。
ただ、メンテナンスのことを考えると個人的には「例3」がいいような気がします。
頑張って下さい。
お礼コメント
chiaki40

お礼率 42% (3/7)

今回の処理はIIfを使ったものにしましたが、いろいろな方法があるなって分かりました。
特に例3は他のことに応用がききそうですね。ありがとうございました。
投稿日時 - 2002-03-08 12:29:16
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ