Access2000を使っています。

フォームに配置した「TextBox1」と「TextBox2」(両者とも日付/時刻型)を引数として指定範囲の抽出をすべく

Me.Filter="検索結果 Between #"& TextBox1 &"# And #"& TextBox2 &"#"
Me.FilterOn=True
(「検索結果」はテーブルに配置したフィールドに連結)

のコードをボタンのクリックイベントに設定しました。

ところが、例えば「TextBox1」に「01/02/03」、また、「TextBox2」に「01/05/04」を入力して、ボタンをクリックしても抽出されません。
フォームに戻って、フォームのプロパティで確認するとフィルタの欄に
「検索結果 Between #01/02/03# And #01/05/04#」と表示されておりコードに間違いはないと思われますが、フォームフィルタをかけてみると、検索結果のテキストボックスに「Between #03/01/02# And #04/01/05#」という具合に日付が「日/年/月」に置き変わって表示されています。これがコードを実行しても抽出されない原因だと思われるのですか、何故、このように日付が変わってしまうのでしょうか。また、どうすれば変わらないようにできるのでしょうか。
よろしくお願いします。

A 回答 (2件)

JetDBエンジンの仕様の問題です。


以下のURL参照してください。

参考URL:http://www.microsoft.com/JAPAN/support/kb/articl …
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。教えていただいたHPを参考に修正したところ解決できました。

お礼日時:2002/01/29 14:43

Accessの2001年問題絡みだと思います。


西暦4桁で入力するようにして下さい。
2001年問題で検索するとかなりヒットしますよ。

参考URL:http://www.infonet-dev.co.jp/user/2001.html
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。4桁で入力すると解決しました。

お礼日時:2002/01/29 14:41

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qaccess 2010 先月、先々月の差 日付フィールドに西暦で2016/01/01から201

access 2010 先月、先々月の差



日付フィールドに西暦で2016/01/01から2016/10/31までのレコードを持ったものがあります。
毎月の月次報告で前月差を出します。
今のやり方は別のフィールドに10月を先月、9月を先々月と置き換え、先月-先々月のような計算式を入れています。
月が更新、レコードも更新されても、今月から見て、先月-先々月のような計算式はどのようにクエリに書けば良いのでしょうか?
記載文を教えて下さい。

Aベストアンサー

>今のやり方は別のフィールドに10月を先月、9月を先々月と置き換え、先月-先々月のような計算式を入れています。
どのような計算式を入れているのかわかりませんが
先月、先々月の開始日と終了日がわかればいいのであれば
こちらを参考に
http://ameblo.jp/nao-access/entry-11512333345.html

Qテキスト形式だけど「between a and b」を使うには?

AccessのVBAで検索するためのコードを作成しています。
とあるフィールドは形式が「テキスト形式」なんですが、
その中で「AからBの間」という検索をしたいんです。

くんでみたコードはこんな感じです。
condData = "(T_テーブル.Data between #" & Me!A.Value & "# and #" & Me!B.Value & "#)"
WhereCond = WhereCond & "and" & condData
WhereCond = Mid(WhereCond, strCount + 1)
DoCmd.OpenForm "F_検索結果", acNormal, , WhereCond

ですが実行すると、

実行時エラー'3075':

クエリ式 'and(T_テーブル.Data between # A # and # B # )' の構文エラー:演算子がありません。

とでてしまいました。
どこがダメなのでしょうか?
よろしくお願いします。

Aベストアンサー

> とのことですが「抜き出す」とはどのようなことでしょうか?

> xxx.xxxx.xxx.xxx
> ~~~~~~~~ やり方としては、この部分を抜き出して、数値型で比較するか、

インデントができないので、ちょっとわかりにくくなったですね (^^ゞ

10文字目以降を取得するという意味です。

QExelで時間計算した合計時間の33:02:00を33時間02分00秒と表示したいのですが。

困っています。
Exel使用し労働時間管理を行っていますが、計算自体は問題なく、この計算結果を○○時間○○分○○秒と表示したいのですが、ご教授をお願いします。
例えば、計算結果が223:00:02となった場合、
これを223時間00分02秒と給与明細に表示(印刷)したいのです。
秒については、表示する必要はありませんがどちらも構いません。
よろしくお願いします。

Aベストアンサー

セルの書式設定→表示形式→ユーザ定義で[h]"時"mm"分"ss"秒"を設定は如何でしょうか。

QVLOOK関数で#N/Aエラーの回避法

お伺いします。
sheet1のA列に商品コード、B列に前月実績があるとします。
sheet2に10月実績表があるとします。
sheet1のB1セルに =VLOOKUP(A1,sheet2!$A$3:$H$1200,5,0)
が入力されています。
10月に実績がゼロの時はsheet2の表にはその商品コードの行がない。

これを前提にするとsheet1のB1セルには#N/Aが表示されてしまいます。
すると合計ができません。#N/A を空白または実績なしと表示したいのです。
また、合計値を正確に出したいのです。
どうか、お知恵をお貸しください。

Aベストアンサー

ifとiserror関数との組み合わせで実現できます。
質問の式と組み合わせると

=if(iserror(VLOOKUP(A1,sheet2!$A$3:$H$1200,5,0) ),"",VLOOKUP(A1,sheet2!$A$3:$H$1200,5,0))

でエラーの時は空白が表示されます。
空白にしない場合は、"" を "実績なし" 等にします。

分かりやすく書くと
=if(iserror(評価する式), 評価する式がエラーの場合, 評価する式)

といった感じです。
詳細はヘルプを参照してください

Q「#DIV/0!」って、なんて読むか?

じだいどりーむです。

ところで、エクセルエラーの「#DIV/0!」って、
なんて発音するんですか?DIVって、何かの略ですか?
ご教示願います。

Aベストアンサー

division by zero
ですね。ゼロで割り算しようとしたからできないよ!って意味です。


人気Q&Aランキング

おすすめ情報