• 締切済み

Access2010のフォーム作成画面にて

Access2010でのフォーム作成画面ですが、 添付画像のように選択オブジェクトの枠が 太くなってしまいましたが、これを2003のように1pxの枠にすることは可能でしょうか? オブジェクトの配置で「グリッドに合わせる」を使っておらず キーボードで1pxづつ移動させてレイアウトを調整しているため この太い枠が非常に邪魔(笑)で、何とかならないかと思っています。 所詮無理な話でしたらきっぱり諦めるのですが、 もし変更する方法をご存じの方がいれば是非教えて下さい。

みんなの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> 1pxの枠にすることは可能でしょうか? あるとすれば、  a)OSの『画面のプロパティ』の『デザイン』タブの『詳細設定』内の項目  b)Accessの「ツール(T)→オプション(O)」(Access2003以前)か、   『Officeボタン→Access のオプション(I)』(Access2007以降)の、   いずれかの項目  c)レジストリの、Access関連項目(たとえば以下)   HKEY_CURRENT_USER\Software\Microsoft\Office\(バージョン)\Access ではないかと思うのですが、残念ながらこれらの中には、該当するような ものは見当たりませんでした。 ですので、割り切ってしまうしかないのではないか、と思います。 (もっとも、その設定を行うことで初めてレジストリにキーが作成される  場合もあるので、「該当キーが見当たらない = 設定ができない」とは  断言できませんが・・・(汗)) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ どうしても、この「オレンジ色の憎いやつ」(笑)を表示させずに、キーボードの カーソルキーで微調整をしたい、という場合は、いっそツールを作成する しかないかもしれません(汗) たとえば、以下のようなコントロールを持つポップアップタイプのフォームを 作成し、このフォームから微調整したいコントロールを選択して(→デザイン ビュー上で選択するわけではないので、枠線を非表示にできる)、 カーソルキーで微調整を行う、といった感じです。 ※下記プロパティは、デフォルトの値から変更が必要なもののうち、   必要最低限の項目に絞って紹介しています。 ・・・ラベルつきコントロールだと、ラベルと本体を個別に操作するか、 独自のクラスを定義するなどして、ラベルを従属させる形にプログラムを 組むことになる・・・など、実際に使えるものにするには、かなり手間が 掛かりそうですが(汗) ※対象フォームがデザインビューかそれ以外かの判定もしていません。   そのため、下記サンプルでは、ビューに関係なく、微調整ができて   しまいます(汗) 【フォーム】 ※名前は任意でOk。  <その他>タブ   『ポップアップ』 = はい   (『作業固定』は「いいえ」)  <イベント>タブ   『開くとき』イベント = 「[イベント プロシージャ]」   『キークリック時』イベント = 「[イベント プロシージャ]」   『キーボードイベント取得』 = 「はい」 【コントロール】 ・『フォーム』コンボボックス: 対象フォームを指定  <データ>タブ   『値集合タイプ』 = 「値リスト」  <イベント>タブ   『更新後処理』イベント = 「[イベント プロシージャ]」   『ダブルクリック時』イベント = 「[イベント プロシージャ]」 ・『コントロール』コンボボックス: 対象コントロールを指定  <データ>タブ   『値集合タイプ』 = 「値リスト」  <イベント>タブ   『更新後処理』イベント = 「[イベント プロシージャ]」   『ダブルクリック時』イベント = 「[イベント プロシージャ]」 ◆コード◆ Option Compare Database Option Explicit '対象フォーム・対象コントロールを保持するための変数 '(モジュールレベル(=つまり’ここ’)での宣言が必要) Private myFrm As Form, myCntl As Control Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)   Dim nLeft As Long, nTop As Long, nAddL As Long, nAddT As Long      If Shift Then     'Ctrl/Shift/Altキーの同時押し時は対象外     Exit Sub   ElseIf myCntl Is Nothing Then     '対象コントロール未設定時も対象外     Exit Sub   Else     '対象コントロールの位置を取得     nLeft = myCntl.Left     nTop = myCntl.Top   End If   'カーソルキー毎に移動量を設定   '(それ以外のキーは対象外)   '※「±10」は適当に調節してください。   ' (pixel/twipの換算を正直にやると更に厄介になるので(汗))   Select Case KeyCode     Case vbKeyDown       nAddL = 0       nAddT = 10     Case vbKeyUp       nAddL = 0       nAddT = -10     Case vbKeyLeft       nAddL = -10       nAddT = 0     Case vbKeyRight       nAddL = 10       nAddT = 0     Case Else       Exit Sub   End Select   '上記で設定した値に基づいてコントロールを移動   Call myCntl.Move(nLeft + nAddL, nTop + nAddT)   'キー入力を取り消し   KeyCode = 0 End Sub Private Sub Form_Open(Cancel As Integer) On Error Resume Next   Dim Mem As Variant, sRS As String   '展開中の全フォームを、『フォーム』コンボボックスの   'リストに設定   sRS = "''"   For Each Mem In Forms     If Mem.Name <> Me.Name Then       sRS = sRS & ";" & Mem.Name     End If   Next   フォーム.RowSource = sRS   フォーム = Screen.ActiveForm.Name   Call フォーム_AfterUpdate End Sub Private Sub コントロール_AfterUpdate()   Dim Cntl As Control   '対象コントロールを設定/解除   If IsNull(コントロール) Then     Set myCntl = Nothing   Else     Set myCntl = myFrm.Controls(コントロール)   End If End Sub Private Sub コントロール_DblClick(Cancel As Integer)   Dim Mem As Variant, sRS As String   '対象フォームのコントロール群を、『コントロール』コンボ   'ボックスのリストに設定(フォーム未設定時は解除)   If myFrm Is Nothing Then     sRS = ""   Else     sRS = "''"     For Each Mem In myFrm.Controls       sRS = sRS & ";" & Mem.Name     Next   End If   Set myCntl = Nothing   コントロール.RowSource = sRS   コントロール = Null End Sub Private Sub フォーム_AfterUpdate()   Dim Mem As Variant, sRS As String   '対象フォームを設定/解除   If IsNull(フォーム) Then     Set myFrm = Nothing   Else     Set myFrm = Forms(フォーム)   End If   Call コントロール_DblClick(False) End Sub Private Sub フォーム_DblClick(Cancel As Integer)   '『フォーム』コンボボックスのリストを更新   '(フォームの『開くとき』イベントのコードを呼び出し)   Me.Visible = False   Call Form_Open(False)   Me.Visible = True End Sub

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセス2003 フォームが作成できない

    オブジェクト→フォーム→新規作成→オートフォーム:データシート→テーブルを選択で進んでいくと 画像のように「フォームを作成できませんでした」となります。 しかし画面の左下にフォームが出来ています。 そのフォームを×で閉じようとしたら 「フォーム1の変更を保存しますか?」と出るので「はい」を押すと、 「名前を付けて保存」が開き、フォーム名が先ほど選択したテーブル名になっています。 そのまま保存し、オブジェクト→フォームで該当のフォームを開くと、中身はからっぽです。 フィールドは何もないのに、レコード数だけは基のテーブルと同じ数だけ表示されています。 テーブル名はアルファベットのみです。 テーブルをダブルクリックする場合は、問題なく開けます。 ちなみに空のデータベースを作り、適当にテーブルを作り、 同じようにオートフォームでフォームを作ろうと思っても同じ現象が起きました。 ファイルが悪いと言うより、アクセスがおかしいような気がします。 環境は win7でアクセス2003と2007をいれています。 2007の使い方はよくわかりません。 ご回答よろしくお願いします。

  • アクセスでフォームの作り方、デザインビューで

    お世話になります アクセスのはじめのメニューで いくつかの作業選択させたい、と思っています 白紙の矩形に作業を3つばかり、コマンドボタンを  配置しる簡単なものですが 出来た結果が  画面下にレコード移動のボタン(というか、名前がわからず) 左右の矢印キーがついていて、レコードを移動する制御装置です 問題はこのいらないレコード制御の部分をカットしたいのですが これに困っています フォームの作り方は ACCESSのデータベースウィンドウを出す オブジェクト=フォーム、と選んで 新規作成を選択 次に   ・デザインビュウ-   ・フォームウィザード   ・フォーム単票フォーム   と出ますが   ・   ・ とでます はじめ、フォームウィザードをえらんでダメだったので デザインビュでやってみました、がダメでした OSはウィンドウXP、アクスァスはACCESS2003です

  • フォームレイアウトの維持

    [やりたいこと] ・フォームを修正した後も初期レイアウトを維持させたい。 [オブジェクト(一覧フォーム)の名前と構成] ・オブジェクト名:ライセンス管理 ・フォームフッダー ⇒ メモ情報、詳細 ⇒ レコードのデータ表示、フッター ⇒ コマンドボタン配置等 [困っていること(完成度追求の為に頻繁修正が発生)] ・フォームを修正「デザインビュー」後にフォームビューで開き直すとレイアウトが崩れてしまう。 ・具体的な事象:「10行表示の設定が10行より多い表示」になるみたいな。 ・フォームの表示設定:フォームのタイトルバーを右クリック、表示メニューから移動を選択し再表示されたメニューから保存を選択し修正し直しています。 以上ですが宜しくお願いします。

  • Access2000のフォームの移動について

    今までAccess2003を使っていたんですが事情によりAccess2000しか使えなくなってしまいました。 特に違いは気にせず使っていたんですが、デザインビューでのフォームの作成時、テキストボックス等の移動の際、 マウスのドラッグで移動ではなく、移動対象をマウスで選択後、キーボードの↑↓←→キーでの移動ができなくて困っています。 この移動の仕方は2000では出来ないのでしょうか? それとも何か設定方法があるのでしょうか? 知っている方がいたら教えてください。

  • Golive でオブジェクトが移動できなくなった!

    どなたかご存じの方がいれば教えてください。 Golive 4.0J / OS9.2 / iMAC 使用です。 突然に、Goliveのレイアウトグリッドに配置してある、写真や文字の移動ができなくなってしまいました。 オブジェクトを選択して動かそうとすると、つかむ「手のひら」ツールは出てきて、移動できるのですが、マウスを離すとすぐに戻ってしまいます。 なぜでしょうか! いろいろやってみたんですが.... よろしくお願いします1誰かっ! ひよ子

    • ベストアンサー
    • Mac
  • ACCESS2003を利用してフォームを作成中です。

    ACCESS2003を利用してフォームを作成中です。 コントロール(ラベル、テキストボックス)のフォントの規定値を変えたいです。 フォント(MSゴシック)フォントサイズ(12ポイント)で統一したいのです。 作成後にサイズ変更を行うとレイアウトを調整するのが大変です。 規定値をこちらで設定しておけば楽かなぁと考えたためです。 至急知りたいです。 どうぞご教授ください!!

  • Accessのフォームのみ表示させたい

    Accessを起動した際、フォームのみ表示するにはどうすればよいのでしょうか? (Accessを起動すると、オブジェクトメニュー?(テーブルやクエリ等のオブジクトを選択するウィンドウ)を表示させないで、フォームのみを表示させるには?) また、上記と同じようにして、なおかつAccessを起動させないでフォームで起動や終了といったことが出来るのでしょうか? やはりこれはVB等プログラミングでないと出来ないのでしょうか?ちなみに私はプログラミングは全く出来ません。 わかる方、教えて下さい。宜しくお願いします。

  • Accessのフォームのプロパティが表示されない

    AccessVBA初心者です。 現在Accessでフォームを作りそのフォームデザインにてオブジェクトのプロパティ操作が一切できなくなりました。 下記手段にて今まで操作していたのですがどれも現在使用できません。 (対応する操作に対して無反応) 1)グリッド上でダブルクリック 2)オブジェクト上で右クリックしたメニューからプロパティ指定 3)オブジェクトをアクティブにした状態でツールバー内のプロパティボタンクリック 環境は以下の通りです。 WindowsXP Professional Access2000(9.0.2812) 原因、対応手段等をご存知の方ご教授願います。 宜しくお願い致します。

  • パワーポイントで、オブジェクトの位置を移動させたときに、グリッドに合いません。

    パワーポイント2007で、オブジェクトの位置を移動させたときに、グリッドに合いません。 通常は、オブジェクトを移動すると、グリッド (グリッド : オブジェクトの配置に使用する格子のことです。)に合わせてオブジェクトが配置されると思います。 グリッドの設定は間隔が0.2cmで、[描画オブジェクトをグリッド線に合わせる]にチェックが付いています。 OSはVISTAです。 よろしくお願いします。

  • ACCESS97のフォームについて

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

専門家に質問してみよう