• ベストアンサー

日付の抽出

yoishoの回答

  • ベストアンサー
  • yoisho
  • ベストアンサー率64% (331/516)
回答No.1

日付の年を4桁で入れると、ちゃんと抽出されませんか? だとしたら、Access(というより、JetDBエンジン)の問題に由来することです。 以前に、同じような質問にアドバイスしたことがありますので、URLを参考にしてください。

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=207731
t-tomo
質問者

お礼

日付の年を4桁でも抽出がうまくいかなかったので、早速、教えていただいたURLを参考にしたところ、うまく抽出出来ました。 どうもありがとうございました。

関連するQ&A

  • アクセス Between  Andの使い方 日付型

    フォームをテーブルに紐づけて コマンドボタンを押下したら、日付にフィルタをかけたいのですが、 0件で抽出されます。 フィールド1 2013/05/19 2013/05/20 2013/05/21 というテーブルがあり、 フォーム上のコマンドボタンのクリックイベントは Private Sub コマンド1_Click() Me.Form.Filter = "フィールド1 Between " & Date & " And " & Date + 1 Me.Form.FilterOn = True End Sub です。 2013/05/19 2013/05/20 が抽出されるべきだと思うのですが、なぜ何も抽出されないのでしょうか? エラーにもなりません。

  • VBAで日付型とテキストでフィルタをかけるには?

    テーブルのデータは フィールド1 2012/1/1 2012/1/2 2012/1/3 2012/1/4 2012/1/5 2012/1/6 2012/1/7 2012/1/8 2012/1/9 2012/1/10 フィールド2 A A A A A B B B B B です。 このクエリをもとに票フォームを作成して、 ・txt_始まりテキスト ・txt_終わりテキスト ・txt_フィールド2テキスト を作りました。 あとコマンドボタン(cmd_抽出)も作りました。 このコマンドボタンを押して 日付とテキストを抽出したいのですがVBAでのやり方を教えてください。 クエリなら ------------------------------------------------------------ SELECT テーブル1.フィールド1, テーブル1.フィールド2 FROM テーブル1 WHERE (((テーブル1.フィールド1) Between #1/4/2012# And #1/6/2012#) AND ((テーブル1.フィールド2)="A")); でできました。 ------------------------------------------------------------ しかしVBAで ------------------------------------------------------------ Private Sub cmd_抽出_Click() Me.Form.Filter = "フィールド1 Between #" & Me.txt_始まりテキスト.Value & "# And #" & Me.txt_終わりテキスト.Value & "#" & _ "' And フィールド2 like '*" & Me.txt_フィールド2テキスト.Value & "*" & "'" Me.Form.FilterOn = True End Sub ------------------------------------------------------------ をすると、 ------------------------------ 実行時エラー3075 構文エラー:演算子がありません。 ------------------------------ になります。 どうすればいいか教えてください。 結果は、 ------------------------------ フィールド1 フィールド2 2012/01/04 A 2012/01/05 A ------------------------------ です。 ご回答よろしくお願いします。

  • アクセスで期間抽出

    お尋ねします アクセスで納品書のデータベースがあります   納品書データFormには 伝票番号、日付、客先名、数量のフィールドのフォームで テキストボックス1:始めの日 テキストボックス2:終了日 コマンドボタン1:期間で抽出 が配置しています テキストボックス1,2に日付、記入後、コマンドボタン1をクリックして 所要期間でフィルターで抽出するのですがうまく行きません コマンドボタン1クリック時のコード Private Sub コマンド1_Click() Me.Filter = "日付= 'Between" & Me![テキスト1] & "And" & Me![テキスト2] & "'" Me.FilterOn = True End Sub のコードで抽出してくれません、不都合をご指摘下さい なお 指定日での抽出は以下で出来ました。 Private Sub コマンド1_Click()  Me.Filter = "日付= '" & Me![テキスト1] & "'" Me.FilterOn = True End Sub エクセルのモジュールは少しかじったのですがアクセスは 始めたばかりでなかなか要領を得ません 宜しくお教え下さい。

  • 年を条件にデータを抽出するには?

    フィールド1 2012/01/01 2012/01/02 2011/01/01 2011/01/02 2010/01/01 2010/01/02 と言うデータがあり、それをもとに表形式でフォームを作りました。 フォームヘッダーにコンボボックス(名前:コンボ3)を作り、 値集合タイプ:値リスト 値集合ソース:"2012";"2011";"2010" にしました。 コンボボックスのAfterUpdateイベントでコンボ3に表示されている値を年を抽出したいのですが vbaでどうやればいいのでしょうか? クエリは作りません。 Private Sub コンボ3_AfterUpdate() Me.Form.Filter = "フィールド1 Between #" & Me.コンボ3.Value & "# And #" & Me.コンボ3.Value & "#" & "'" Me.Form.FilterOn = True End Sub や Private Sub コンボ3_AfterUpdate() Me.Form.Filter = "フィールド1 Between #" & Me.コンボ3.Value & "/01/01" & "# And #" & Me.コンボ3.Value & "/12/31" & "#" & "'" Me.Form.FilterOn = True End Sub にすると 実行時エラー クエリ式 <式> の <メッセージ> (エラー 3075) 入力した式が、メッセージに示されている原因によって無効です。フィールド名と区切り記号を正しく入力していることを確認してから、もう一度実行してください。 となってしまいます。 2010/01/01と2010/01/02を抽出させたいです。 ご回答よろしくお願いします。

  • 日付型と文字列型、両方にフィルタをするには

    アクセス フォームで日付型(Between and)と文字列型、両方にフィルタをするには? Private Sub cmd_ボタン1_Click() Me.Form.Filter = _ "日付 Between #" & Me.cmb_日付1.Value & "# And #" & Me.cmb_日付2.Value & "#" & _ " and 会社名 like " & "*" & Me.cmb_会社名.Value & "*" Me.Form.FilterOn = True End Sub これのどこが変なのか教えていただけますか? 実行時エラー3075「クエリ式の構文エラー:演算子がありません。」というエラーになります。

  • フォームからの抽出結果をExcel出力する

    アクセス初心者です。 初歩的な質問になりますが、教えてください!! サブフォームに複数ある条件の抽出結果を表示させており、その抽出結果のみエクセルファイルに反映するようにしたいです。 ちなみに、コードは以下の通りです。 Private Sub 検索Cmd1_Click() Me!生産課マスタSub.Form.FilterOn = True Me!生産課マスタSub.Form.Filter = "[品番] Like '*" & Me!品番検索Txt & "*' And Nz([製品名]) Like '*" & Me!製品名検索Txt & "*' And Nz([品名コード]) Like '*" & Me!品名コード検索Txt & "*' And Nz([資材メーカー]) Like '*" & Me!資材メーカー検索Txt & "*' And Nz([品名]) Like '*" & Me!品名検索Txt & "*'" End Sub 望むべくは、「エクセル出力」のコマンドボタンを作成し、クリックすると抽出データのみエクセルファイルに出力されるというシステムにしたいです。 もし、コードを追加すれば簡単に反映されるということでしたら、お手数ですがコードをご提示していただけますか? また、他に簡単な方法があればそちらも教えてください。 それと、上記同様に「印刷」のコマンドボタンを作成し、抽出したデータのみ印刷出来るようにもしたいんですが、こちらのやり方も併せて教えていただけますでしょうか? いろいろネットで検索して調べてみましたが、よくわかる回答がありませんでした。。。 よろしくお願いします!!

  • 日付によるデータ抽出について

    日付によるデータ抽出について 環境: ACCESS2000 状況: メインフォーム(テキスト期間A、テキスト期間B、テキスト品番、検索ボタン)    サブフォーム(データシート)    管理テーブル( 品番  /  レンタル日  /  返却日)    ※管理テーブルは他テーブルのコピー用 やりたい事: 簡潔にいうと期間と品番による抽出。       但し、テキスト期間Bが空白の場合、テキスト期間A以降のデータ抽出。          テキスト期間Aが空白の場合、テキスト期間B以前のデータ抽出。       さらに、テキスト品番が空白の場合、期間のみでの抽出。    コード: Private Sub 検索ボタン_Click()  Dim db As DAO.Database   Set db = CurrentDb   db.Execute "DELETE * FROM 管理テーブル"   db.Execute "INSERT INTO 管理テーブル SELECT * FROM 他テーブル"  Dim 抽出条件 As String   If IsNull(Me!テキスト期間A)=False And IsNull(Me!テキスト期間B)=True And IsNull(Me!テキスト品番)= True Then    抽出条件 = "[レンタル日] <= '" & Me!テキスト期間A & "'"   End If   If IsNull(Me!テキスト期間A)=True And IsNull(Me!テキスト期間B)=False And IsNull(Me!テキスト品番)= True Then    抽出条件 = "[レンタル日] >= '" & Me!テキスト期間B & "'"   End If   If IsNull(Me!テキスト期間A)=False And IsNull(Me!テキスト期間B)=False And IsNull(Me!テキスト品番)= True Then    抽出条件 = "[品番] <= '" & Me!テキスト品番 & "'"   End If   If IsNull(Me!テキスト期間A)=False And IsNull(Me!テキスト期間B)=True And IsNull(Me!テキスト品番)= False Then    抽出条件 = "[レンタル日] >= '" & Me!テキスト期間A & "'" And "[品番]='" & Me!テキスト品番 & "'"   End If   If IsNull(Me!テキスト期間A)=False And IsNull(Me!テキスト期間B)=False And IsNull(Me!テキスト品番)= False Then    抽出条件 = "[レンタル日] Between " $ Me!テキスト期間A & " & Me!テキスト期間B And "[品番] = '" & Me!テキスト品番 & "'"   End If Me!サブフォーム.Form.Filter = 抽出条件 ← 実行時エラー2465 指定した式で参照されている'サブフォーム'フィールドが見つかりません。 Me!サブフォーム.Form.FilterOn = True End Sub 上記エラーが出てしまうのですが、まだまだ未熟で どこが悪いかわからなくて困っております。 間違っていたりと上手くないコードだとは思いますが ご教授の程宜しくお願い致します。   

  • Access2000のコマンド検索 値空白時抽出

    アクセス初心者です。 初めてデータベースを構築していますが、1つ質問があります。 いくつかの項目をコマンド検索をかけてサブフォームに表示させていますが、その項目に空白があるとデータが抽出されません。。。 具体的には下記の通りです。 以下3つの項目で検索をかけますが、3つの項目すべて値がインプットされていないとヒットしてくれません。 例えば該当する品名で検索をかけても、品名コードが空白だと抽出されません。 空白があっても検索にヒットするような条件式(コード)を教えてください!! (1)資材メーカー (2)品名 (3)品名コード Private Sub 検索Cmd1_Click() Me!資材メーカー一覧Sub.Form.FilterOn = True Me!資材メーカー一覧Sub.Form.Filter = "[資材メーカー] Like '*" & Me!資材メーカー検索Txt & "*' And [品名] Like '*" & Me!品名検索Txt & "*' And [品名コード] Like '*" & Me!品名コード検索Txt & "*'" End Sub

  • ACCESSのFILTERについて教えてください。

    いつも、お世話になっております。 以下について教えてください。 会社内のシステムのデータからACCESSでリンクを張って、日付(テキスト型)の絞り込み機能を作りたいと思い、以下のようにPGをくんだのですが、「直前の操作は取り消されました」と出て原因がわかりません。 (ちなみにYYYYMMDDの形で入力します。) Me.Filter = "[日付] >= " & Me.txt_開始 & "And" & "[日付] <= " & Me.txt_終了 Me.FilterOn = True BETWEENでやってみても同じでうまくいきませんでした。 すみませんが、原因とうまく行く対処法を教えてください。 お願いします。

  • access 

    下記はよくある、Select Caseと filterと思うのですが、 (日付が空白のものを抽出)or(全て表示)の2択としたのですが、 (全て表示)ボタンをクリックすると ほんの一瞬正しく(全て)が表示された後、フィルターされた「Case 1」の表示になってしまうんです。 下記コードは問題ありませんか? この症状の原因は何が考えられるでしょうか? -------------------------------------------------- Private Sub フレーム1_AfterUpdate() Dim varfilter As Variant Select Case Me!フレーム1.Value Case 1 varfilter = "日付 is null" Case Else varfilter = "" End Select Me.サブフォーム.Form.Filter = varfilter Me.サブフォーム.Form.FilterOn = True End Sub