• 締切済み

ACCESSのフォームについて

アクセスのフォームについて教えてください。 前にも質問したのですが、質問の仕方が悪かったようなので再度お願い致します。 DATAというテーブルがあります。DATAテーブルをフォームに以下のように表示したいと考えています =====================================================================   DATA選択画面 部門 日時 件数 区分 選択 ------------------------------- --- --- --- --- □ ←チェックボックス --- --- --- --- □ --- --- --- --- □ --- --- --- --- --- --- --- --- □ ------------------------------- ==================================================================== 区分が1のものは普通に表示して、区分が2のものは字の色を灰色にして、チェックボックスを表示せずにチェックできないようにしたいのですが... ---の明細の部分(DATAテーブル)を順番に区分を判断しながらフォームに 表示していくということは可能でしょうか? ちなみにクエリオブジェクトは使用しないのが前提です。 SQLクエリはOKです。 VBAでこのようなことは可能でしょうか? かなり切羽詰っています。宜しくお願い致します

みんなの回答

回答No.2

フォームを帳票の形で既に作成されている前提でご説明します。 >区分が1のものは普通に表示して、区分が2のものは字の色を灰色にして、 どこのフィールドかわかりませんが、仮に部門のフィールドとして、 通常の表示でもデザインビューでもかまいませんが、 (1)部門のフィールドを選択して、 (2)書式メニューから条件付き書式を選択し、 (3)条件付き書式のダイアログボックスで、 条件1の下を”式”に変更し、 その右の欄に[区分]="1"と入力し、 フォントの色を灰色(Aと書いてあるボタンの右に▼をクリックして灰色を選択) OKをクリック でできます。 >チェックボックスを表示せずにチェックできないようにしたいのですが... 条件によって表示しない方法はわかりませんが条件によって操作できないようにはできます。 デザインビューで、チェックボックスのプロパティを表示し、 フォーカス取得時のイベントで、 Private Sub 選択_Enter() If Me.区分 = "2" Then MsgBox ("区分が2です。") Me.区分.SetFocus End If End Sub とすれば、区分が2の場合にフォーカスが区分フィールドに移るのでチェックボックスの操作はできません。 ご参考になれば幸いです。m(__)m

noname#85865
noname#85865
回答No.1

少し試してみたのですが、おそらくできないのではないでしょうか。 質問の意味は、チェックボックスのvisibleプロパティをレコード毎に変えるということでしょう。 チェックボックスというコントロールは全てのレコードで同じだから、同じプロパティの値が適用されてしまいます。 レポートだったら可能だと思います。

関連するQ&A

  • ACCESS97のフォームについて

    アクセス97のフォームについて教えてください。 前にも質問したのですが、アクセスのバージョンの記述を忘れていましたので 再度ご質問させていただきます。 DATAというテーブルがあります。DATAテーブルをフォームに以下のように表示したいと考えています =====================================================================   DATA選択画面 部門 日時 件数 区分 選択 ------------------------------- --- --- --- --- □ ←チェックボックス --- --- --- --- □ --- --- --- --- □ --- --- --- --- --- --- --- --- □ ------------------------------- ==================================================================== 区分が1のものは普通に表示して、区分が2のものは字の色を灰色にしたいと考えています --- の明細の部分(DATAテーブル)を順番に区分を判断しながらフォームに 表示していくということは可能でしょうか? ちなみにクエリオブジェクトは使用しないのが前提です。 SQLクエリはOKです。 アクセス2000であれば条件付き書式でこのようなことが可能だということは 分かっているのですが...97で出来るのでしょうか? かなり切羽詰っています。宜しくお願い致します

  • access,フォームで最新のコンボ内容が反映不可

    フォーム入力時、顧客や商品データが無い場合、フォームを開いたままで、そのテーブルを開き、顧客や商品データを入力、閉じます。 フォームでは、顧客や商品データはコンボボックスで選ぶ用にしていますが、それにテーブルに新たに入力したそのデータが出てきません。 フィールド→更新、やフォームを閉じ開きすれば、現れます。 これを、例えばボタンを作成し、テーブルにデータ追加後、ワンクリックで、フォームのコンボボックスに新入力データを反映させるにはどうすれば良いのでしょうか(SQLの方が良いか?)。 また、フォームのコンボボックスのデータは、フォームを開いた時のテーブルやクエリのデータそのままで、コンボボックス選択時に再読み込みなどはしないのでしょうか? 正確にはコンボボックスのデータは順の関係でクエリで整順させたものです。 access2000でwindows2000です。 宜しくお願いいたします。

  • Accessのフォームとテーブルについて教えてください。

    Access2003を使用しています。 既存のフォームAにフィールド3個を増やしました。 フォームAはテーブル(1)と連動していました。 追加したフィールドはテーブル(6)のものです。 ところがフォーム上で追加フィールドに入力が出来なくなりました。3フィールドのうち、ひとつはコンボボックスです。表示はされますが確定ができません。 フォームAのSQLステートメントではテーブル(1)・(6)以外にテーブル(2)・(3)・(4)・(5)が結合されています。 フォームAからするとテーブル(2)・(3)・(4)・(5)のデータはIDの名称を見るための参照用です。 テーブル(6)は、追加フィールドのコンボボックスが参照用で、他の2追加フィールドは、フォームから入力してテーブル(6)に反映させたいものです。 テーブル(6)の画面では入力できます。 フォーム上からは入力できません。 設定が何か欠けているからでしょうか? 他の質問では2つのテーブルをひとつのフォームにする場合は、クエリを別に設けた方がいいとなっています。フォームが出来上がっているので、できればクエリを設けずに行いたいのですが、よくない方法でしょうか? 手順なども踏まえて教えていただけると助かります。 よろしくお願いいたします。

  • Accessのフォームについて教えて下さい

    Access 2010のフォームについてお教え下さい。 テーブルにはテーブル名T1、フィールド「ID」、「Price」というテキストボックス。2フィールドがあります。 テーブルの各データは、 ID,Price 001,100 002,200 003,300 フォームにはにフォーム名F1、「cmb」というコンボボックスと、「price」というテキストボックスが配置されています。 「cmb」のデータは値集合ソースで、「SELECT T1.ID FROM T1;」と指定しています。 「cmb」で選択したデータのプライスを「Price」テキストボックスに表示したいと思います。 例えば、「001」を選択したら、「100」と表示されるようにしたいと思います。 色々調べているのですが、どうやってやるのかわかりません。どのように実現したらよろしいでしょうか? よろしくお願いいたします。

  • Accessのフォーム

    Access2003を使用しています。 テーブルまたはクエリを元に作成したフォームにはテーブル・クエリに入力されているデータが表示されますよね? それらのデータをフォームから変更出来ないようにする方法はありますか? データ自体を非表示(入力用フォーム)にするのではなく、既存のデータは表示されるけど変更は出来ないという状態にしたいです。 ちなみに新規入力は行えるようにしておきたいです。 よろしくお願いします。

  • Accessのフォームで値が見た目変更されない

    はじめまして、こんにちは。 Accessを使用して自社ツールを作成しています。 バージョン:Access2003 OS:WindowsXP フォームのレコードソースに、あるテーブルを連結させて一覧にして表示しています。 複数のコンボボックスを用意して、選択された値によって検索をかけ、 レコードソースの値を書き換えて再表示しています。 この検索はコンボボックスの更新後処理にVBAでSQLを記述して行っています。 Dim str_sql As String str_sql = str_sql & "select * from T_テーブルA where ○○コード = 1" Me.RecordSource = str_sql かなり省略していますが、実際はコンボボックスで選択された値によって SQLを生成しています。 フォームにはtxt_件数という名前でテキストボックスを用意してあります。 レコードソースを設定した後に、同じ条件でカウントし件数を表示しようと しているのですが、これがうまくいきません。 Me!txt_件数 = Nz(DCount("*", "T_テーブルA", "○○コード = 1"), 0) 件数が1件でもある時は正しい値が表示されます。 0件の場合は前回の表示のまま見た目上かわりません。 例) 1回目の検索で200件→テキストボックス[200]と表示 2回目の検索で0件→テキストボックス[200]と表示 3回目の検索で10件→テキストボックス[10]と表示 このような感じです。 ただし、実際は正しい値[0]が設定されているみたいです。 別のウインドウを一度フォームにかぶせて避けると[0]になりますし、、 2回目で[200]と表示されているものをコピーすると[0]がコピーされます。 Me!txt_件数 = Nz(DCount("*", "T_テーブルA", "○○コード = 1"), 0) If Me!txt_件数 = 0 Then Me!txt_件数 = 0 End If 馬鹿げていますが、このようにしても正しく[0]が表示されませんでした。 Accessを再起動しても状態は変わらず、困っています。 環境の問題でしょうか? 解決策など解る方いらっしゃいましたら教えてください。 よろしくお願いいたします。

  • アクセスのフォームについて

    アクセスのフォームについて2件質問させてください。 その1 クエリーからあるフォームを作っていますが、元になるクエリー(テーブルにも)には項目がなく、ただそのフォームに表示されればいいというデータをそのフォーム上で入力したいのです。 そこで非連結でテキストボックスを作ったのですが、1ヶ所に入力するとどのページにも同じデータが表示されています。 それぞれのページに違うデータをフォームから直接入力するにはどのようにしたらいいでしょうか? その2 大変むずかしい依頼がきて悩んでいます。 フォームでラベルや図形で1ヶ月を3等分した簡単な図を作り、 フォーム上のある日付をその図の中に●や▲で表示したいのです。 イメージは下のような感じですが、このようなことは可能でしょうか?      2002/3       2002/4           ┃  │   │  ┃  │ ● │  ┃   以上2件一緒にして申し訳ございませんが、ご存知の方がいらっしゃいましたらよろしくお願いします。

  • ACCESSのフォームだけを起動する方法

    ACCESS2000のVBAにて、管理システムのようなものを作成しました。  このままクライアントに渡すと、新規にテーブルを作ったり、新規にクエリを作成したりと、せっかくのデータベース、レポートがぐちゃぐちゃになりそうな気がします。  そこで、おききしたいことがあります。   ・フォームだけを表示できないでしょうか。    ※ACCESS起動後、フォームだけが起動する。    その他、メニューは表示させない。    (テーブルからのデータ入力、フィールド追加、クエリ作成をできないようにする)    "F11"キーでのメニュー表示も無効にする。 データベースは、SQLからテーブルリンクしております。 どうぞよろしくお願い致します。

  • Accessのフォームについて教えてください。

    こんばんは。アクセス入門者です。 入門書やできるシリーズなどいくつかのアクセスの本を見たのですが、 フォームについて、理解できません。 ●担当者マスタ ■客先マスタ ★コードマスタ ▲売り上げ計画マスタ ◎売上げ結果マスタ テーブルを作り、それぞれのテーブルから必要な項目を集めて、クエリを作成しました。思ったとおりの結果になったので、これを元にフォームを作成しました。 思ったとおりの結果が表示されるのですが、このフォームに入力が出来ません。できなかったので、次の方法を試しました。 ★コードマスタと▲売り上げ計画マスタのデータをサブフォームに配置しデータを追加させようと思って、あらたにフォームを作りました。やはり、思ったとおりの表示はされるのですが、追加ができないのです。それぞれのテーブルには、★コードマスタを主にそれぞれ、一対多にリレーションを組んでいます。 1つのフォームで色々なテーブルに結果を反映できるように、参照整合性の更新、削除にもチェックを入れました。 この考えは間違っているのでしょうか。 ○○マスタとあるように、それぞれ1つのテーブルに1つのフォームにしなければならないのでしょうか。 複数のテーブルから取り出したデータの更新は無理なのでしょうか。 ある程度、クエリまで完成したのにフォームでつまずいて苦しんでいます。ご解答宜しくお願い致します。

  • アクセスコンボボックスで教えてください。

    アクセス初心者です。 設備の修理情報を登録する、簡単なデータベースを作成しています。 修理履歴テーブル  修理ID(オートナンバー)  発生日  設備No.  実施区分ID 実施区分テーブル  実施区分ID  区分名       001     実施済    002     未実施 実施区分IDはリレーションシップを組んでいます。 その他、修理履歴テーブルを基に、修理履歴クエリを作成、 情報を登録するフォームを作成しました。 基になるクエリを修理履歴クエリにし、デザインビューで 修理履歴を閲覧することができるフォームを作成、 実施区分は、実施済・未実施とを選択できるように コンボボックスで作成、表示することができました。 しかし、完成後、あるレコードのコンボボックスで未実施を選択後フォームを閉じ、次にまたそのフォームを開くと、実施済の全レコードが未実施表示になってしまいます。 また、実施区分テーブルの区分名、実施済が未実施に変わってしまっています。 どのようにしたら、選択したレコードだけ、未実施表示にし、実施区分テーブルの区分名も変らずに済むのでしょうか? よろしくお願いします。

専門家に質問してみよう