モジュールのPublic変数をクエリから参照するとき、
Public Function getdata() As Integer
getdata = 1
End Function
と記述しておけき、
クエリの抽出条件をgetdata()にしておくと
クエリの抽出条件に 「1」 と書いたのと同じになりますが、
クエリの抽出条件の欄に「1 Or 2 Or 3」とした時と同じ状況を作りだしたい時、
モジュールの方には
Public Function getdata() As Integer
getdata = 1 Or 2 Or 3
End Function
「・・・・Integer」ではマズイわけで、なんと記述したらよいか教えて下さい。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>「・・・・Integer」ではマズイわけで
戻り値をStringにすればいいんじゃないでしょうか(^^;
ただこの場合、クエリをSQLビューで見ていただくと分かると思うんですが
...where [テーブル名].フィールド名=getdata()
となりますよね。
getdata="1 or 2 or 3"とすると、展開してみれば
...where [テーブル名].フィールド名=1 or 2 or 3
となります。
正しくは
...where [テーブル名].フィールド名=1 or [テーブル名].フィールド名=2 or [テーブル名].フィールド名=3
になるのはお分かりですよね?
getdataの戻り値を"between 1 to 3"にすれば(フィールド定義が整数なら)解決しますが
例えば"1 or 4 or 7"とかしたい場合は、工夫が必要になります。
こんな感じで、フィールド名を引数として渡してやるといいかもしれません。
Public Function getdata(strField as string) As String
'「where フィールド名=」まではセットされる
getdata = "1 Or " & strField & "=2 Or " & strField & "3"
End Function
※ 抽出条件をgetdata("フィールド名")とするのを忘れずに
この回答への補足
ご丁寧にありがとうございます。
試してみましたがうまくいきませんでした。
ちなみに関数名の「Public」は不要かと(あるとうまくいかない、標準モジュールにおいてある)
「・・・・Integer」で「・・・・String」でも条件式一個だけは受け付けるのですが。
う~~ん
他の方法も考えてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Access(アクセス) accessの日付フィールドから前年度だけを取り出したい 3 2022/04/13 23:13
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 標準モジュール Public mOnTime As Date Sub sample() '実行プロシ 1 2023/02/22 15:44
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
ACCESS2003 でクエリの抽出条件に変数を代入したい。
その他(データベース)
-
AccessのWHERE句において、変数は使用できますか?
Access(アクセス)
-
-
4
VBとアクセスでSQL文に変数を使いたいのですが
Visual Basic(VBA)
-
5
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
6
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
7
VBAからクエリのパラメータを設定したいです。
その他(データベース)
-
8
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
9
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
10
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
11
フォームウィンドウを最前面に表示したい(ACCESS)
Microsoft ASP
-
12
ACCESS クエリの抽出条件を動的に変更したい。
その他(コンピューター・テクノロジー)
-
13
Access-VBAのPublic変数について =基本的な事です=
Visual Basic(VBA)
-
14
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
15
ACCESSのクエリで抽出条件「または」は9個までしかかけませんよね…
Access(アクセス)
-
16
アクセスVBAのMe!と[ ]
Access(アクセス)
-
17
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
18
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
19
フォームのテキストボックスなどの変数名を標準モジュールから参照は可能か?
Visual Basic(VBA)
-
20
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessでフィールド追加のあと...
-
AccessのDAOでフィールド名を配...
-
テーブルのデータ型の変更がで...
-
Accessのフィールド名に半角括...
-
DataTableに特定のフィールドが...
-
INT64対応のprintf系関数はあり...
-
2つ目のレコードの値を取得す...
-
クリスタルレポートで困ってい...
-
Access 2010で実行時エラー3061
-
[Access VBA] DoCmd.OpenForm ....
-
日付と文字列を条件としてDLook...
-
Accessの画像挿入のVBAコード
-
Access VBA 添付型フィールド
-
C#で変数名の取得
-
アクセスで、テーブル間のレコ...
-
ACCESSで日別集計をする場合
-
クリスタルレポートで文字列の...
-
Access 標準モジュール 条件分...
-
オートナンバー型を抽出条件に...
-
NULLを含む文字列の結合で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフィールド名に半角括...
-
DataTableに特定のフィールドが...
-
accessでフィールド追加のあと...
-
INT64対応のprintf系関数はあり...
-
2つ目のレコードの値を取得す...
-
Access 2010で実行時エラー3061
-
日付と文字列を条件としてDLook...
-
AccessのDAOでフィールド名を配...
-
SQLで複数のテーブルと結合した...
-
テーブルのデータ型の変更がで...
-
フィールド名をループの添え字...
-
クリスタルレポート(8.5)の書式...
-
AccessVBAで他テーブルのデータ...
-
アクセスでADO 並べ替えが適用...
-
Accessの画像挿入のVBAコード
-
NULLを含む文字列の結合で...
-
クリスタルレポートで文字列の...
-
ACCESSデータベースにV...
-
ノーツ:ユーザ名から別名を取...
-
Access クエリで変数を参照する...
おすすめ情報