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

Sub マクロ()
DoCmd.OpenTable "Tテーブル", acViewNormal, acEdit
DoCmd.ApplyFilter , "番号 = '123'"
End Sub

Tテーブルを開き、フィルタをかけたいのですが
テーブルを開くまではできるのですが、
フィルタをかける行では
『ApplyFilter アクションの実行はキャンセルされました。』
になってしまいます。

DoCmd.OnFilter , "質問番号 = '0'"
でもエラーになり、コードの実行すら行えません。

フォームではなくテーブルにフィルタをかけるにはどうすればいいでしょうか?
よろしくお願いします。

A 回答 (3件)

何故テーブルにフィルターを掛けたいのでしょうか?



フォームでフィルターを掛けて何か不都合が有るのでしょうか?
    • good
    • 0
この回答へのお礼

テーブルでもできないかな~と思い質問してみました。

お礼日時:2009/05/19 22:45

普通に考えて・・・


> DoCmd.ApplyFilter , "番号 = '123'"
> DoCmd.OnFilter , "質問番号 = '0'"
の「番号」「質問番号」は、数字じゃなくて、数値じゃないの?
だから、「'」で囲むのは不要!って、落ちじゃないかな?
    • good
    • 0
この回答へのお礼

数値のときは「'」は不要なのですね。
ありがとうございます。
しかし
DoCmd.ApplyFilter , "番号 = 123"
ならエラーにならずに実行できるのですがフィルタはかけられませんでした。
DoCmd.OnFilter , "番号 = 0"
だとエラーになってしまいます。

お礼日時:2009/05/19 22:48

#2です



フィルタが掛からない?と、言う状況がどう言う状況なのか、判りませんが・・・
「番号」と言うフィールドが無い?とか・・・
(表題が「番号」で、フィールド名は別物って事ね)
Acc2000だと、漢字で始まるフィールド・コントロール等は、バグで挙動が怪しくて、動かない等
色々な要素が考えられます

後、確認不足だったのですが、当方Acc2002では、
> DoCmd.OnFilter , "番号 = 0"
の、OnFilterは、DoCmdの命令群の中に存在しません
ネットで調べても・・・そう言う命令が見当たりませんので、そもそもエラーが出て正解ですね
    • good
    • 0
この回答へのお礼

DoCmd.OnFilter はエラーになるのですね。
ちょっとまだうまくいかないのでもっと調べてみます。
ありがとうございます。

お礼日時:2009/05/20 21:09

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

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


このQ&Aを見た人がよく見るQ&A