フォームにテキストボックスを3ケ用意し、テキストボックス名をtxt1,txt2,txt3としました。これにコマンドスイッチを作成し、機能を再クエリと設定しました。
フォームのサブフォームに再クエリの結果を表示するようにしました。
クエリのテキストボックス1の抽出条件は
条件  [Forms]![フォーム名]![txt1]
または [Forms]![フォーム名]![txt1] Is Null
   [Forms]![フォーム名]![txt1] Is Null
テキストボックス2の抽出条件は
条件  [Forms]![フォーム名]![txt2] Is Null
または [Forms]![フォーム名]![txt2] 
[Forms]![フォーム名]![txt2] Is Null
テキストボックス3の抽出条件は
条件  [Forms]![フォーム名]![txt3] Is Null
または [Forms]![フォーム名]![txt3] Is Null
[Forms]![フォーム名]![txt3]
と設定し、テキストボックスにデータを入力し実行すると
正しい結果が得られるのですが、テキストボックスをコンボボックスに変更し、コンボボックス名をtxt1,txt2,txt3
とすると、抽出されません。
コンボボックスをテキストボックスのように扱うのには
どうするのでしょうか。教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

>コンボボックスをテキストボックスのように扱うのには


>どうするのでしょうか。教えてください。
クエリなどでの扱い自体は、コンボボックスもテキストボックスも同じです。

コンボボックスの表示内容と保存される内容が違うのでは?
コンボボックスの場合、連結列で指定された列の内容が実際の値です。
表示された内容は連結列とは異なる列の可能性が高いです。

コンボボックスのプロパティでデータの値集合ソースと連結列の内容を確認してください。

この回答への補足

うまくいきました。
ありがとうございました。
市販の参考書より「教えて」の方がレベルが高い。
これからも利用させていただきます。

補足日時:2006/09/20 11:07
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

Qコンボボックスのリスト外入力について(Access2002)

お世話になっております。
ひとつお聞きしたいのですが、Accessのコンボボックスプロパティの「リスト外入力」の設定のしかたが分かりません。
コンボボックスを非連結にして、コンボボックスより選択してフィルタをかける動作と、コンボボックスに値がなかったらコンボボックスに直接入力して新しい値を元に新規にレコードを追加すると言ったロジックを組み込みたいのですが可能でしょうか?よろしくお願いいたします。
まとめると、
(1)コンボボックスより値を選択して、フィルタをかける。
(2)コンボボックスに値が無かったら、コンボボックスに直接入力して新規レコードとして、レコードを追加する
こう言った、流れでの作業です。

Aベストアンサー

自分はAccess2000ですのでちょっと違うかも知れませんが・・・

まず、OnNotInList/リスト外入力時イベントは、、"LimitToList/入力チェック" プロパティに [Yes/はい] が設定されている場合のみ発生します。
そして、LimitToList/入力チェック" プロパティに [Yes/はい] が設定されている場合、一覧の選択項目にないテキストを入力することはできません。

これを考慮すると、次のようにすれば、リスト以外の項目が入ったときは、元のリストの一覧に追加できます。

(1)"LimitToList/入力チェック" プロパティに [Yes/はい] を設定

(2)OnNotInList/リスト外入力時イベントに次のような処理を行う。
Dim rst As New ADODB.Recordset

Set rst = New ADODB.Recordset
rst.Open "コンボボックスの元テーブル名", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

rst.AddNew
rst![追加するフィールド名] = NewData
rst.Update

rst.Close
Set rst = Nothing

Me.コンボボックスのコントロール名 = ""
Me.コンボボックスのコントロール名.Requery

とすれば、コンボボックスの元リストに新しい項目を追加できます。

フィルタをかけたければ更新後イベントでフィルタの処理をいれればよいと思います。

とりあえずご参考まで。

自分はAccess2000ですのでちょっと違うかも知れませんが・・・

まず、OnNotInList/リスト外入力時イベントは、、"LimitToList/入力チェック" プロパティに [Yes/はい] が設定されている場合のみ発生します。
そして、LimitToList/入力チェック" プロパティに [Yes/はい] が設定されている場合、一覧の選択項目にないテキストを入力することはできません。

これを考慮すると、次のようにすれば、リスト以外の項目が入ったときは、元のリストの一覧に追加できます。

(1)"LimitToList/入力チェック" プロパ...続きを読む

Q[ctrl] + [V] で書式無しテキストとして貼り付ける

PowerPoint2002を使用しています。

テキストを [ctrl] + [C] でコピーし、[ctrl] + [V] で貼り付けるときに、書式無しテキストとして貼り付ける方法はないでしょうか?

書式なしテキストとして貼り付けるには、
「編集」→「形式を選択して貼り付け」→「書式なしテキスト」と選択しますが、これでは手間がかかります。
マクロを登録すればよいのかもしれませんが、もっとスマートにできる方法がありましたら教えてください。

Aベストアンサー

こんにちは

私はテキストエディタを別に立ち上げておき,一度そこにペーストしてから再びコピーし
て,パワーポイントにペーストしています.
コピー&ペーストを2回繰り返すことになりますが,[型式を…]をやるよりは楽かなぁ~
と思っています.書式を無くしたいときはいつもこの方法を使っています.

[型式を…]のコマンドをツールバーに入れてしまうという方法もありますが,メニューか
ら選ぶという手間が省けるという程度です.

Q[Access2003]コンボボックスとリストボックスの違い

今、Access2003のフォームのコントロールの作成について勉強しています。『コンボボックス』と『リストボックス』を見て、コンボボックスは、「ドロップダウン形式でスペースを節約できる点」、リストボックスは、「一覧がすべて表示される」という意味がよく分かりませんでした。
インターネットでいろいろ調べて見たのですが….
例えば・・・・
店名ID 店名
A A店
B B店
C C店
と『コンボボックス』と『リストボックス』が表示され、ボックスの上の選択の矢印があるかないかの違いしか分かりませんでした。

(1)Access初心者なので『コンボボックス』と『リストボックス』について簡潔に教えてくださったら助かります。もしホームページで『コンボボックス』と『リストボックス』について一目で見たら違いが分かるというものが掲載されていたら教えてください。

(2)コンボボックスの「ドロップダウン形式」がよく分からないです。

Aベストアンサー

リストボックスとコンボボックスは
一覧からデータを選択する
違いは 
リストボックスは、一覧が常に表示されている
選択すれば その項目だけ色が反転するだけ

コンボボックスは、「sakura3465」さんが 気がついた
選択の▼を クリックしなければ 一覧は表示されない
一覧が表示され 選択すると その項目しか表示されない
※最初の設定にもよりますが、通常 一行分しか幅をとらないので 

Access2003を 持っていないので 画像はつけることができません
il||li _| ̄|○il||li

QOutlookで[全員に返信]をクリックすると、[宛先]と[CC]をす

Outlookで[全員に返信]をクリックすると、[宛先]と[CC]をすべて[CC]に入るように設定。

今までOutlookずっと愛用していますが、現在は最新版のOutlook2010を使用してます。

[全員に返信]をクリックすると、元メールの[送信元]と[宛先]が新メールの[宛先]に変わり、[CC]はそのまま引継ぎますが、元メールの[送信元]と[宛先]と[CC]を全部[CC]に入るように設定などありますか。

または、[送信元]だけを[宛先]にして、ほかはすべて[CC]に入ってもいいですが。

Aベストアンサー

>[全員に返信]をクリックすると、元メールの[送信元]と[宛先]が新メールの[宛先]に変わり、[CC]はそのまま引継ぎます

これって、Microsoftのメールソフトの仕様ですかね。
自分が受信したメールの宛先やCCであっても、Outlook Expressもそうなるようです。

私のメインのThunderbirdでは、自分が複数の宛先やCCに含まれている場合でも、それらの受信メールから「全員に返信」で、受信メールの「送信元」のみが、返信メールの宛先に入り、他の「宛先」や「CC」はすべてCCに表示されます。

>[送信元]だけを[宛先]にして、ほかはすべて[CC]に入ってもいいですが。

この部分での方法は、返信メールの宛先欄で、送信元以外をドラッグして選択して右クリックから切り取り、CC欄に右クリックから貼り付けするしかないと思います。

QACCESS2000のコンボボックスの初歩的な質問

ACCESS2000にて初歩的な質問なのですが、
テーブルのフィールド1に
あいう銀行
ABC銀行
いろは銀行
123銀行
の4つの銀行名があります。
これをフォームからコンボボックスを使って
選択するように構築したいのですが、コンボボックスに現れるのは
あいう銀行
いろは銀行
ABC銀行
123銀行
と並んでしまいます。
いろは銀行
ABC銀行
123銀行
あいう銀行
の順にコンボボックスにて表示させるにはどうすれば良いのでしょうか?
ちなみに、テーブルのデータの並びを
いろは銀行
ABC銀行
123銀行
あいう銀行
に変更しても、コンボボックスでは
あいう銀行
いろは銀行
ABC銀行
123銀行
と現れます。
ACCESSの初心者ですので、よろしくお願いいたします。

Aベストアンサー

こんばんは。このような場合にクエリをうまく利用するといいですよ。
まず、銀行の名前がはいったテーブルにフィールドをひとつ追加します。
新しく追加したフィールドに、自分が後でコンボボックスで並べさせたい順番に番号を入力します。あなたの場合、いろは銀行に「1」、ABC銀行に「2」、123銀行に「3」、あいう銀行に「4」を入力します。
次に、新しい選択クエリを作成し、銀行名がはいったテーブルの「銀行名」と「順番」フィールドを選択し、「順番」を昇順に並べ替え指定します。
これで、このクエリを開いたときは必ずあなたの指定した「順番」通りに銀行名が並びます。
あとは、コンボボックスの元データを、今のテーブル指定から、新しく作ったクエリ指定にしてやれば、銀行名をコントロール出来ます。
 おわかりでしょうか??ちなみに、このクエリを利用すれば、入力データの多い銀行順にコンボボックスを表示させたりすることも出来、私は結構多用してます。いずれにしても、テーブルのデータを直接利用するより、例え1テーブルに入っているデータしか利用しないときも、一旦クエリを介して利用するようにしておくと、後々便利に使える場合がありますよ。

こんばんは。このような場合にクエリをうまく利用するといいですよ。
まず、銀行の名前がはいったテーブルにフィールドをひとつ追加します。
新しく追加したフィールドに、自分が後でコンボボックスで並べさせたい順番に番号を入力します。あなたの場合、いろは銀行に「1」、ABC銀行に「2」、123銀行に「3」、あいう銀行に「4」を入力します。
次に、新しい選択クエリを作成し、銀行名がはいったテーブルの「銀行名」と「順番」フィールドを選択し、「順番」を昇順に並べ替え指定します。
これで、...続きを読む

Qエクセルでテキストファイルからフォームのテキストボックスにテキスト挿入するマクロ

マクロでフォームのテキストボックスに直接テキストファイルからテキストを挿入したいのですが出来ますか?
opentextでエクセルシートに入れてからフォームにコピーすることはできたのですが、それだと重くなってしまうので直接取り込みたいんですがうまくいきません。
VBやJAVAのreadlineのようなものは使えないんでしょうか。

Aベストアンサー

>VBやJAVAのreadlineのようなものは使えないんでしょうか。

LineInput がありますよ。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_030.html
http://rd.search.goo.ne.jp/click?DEST=http%3A%2F%2Fofficetanaka.net%2Fexcel%2Fvba%2Fstatement%2FLineInput.htm&no=2

Qaccess2010コンボボックスとリストボックスについて質問です。 テーブルに日付、タイトル、内

access2010コンボボックスとリストボックスについて質問です。

テーブルに日付、タイトル、内容のフィールドがあります。これをコンボボックスを使って2014年、2015年、2016年・・・・
と作成して、2015年を選択すると2015年度分がリストボックスに表示できるようにできますか?

ご存知の方がいればよろしくお願いします。
accessは、初心者です。

Aベストアンサー

ウィザードを使ってコンボボックスを作成してみてください。
https://support.office.com/ja-jp/article/%E3%83%AA%E3%82%B9%E3%83%88-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B3%E3%83%B3%E3%83%9C-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E9%81%B8%E6%8A%9E%E8%82%A2%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B-70abf4a9-0439-4885-9099-b9fa83517603

以下抜粋
ウィザードを使用してリスト ボックスまたはコンボ ボックスを作成する
5.コントロールに表示する値を取得する方法の確認を求められたら、次のいずれかの操作を行います。
・ほぼ変わることのない固定値リストを表示する場合は、[表示する値をここで指定する] をクリックします。

ここで
2014
2015
2016
となるように入力するだけです。

ウィザードを使ってコンボボックスを作成してみてください。
https://support.office.com/ja-jp/article/%E3%83%AA%E3%82%B9%E3%83%88-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B3%E3%83%B3%E3%83%9C-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E9%81%B8%E6%8A%9E%E8%82%A2%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B-70abf4a9-0439-4885-9099-b9fa83517603

以下抜粋
ウィザードを使用してリスト ボッ...続きを読む

Q[OfficeXP_ACCESS] フォームでのコンボボックスの連動?について 

お力添えいただきたくお願い申し上げます。

MS OfficeXP ACCESS についてです。
やりたいことは次のようなことです。

・フォームで実現したい。
・コンボボックスが3つ[都道府県][市区町村][その他]があります。
・それぞれはリストより選ぶようにしたいです。
・例として[都道府県]で47都道府県より"東京都"を選んだら、次の
 [市区町村]は東京の市区町村名が選べるようになるというものです。

ご説明不足で申し訳ございませんが、ご協力をいただければ幸いです。
よろしくお願いいたします。

Aベストアンサー

> ・都道府県(このテーブルには47都道府県を入力しました。)
> ・東京都(このテーブルには東京都の市区町村を入力しました。)
> ・大阪府(このテーブルには大阪府の市区町村を入力しました。)
都道府県テーブルには都道府県名だけで、都道県別に市町村名が入ったテーブルを作成
したと言うことですか?

であれば、市町区村コンボボックスの集合値ソースプロパティに直接テーブル名を
設定し、Requeryする方法が考えられます。

都道府県コンボボックスの更新後イベントで
Me!市町区村.RowSource = Me!都道府県
Me!市町区村.Requery
とすればどうでしょう?

こちらの方が、SQLとか考えなくて済むので簡単かもしれません。

QACCESSでコンボボックスにSQLで抽出した値を表示したい

いつもお世話になっております。
ACCESS初心者です。
テキストボックスに入力したフリガナから、あいまい検索させ抽出した
ものをコンボボックスに表示させたいのですが、うまくいきません。。
(コンボボックスに何も表示されないです)
過去の質問やネット検索でも調べたのですがイマイチ分かりませんでした。
どなたか詳しい方、ご教示いただけると嬉しいです。
OS:windowXP
ACCESS:Ver2003

Private Sub テキストボックス名_Afterupdate()
Me.コンボボックス名.RowSource = "SELECT フィールド名 FROM テーブル名 WHERE フリガナ LIKE '" & Me!テキストボックス名 & "*';"
End Sub

どうぞよろしくお願いいたします。

Aベストアンサー

もしかして、txt検索値の内容を書き変えただけで、コンボボックスの表示内容の変化を期待していませんか?
(1)txt検索値の内容を変更しても、フォーカスを移動する等の行動を取るまで、AfterUpdateイベントは発生しません。
(2)Requeryしただけではコンボボックスのリストが変化するだけで、現在の表示内容は変化しません。

AfterUpdateイベントの発生はプログラムでどうにかなるモノではありません。
Changeイベントでは1文字ずつイベントが発生するので、現実的ではないでしょう。
Requery後にコンボボックスの内容を変更したい場合は以下のコードを試してみてください。

With Me.コンボボックス名
  .RowSource = "SELECT ~略
  .ReQuery
  If .ListCount > 0 Then
    .Value = .ItemData(0)
  Else
    .Value = Null
  End If
End With

Q[Access97]フォーム上のボタン操作でチェックボックスにチェックが入るようにしたい

Accessでテーブルを元にしていない単独のフォームを作っています。
クエリで抽出条件をパラメータで入力させるのと同様に、日付を入力してレポートをプレビュー表示させるためのフォームです。
集計表を作成するレポートの名前が入ったチェックボックスがフォームにあり、クリックひとつですべてのチェックボックスにチェックを入れるボタンを設置しています。
(画面図:例)
(キャンセルなし集計ボタン)(キャンセルあり集計ボタン)
□報告書集計 □キャンセルあり報告書集計
□記録集計  □キャンセルあり記録集計
(キャンセルボタン) (レポート出力ボタン)
上図の左のふたつにはデフォルトでチェックが入っています。
キャンセルあり集計ボタン
・クリックすると右の2つにもチェックが入る。
キャンセルなし集計ボタン
・クリックすると右の2つのチェックが取れる。
これら2つの処理はVBAで Me!報告書キャンセルチェック.Value = True 等としていますが、「プロパティクリック時でエラーが発生しました」となり、うんともすんとも動きません。
レポート出力ボタン
・クリックするとそのときにチェックが入っている集計レポートをプレビュー表示する。ただしキャンセルあり~にチェックがある場合はそのすぐ左の集計は出力しない。
これもVBAで
If Me!報告書チェック.Value = True And Me!報告書キャンセルチェック.Value = True Then
DoCmd.OpenReport "報告書集計表(キャンセルあり)"
ElseIf Me!報告書チェック.Value = True Then
DoCmd.OpenReport "報告書集計表"
End If
等としてますが、やはりエラーが出ます。
VBが間違ってるのか、設定を変えてもそれをフォーム上に視覚的に反映させてないからか、それともソースとなるテーブルがないからでしょうか?

Accessでテーブルを元にしていない単独のフォームを作っています。
クエリで抽出条件をパラメータで入力させるのと同様に、日付を入力してレポートをプレビュー表示させるためのフォームです。
集計表を作成するレポートの名前が入ったチェックボックスがフォームにあり、クリックひとつですべてのチェックボックスにチェックを入れるボタンを設置しています。
(画面図:例)
(キャンセルなし集計ボタン)(キャンセルあり集計ボタン)
□報告書集計 □キャンセルあり報告書集計
□記録集計  □キャンセル...続きを読む

Aベストアンサー

>>やはりエラーが出ます。
 何というエラーが出るかがわからないと想像できませんよ。自分も特にコードにおかしいものは見当たりません。
Me!○○

Me.○○
とした方が候補がリストで出て来るので、コントロール名のミスなどがあればすぐわかると思います。


>>それともソースとなるテーブルがないからでしょうか?

 これは関係ないです。
 フォームの「更新の許可」プロパティは「はい」になっていますか?


人気Q&Aランキング