-PR-
解決済み

Access2000のことで困っています。

  • すぐに回答を!
  • 質問No.84556
  • 閲覧数135
  • ありがとう数2
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 28% (2/7)

今、Access2000で顧客管理みたいなものを作っているのですが、
月毎に誕生日カードを送りたいのです。
そこで、月毎に抽出する方法を知りたいのですが、
どなたかご存じないですか?
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.4
レベル12

ベストアンサー率 33% (196/589)

>この関数はクエリーで使用可でしょうか?
もちろん使えます。

選択クエリーのデザインを開いて下さい。
フィールドの所にCInt(Mid([誕生日],6,2))を入れてください。
後は、抽出条件の所に印刷したい月を設定すればOKです。

※barbieriさんの回答に対する補足についてですが、どんなエラーメッセージが出ているかきちんと書かないと解答出来ないと思いますよ。
補足コメント
frmattun

お礼率 28% (2/7)

何度もありがとうございます。

>※barbieriさんの回答に対する補足についてですが、どんなエラーメッセージが出ているかきちんと書かないと解答出来ないと思いますよ。
そうですよね。すみません。
今見たら、”定義されているフィ-ルドが多すぎます。(Error3190)”
と出てきました。
ヘルプを見ると”255以上の…”と出でくるのですが、レコードが170くらいなんです。どうしてなのでしょう?
投稿日時 - 2001-06-07 11:08:20
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル12

ベストアンサー率 33% (196/589)

1.顧客テーブルの中に誕生日と言う名称の日付型のフィールドを作成します。
2.選択クエリーで抽出条件としてMonth([誕生日])に誕生カードを作りたい月を指定します。
3.後は誕生カードを作るレポートで、2で作ったクエリーを指定すればOKです。
補足コメント
frmattun

お礼率 28% (2/7)

回答、ありがとうございます。
やってみたんですが・・・できませんでした(ーー;)。
フィールドがテキスト型だからでしょうか?
Excelのデータをインポートしてきたもので、
データ量が多いので、変更できないのです。
こういう場合はどうすればいいのでしょうか?
投稿日時 - 2001-06-02 17:13:03

  • 回答No.2
レベル12

ベストアンサー率 33% (196/589)

関数Month()は、日付型用なので使えません。
テキスト型のフォーマットはどうなっていますか?
例えば、YYYY/MM/DDだった場合には、MID()関数を使って月を取り出せます。
MID([誕生日],6,2)
後は、数値に変換などすれば大丈夫だと思います。
補足コメント
frmattun

お礼率 28% (2/7)

再度ありがとうございました(^O^)
返事が遅くなって申し訳ありません
たびたびの質問で申し訳ないんですが…
この関数はクエリーで使用可でしょうか?

Access初心者なので教えていただければうれしいです
よろしくお願いします。
投稿日時 - 2001-06-06 17:54:18
  • 回答No.3
レベル9

ベストアンサー率 24% (19/78)

質問の内容から今後も長い期間に亘って使用されるものと思います。
データ量が多くて大変との事ですが、やはりここは日付型に変更されることが望ましいと思います。
「何月の予定」とかいった場合は日付を特定できない場合が多いのですが、誕生日は(知らない場合は別として)必ず特定できますから年月日が一つのフィールドになっているなら早めに日付型に変更して処理する方があとあと楽になります。別フィールドならばエクセルにイクスポートして整形してYYYY/MM/DDの形にしましょう。その後改めてアクセスに日付型としてインポートすれば使用可能です。
アクセスのテーブルからアクセスのテーブルへ直接変換するのはちょっと厄介です。
補足コメント
frmattun

お礼率 28% (2/7)

回答ありがとうございました(^。^)
返事が遅くなって申し訳ありません。

何度か、テキスト型から日付型に変えようとしましたが、
エラーが出てしまうんです。フィールドエラーみたいなんですけどよくわかりません。
無理にでも実行しようとするとフィールド名まで変わってしまうんです。
どうすればいいですか?
投稿日時 - 2001-06-06 17:58:49
  • 回答No.5
レベル9

ベストアンサー率 24% (19/78)

申し訳ありません。私の説明不足でした。
現在存在するレコード全ての[誕生日]のフィールドが完全にyyyy/mm/dd又はyy/mm/ddの形に整形されているならば、そのテーブルをデザインモードで開き[誕生日]を日付型に変更するだけ(デフォルト状態)で完全に変換可能です。
>今見たら、”定義されているフィ-ルドが多すぎます。(Error3190)”
と出てきました。
テーブル作成クエリーを使用して新たなテーブルを作成する場合に同一のフィールドを複数回定義するとExpr????のようなフィールドが自動生成されます。
現在、使用されているテーブル構造がどのようになっているのか見当つきませんが既にかなりのフィールドを作成されたのではないでしょうか?
とすれば、本質問から外れてしまいますが一度テーブルの解析をしてテーブル自体の構造をアクセスのアプリケーションにお願いした方が良いかも知れませんね。
どちらにしてもテーブルを最初の状態にして、[誕生日]を日付型に定義し直すことを試して下さい。
面倒ならば、既にgould09さんが回答された方法でこの問題はクリアしていると思いますので時間が出来た時にでも実験されて良いのではないでしょうか?
>ヘルプを見ると”255以上の…”と出でくるのですが、レコードが170くらいなんです。どうしてなのでしょう?
フィールド数とレコード数とは関係有りません。
「エクセルの列に相当する物がフィールド、同じく行がレコードに相当する」と考えて下さい。これは色々なデータベースの基本ですから覚えておいて損はありません。
お礼コメント
frmattun

お礼率 28% (2/7)

回答ありがとうございました(^○^)
理解しているようでしていなかったんですね…
もう少し勉強して頑張ってつくりたいと思います。
投稿日時 - 2001-06-08 14:45:35
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ