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

アクセス2003を使っています。
エクセルからデータをアクセスのあるテーブルにインポートしたのですが、そのデータには「時間」という項目があり、例えば、「17:45:33」という感じで、秒数まで入っています。

インポート先にテーブルには他のテーブルと「時間」でリレーションを組み、クエリを作っています。

ところが、他のテーブルの「時間」は秒数が入っておらず、上手くクエリが作れません。(手作業で秒数を消せば、上手くクエリができます、逆に手作業で秒数を入力すれば上手くクエリができます。)

ここで質問ですが、そのインポートした「秒数が入っていないデータ」の時間の秒数を削除したいのですが、どうすれば良いのでしょうか?
単純にデザインビューで書式設定で、秒数を見えなくする設定ではクエリは成功しませんでした。(秒数が見えなくなっているだけで、秒数は存在するため)

よろしくお願いします。

A 回答 (5件)

#1です。


> そのインポートした「秒数が入っていないデータ」の時間の秒数を削除したいのですが、どうすれば良いのでしょうか?

インポートする前のデータを書き換えるのもあるのでは?

インポートしたデータそのものを書き換える手順(事前にBackupのこと)
1)クエリを新規作成
2)インポートしたデータのテーブルを追加し、「テーブルを追加」を閉じる
3)メニューのクエリ>更新とクリック
4)「時刻」をドラッグして表示させる
5)更新項目に「format([時間], "HH:MM")」を設定
6)赤い!をクリック
7)テーブルを開いて結果を確認する


参考に以下、インポートしたデータを変更することなく、クエリで結合させる方法。

【tblA】EXCELでインポートしたデータ
1)キー
2)データ
3)時間   秒あり hh:mm:ss (ex 09:12:23)

【tblB】以前からあるデータ
1)キー
2)データ
3)時間   秒無し hh:mm (ex 09:12)

【手順】
1)クエリのデザインビューを開く
2)tblA、tblBを追加する
3)「テーブルの追加」を閉じる
4)tblAの「キー」「データ」「時間」、tblBの「キー」「データ」「時間」を表示させる
5)さらにtblAの「時間」を表示させる(合計7項目を表示させる)
6)5)の部分を「比較用時間: format([tblA]![時間], "HH:MM")」と変更する
7)5)の抽出条件に「format([tblB]![時間], "HH:MM")」を設定する
8)赤い!をクリックして結果を確認する

これで「秒部分に値が無い『時刻』」と「秒部分に値がある『時刻』」で結合できるハズ。
    • good
    • 0

質問の秒数を削除をしてからどうしようとしたのですか?


それに変わる方法を回答しただけです

インポートしたテーブルのデータを書き換えたいのなら更新クエリを作ってください
    • good
    • 0

日付時刻型の正体は表示されているような文字列が入っているのではなく


整数部で日付を小数部で時刻を表す浮動小数点型の数値です
従って秒数だけを削除するというようなことは出来ません

質問のケースではExcelからインポートしたものには秒のところに値が入っていて
比較するほうでは0秒になっていると思われます
ですからインポートしたほうのデータの秒のところを0に置き換えてやればいいですね

CDate(Format(時間,"hh:nn"))

秒を指定しなければ0が補われます
もちろん指定してもいいですよ

CDate(Format(時間,"hh:nn:00"))
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
私の勉強不足で回答者様のおっしゃっているやり方がわかりません。
大変恐縮ですが、補足を頂ければ助かります。
お手数ですが、よろしくお願いします。

お礼日時:2008/05/18 13:00

Format([生年月日],"yyyy/mm/dd")のように別フィールドを作ると


文字列で2007/03/01となるでしょう。これで他テーブルの値との関連はどうでしょう。
同じく別フィールドだがクエリのデザインで、式
DateSerial(Year([生年月日]),Month([生年月日]),Day([生年月日]))
なら日付になってくれると思う。
相手テーブルの日付に合わせて考えたら。
>書式設定で、秒数を見えなくする設定ではクエリは成功しませんでした
書式(見た目)と値は、エクセルのセルの場合のように、ちがうものだと思う。
普通今までの歴史的進歩の中で、今も中心は「値」で、言語、ソフトなどで比較の対象は値のほうだと思う。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
こちらの仕様等の関係で「時間」がどうしても必要となっています。

お礼日時:2008/05/18 12:59

JOIN の条件文をFormatで編集するのはどうでしょう?


どちらも「文字型」として比較。

でなければ、もう一段クエリ(orテーブル)を介在させ、「秒の無い書式」のデータを作成する、とか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
私の勉強不足で回答者様のおっしゃっていることが理解できません。
大変恐縮ですが、補足を頂ければ助かります。
お手数ですが、よろしくお願いします。

お礼日時:2008/05/18 12:58

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

このQ&Aを見た人はこんなQ&Aも見ています