dポイントプレゼントキャンペーン実施中!

よろしくお願いします。

Access2010のマクロビルダーを使って以下を作成しています。
-----------------------------------
●やりたいこと
1.フォーム内にあるリスト(項目は"1"か"2")から選択する。
2.リストを選択した後、マクロ実行ボタンをクリックする。
3.リストで!”1”を選べばクエリ1がExcel出力される。
  リストで!”2”を選べばクエリ2がExcel出力される。

●フォーム
フォーム名:フォーム1
リスト名:リスト1 (項目:"1","2")

●マクロビルダー
If [Forms]![フォーム1]![リスト1]=1 Then
アクション:「書式設定を保持したままエクスポート」
オブジェクト名:クエリ1
出力ファイル形式:*.xlsx
自動起動:いいえ
出力品質:画面

Else If [Forms]![フォーム1]![リスト1]=2 Then
アクション:「書式設定を保持したままエクスポート」
オブジェクト名:クエリ2
出力ファイル形式:*.xlsx
自動起動:いいえ
出力品質:画面

If文の最後:メッセージ「リストから選択してください」
-----------------------------------
以上を実行すると「エラー13 型が一致しません」とエラーが出てしまいます。

If文でつまずいている状況で、
検索してもなかなか有効な解決方法が見つかりません・・・。


どこを間違えているのでしょうか。

A 回答 (3件)

回答者1です。



 フォーム内にリストを設置して
 リストの

 プロパティシートで、
 値集合ソースは、1;2
 値集合タイプは、値リスト

 で、リストを選択してマクロが問題なく動きました。

 リストの
 値項目 "1","2"

 の意味がよくわかりません。

 項目を増やさずに、
 値集合ソースのみ設定すれば良いのではないでしょうか。
    • good
    • 0
この回答へのお礼

> 値項目 "1","2"
リストの項目追加画面で、1、2と入力したら、このような表示になっていました。

数値とテキストを混ぜて入力していたようで、
回答者様のを、そのままコピペしたところ問題なく動きました。

拙すぎるミスで、お恥ずかしいかぎりです。

この度は大変お手数をおかけしまして、すいませんでした。

お礼日時:2013/06/11 18:23

リストボックスコントロールのプロパティの「その他」タブ中の


複数選択→しない
にしたらどうなりますか?
最終的に10個くらいになるのなら、
Select Case やFor Next が使えるVBAの方が良さそうにも思えます。
    • good
    • 0

データ型のエラーという質問の回答ではありませんが、



フォームでマクロを使って、複数のリストをエクセル形式でエクスポート表示したいということですよね。

フォーム内にコマンドボタンを複数作られてはどうでしょうか。


コマンドボタン1に

書式設定を保持したままエクスポート
オブジェクトの種類 クエリ
オブジェクト名 クエリ1
出力ファイル形式 エクセルブック(*.xlsx)
自動起動 いいえ
出力品質 画面


コマンドボタン2に

書式設定を保持したままエクスポート
オブジェクトの種類 クエリ
オブジェクト名 クエリ2
出力ファイル形式 エクセルブック(*.xlsx)
自動起動 いいえ
出力品質 画面

として、2つのボタンを作れば、IF文を使う必要はないのではないでしょうか

この回答への補足

早速のご回答ありがとうございます!

実行させたいクエリごとに、
ボタンを複数用意するんですね。

今回は2つのクエリしか出していませんが、
今後は「10種類のクエリを選択して出力」を考えているため、
フォーム内にあまり実行ボタンが増えるのは避けたいな、と思っています・・・。

せっかく案をいただいたのに、すいません。
このまま行き詰まるようだったら、回答者様の案を使わせていただきたいと思います。

補足日時:2013/06/08 12:32
    • good
    • 0

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

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


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