外出自粛中でも楽しく過ごす!QAまとめ>>

ACCESS2010にて顧客情報登録フォームを作成しています。
フォームのサイズ調整なのですが、フォームを開いたとき、フォームウィンドウがデザインビューで指定したフォームの幅と高さになるようにしたいです。

初期表示での反映で構いません。
その後、最大ボタン及びマウスなどでサイズを変えるときはタイトルや入力フォームが
画面中央に寄るよう自動的に調整されてくれればと考えています。

下記URLなど参考に以下をやってみたのですが、全く反映されず
直前に開いたアクセスウィンドウのサイズを踏襲するように表示されます。
フォームのプロパティの設定で調整できないのでしょうか?
ご教示のほう、よろしくお願い致します。


フォームプロパティの「サイズ自動修正」を「はい」、「自動中央寄せ」を「はい」
http://m.chiebukuro.yahoo.co.jp/detail/q14309366 …

A 回答 (1件)

もしかして、


ファイルタブ→オプション→
カレントデータベース→ウィンドウを重ねて表示する
ではなくタブ付きドキュメントを選択していませんか?
(デフォルトではタブ付きドキュメントです。)
    • good
    • 0

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

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

このQ&Aを見た人が検索しているワード

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

Q起動時のフォームの大きさ?

教えてください。

Access2000です。起動時の設定でフォームを指定しました。画面の4分の1程度の大きさのフォームなのです。起動するとAccess自体のウィンドウが最大化になっていてそのグレーの背景の中にポツンと小さなフォームがあります。かっこよくないんです。

Accessのウィンドウをなんとかこのスタートフォームの大きさに合わせることってできませんか?サイズ変更してピッタリにしたのですが、再度、起動させるとちょっとずれてしまってスクロールバーが表示されてしまいます。これってやっぱり無理なのですかねぇ~。

あと、起動時の設定のなかのすべてのチェックボックスをはずしたのですが、一番上のメニューバーだけは消えません。どうしたら消えるのでしょうか?

見た目にこだわる私としては以前から許せない部分でした。
みなさんのご指導、お待ちしています。
どうしたら、かっこよく出来るでしょうか?

Aベストアンサー

ちょっと状況により異なると思いますが。。。
サイズ変更は工夫次第、メニューバーは必ず消えます。

(1)サイズ変更
・フォーム全体のプロパティシートで、[書式]タブ→[サイズ自動修正]を「いいえ」にしたらどうでしょう。
または
・フォームを開いて、サイズ修正だけ(!)操作してください。直後に上書き保存をします。(Ctrl+Sなど)

どちらかの方法でうまく行くハズです。

(2)メニューバーを消す
ちょっとステップが多いです。
1.ツールバーのユーザー設定画面を出します。
2.[ツールバー]タブで[新規作成]をします。
3.テキトーな名前で[OK]を押します。
4.作成したツールバーが選択されている状態で[プロパティ]ボタンを押します。
5.「種類(E):」の部分を[メニューバー]に変更します。
ここまで行ったら、起動時の設定です。
1.起動時の設定画面を出します。
2.「メニューバー(M):」で、作成したツールバーを選択します。
あとは再起動してみてください。
既定のメニューバーじゃなくって、真っ白なメニューになっています。
さらにもう1つ!
1.真っ白なメニューバーの適当な部分を、Accessウィンドウにドラッグしてください。
2.閉じるボタンを押して、消してください。
もう一度再起動をします。
もうメニューはなくなっているハズです。

Accessというのは、既定メニューバーを消すことができないんです。そこで、今回の操作ではダミーの真っ白なメニューを作成して、それを消してしまうことで、Accessの既定メニューを回避しています。

分かりにくかったら申し訳ないですが、チャレンジしてみてください!

ちょっと状況により異なると思いますが。。。
サイズ変更は工夫次第、メニューバーは必ず消えます。

(1)サイズ変更
・フォーム全体のプロパティシートで、[書式]タブ→[サイズ自動修正]を「いいえ」にしたらどうでしょう。
または
・フォームを開いて、サイズ修正だけ(!)操作してください。直後に上書き保存をします。(Ctrl+Sなど)

どちらかの方法でうまく行くハズです。

(2)メニューバーを消す
ちょっとステップが多いです。
1.ツールバーのユーザー設定画面を出します。
2.[ツールバー]タブで[...続きを読む

QAccessのRefresh・Requery・Repaintの違い

Requeryはもう一度ソースレコード(テーブル)を読み込むようです。このとき、テーブルの先頭レコードに移動してしまいます。
Refreshは最新のレコード(テーブル)を再表示するような気がします。レコードの移動は起こらない気がします。
Repaintは、VBAでキャプションなどを変更したとき使っています。
でも、よくわかっていません。
どんなときにどんなメソッドを使えばいいのでしょうか?
詳しい方、よろしくお願いいたします。

Aベストアンサー

たびたびすみません。
調べてたらこんなのがでてきました。
http://www.nurs.or.jp/~ppoy/access/access/acF007.html

参考URL:http://www.nurs.or.jp/~ppoy/access/access/acF007.html

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

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

Aベストアンサー

ツールメニュー
”起動時の設定”を開き

フォーム/ページの表示にて起動時に表示させたいフォームを選択すれば、そのMDBを開いた時に、該当のフォームが表示されます。

メニュー画面等を作り、各処理のフォームを開いたり、アクセスを終了するマクロを呼び出すボタンを作ればフォームからの終了等も可能です。

また、データベースウィンドウの表示のチェックボックスを外せば、質問者様の言われているオブジェクトメニューは表示されなくなります。

メンテナンス等を行いたい時はshiftキーを押下しながら立ち上げればデータベースウィンドウが表示できます。

QAccess2007では、フォームのウィンドウの大きさを変更できないの

Access2007では、フォームのウィンドウの大きさを変更できないのですか?
Access2003からやっと2007に移行したばかりで、基本操作に慣れないのですが、
2007のタブのような画面ではなく、2003のようにフォームウィンドウの大きさを指定したいのですが、
可能でしょうか?

以下は2003でのウィンドウ幅の指定ですが、2007ではこれを実行しても変更しません。

'ウインドウを設定値に戻す
With Forms(strFrmName)
.InsideHeight = 4000
.InsideWidth = 5000
End With

Aベストアンサー

あと考えられるのは、

フォームのプロパティ
(1) サイズ自動修正
(2) ポップアップ
(3) 作業ウィンドウの固定

の各プロパティの設定。
もしくはSPのバージョンを上げる、くらいですが。

QAccess サブフォームでの選択行の取得

こんにちは。

Access初心者です。

サブフォームでテーブルの項目を表示させていますが、
選択された行を取得する方法はありますか?
サボフォームの下の方に現在選択されているレコード数が表示されてますが、その値でかまいません。

調べているのですが、なかなか検討がつきません。
宜しくお願い致します。

Aベストアンサー

フォーム名がフォーム1、サブフォームコントロールの名前がサブフォーム1だとすると、

Forms!フォーム1!サブフォーム1.Form.CurrentRecord

で取得できます。
(「Forms」と「Form」がありますのでご注意下さい)


また、フォーム1にコードを記述する場合であれば

Me!サブフォーム1.Form.CurrentRecord

サブフォーム1へのコード記述であれば

Me.CurrentRecord

という構文によっても、それぞれ取得が可能です。

QAccessで別テーブルの値をフォームに表示したい

初めてのAccessで分からない事があり質問させてください。

<会社テーブル>
会社ID
会社名
住所

<社員テーブル>
会社ID
社員名
ソート番号

*1社に対し複数の社員レコードが存在

以上のようなテーブルがあるとします

現在「会社テーブル」を表形式で一覧表示しています
会社ID,会社名、住所とフィールドが並んでいるのですが、その後ろに「社員テーブル」のソート番号が一番若い社員名を表示したいと考えています(現状は番号関係なく表示させる方法すら分かりません)

色々いじくりまわしたのですが、初めてAccessをさわる事もあってよくわかりません

リレーション等でひっぱってくる事ができるのでしょうか?

どなたか教えて頂けませんでしょうか

何卒よろしくお願い致します

PS.Access2013で作成中です

Aベストアンサー

単純にテーブル[会社]のみでフォームを作成し、社員表示用テキストボックスを追加。そして、そのプロパティを表示し

コントロールソース=DBLookup("SELECT 社員名 FROM 社員 WHERE 会社ID=" & [会社ID] & " ORDER BY ソート番号")

これは、以下の標準モジュールに登録したユーザ関数 DBLookup()を使っています。これで、クエリを用意しなくても目的を達成できます。

さて、かかるユーザ関数を標準ライブラリに登録したくない場合、

1、"社員ソートクエリ"を作成します。

SELECT 社員.会社ID, 社員.社員名
FROM 社員
ORDER BY 社員.ソート番号;

2、コントロールソースに次のように書きます。

=DLookUp("社員名","社員ソートクエリ","会社ID=" & [会社ID])

http://office.microsoft.com/ja-jp/access-help/HA001228825.aspx

DLookup()については、マイクロソフトの解説を参照されてください。

【DLookup()の限界を破るにはVBAで同じ関数を作るしかない】

マイクロソフトの解説を読めば判りますが、ORDER BY 節を指定する引数が用意されていません。ですから、どうしても、"社員ソートクエリ"を作成するという手間が必要となります。そこで、SQL文を引数とするDBLookup()をVBAで書けば、その手間を省けるという算段になります。この辺りは、好みと趣味の問題。どっちでも良いと思います。そういうお断りをした上で DBLookup()を紹介しておきます。なお、ADOは、つぎのように参照設定しないと利用できません。

http://www.happy2-island.com/access/gogo03/capter00307.shtml

Public Function DBLookup(ByVal strQuerySQL As String, _
             Optional ByVal ReturnValue = Null) As Variant
On Error GoTo Err_DBLookup
  Dim DataValue
  Dim rst     As ADODB.Recordset

  Set rst = New ADODB.Recordset
  With rst
    .Open strQuerySQL, _
       CurrentProject.Connection, _
       adOpenStatic, _
       adLockReadOnly
    If Not .BOF Then
      .MoveFirst
      DataValue = .Fields(0)
    End If
  End With
Exit_DBLookup:
On Error Resume Next
  rst.Close
  Set rst = Nothing
  DBLookup = IIf(Len(DataValue & ""), DataValue, ReturnValue)
  Exit Function
Err_DBLookup:
  MsgBox "SELECT 文の実行時にエラーが発生しました。(DBLookup)" & Chr$(13) & Chr$(13) & _
      "・Err.Description=" & Err.Description & Chr$(13) & _
      "・SQL Text=" & strQuerySQL, _
      vbExclamation, " 関数エラーメッセージ"
  Resume Exit_DBLookup
End Function

単純にテーブル[会社]のみでフォームを作成し、社員表示用テキストボックスを追加。そして、そのプロパティを表示し

コントロールソース=DBLookup("SELECT 社員名 FROM 社員 WHERE 会社ID=" & [会社ID] & " ORDER BY ソート番号")

これは、以下の標準モジュールに登録したユーザ関数 DBLookup()を使っています。これで、クエリを用意しなくても目的を達成できます。

さて、かかるユーザ関数を標準ライブラリに登録したくない場合、

1、"社員ソートクエリ"を作成します。

SELECT 社員.会社ID, 社員.社員名
FR...続きを読む

QAccessのフォームで作業領域を小さくしても表示される画面が大きい

Accessのフォームを使用して、簡易的なメニューフォームを作成しています。コマンドボタンを配置して、アプリケーション終了ボタンを配置したり、フォームを呼び出すボタンを配置したり・・・・
最終的には小さなメニューフォームを表示させたいと思います。
そのためにデザイン画面で作業領域(方眼状のもの)を小さくしてデザインしたのですが、保存して確認してみると、ある大きさから小さくなりません。
作業領域を小さくしてデザインしても、ビューで確認する画面は一定の大きさから小さくなりません。
どこかに設定があるのでしょうか?
よろしければご指導いただくようお願いいたします。

Aベストアンサー

境界線スタイル=サイズ調節可

この設定になっていませんか?

QACCESSでフォームを使って、テーブルを参照、データ入力、データ更新をしたいのです

フォームを使って、テーブルを参照、データ入力、データ更新をしたいのです。

売上テーブル

 ID   商品コード  日付    金額 
 1    G1     20080101  532153
 2    G1     20080101  564281
 3    G1     20080301  538123
 4    J4     20080301  124531
 5    J4     20080302  125483

ID:オートナンバー 商品コード:数値型 日付:数値型 金額:数値型

これを使い、
フォームではまず

レコードナンバーを入力画面
       ↓
レコード番号を入れると、そのレコードのデーターが画面に表示され、
その画面で修正可能
       ↓
 保存 ボタンで保存

という流れです。

レコードナンバーはIDを使おうと思っています。

データの量が莫大な為、コンポボックスなどは使えません。

できるだけ、VBAなどは使わずに作りたいです。

よろしくお願い致します。

フォームを使って、テーブルを参照、データ入力、データ更新をしたいのです。

売上テーブル

 ID   商品コード  日付    金額 
 1    G1     20080101  532153
 2    G1     20080101  564281
 3    G1     20080301  538123
 4    J4     20080301  124531
 5    J4     20080302  125483

ID:オートナンバー 商品コード:数値型 日付:数値型 金額:数値型

これを使い、
フォームではまず

レコードナンバーを入...続きを読む

Aベストアンサー

まずそのテーブルを基にしてフォームを作成します。
そのフォームのヘッダー部分にテキストボックスを配置後、一旦
上書き保存。
フォームのレコードソースを
SELECT *
FROM テーブル名 WHERE ID=[Forms]![フォーム名]![テキストボックス名]
とします。
次にテキストボックスの更新後処理に
Me.Requery
とすれば完成です。
フォームを開いてテキストボックスにID入力後エンターしてください。

保存に関しては、コマンドボタン作成後クリック時イベントに
DoCmd.RunCommand acCmdSaveRecord
とすれば良いでしょう。

この手のモノは検索すれば相当数ヒットするので、そちらを参考にされるのもよろしいかと。

Qアクセスのフォームのサイズ

いつもお世話になっております。

さて、今アクセスで簡単なデータベースを作成しておりますが、フォームのサイズをデザインビューで1つ1つ調整するのがかなり面倒です。フォームの大きさをジャストフィットで調整してくれるような機能はないでしょうか。

宜しくお願いいたします。

Aベストアンサー

再度のShadowMoonです。
VBAコードは下記の方がわかりやすいかもしれません。

Private Sub Form_Open(Cancel As Integer)

Dim 左上隅の水平位置 '単位(cm)
Dim 左上隅の垂直位置 '単位(cm)
Dim フォームの幅 '単位(cm)
Dim フォームの高さ '単位(cm)
Dim right '単位(twip)
Dim down '単位(twip)
Dim width '単位(twip)
Dim height '単位(twip)

'フォームのサイズ、位置は下記数値を修正(単位はcm)
左上隅の水平位置 = 5
左上隅の垂直位置 = 3
フォームの幅 = 10
フォームの高さ = 15

'設定データ(cm単位)をtwip換算してフォーム、サイズを修正する処理
right = 左上隅の水平位置 * 567
down = 左上隅の垂直位置 * 567
width = フォームの幅 * 567
height = フォームの高さ * 567
DoCmd.MoveSize right, down, width, height

End Sub

以上ご参考まで。m(__)m

再度のShadowMoonです。
VBAコードは下記の方がわかりやすいかもしれません。

Private Sub Form_Open(Cancel As Integer)

Dim 左上隅の水平位置 '単位(cm)
Dim 左上隅の垂直位置 '単位(cm)
Dim フォームの幅 '単位(cm)
Dim フォームの高さ '単位(cm)
Dim right '単位(twip)
Dim down '単位(twip)
Dim width '単位(twip)
Dim height '単位(twip)

'フォームのサイズ、位置は下記数値を修正(単位はcm)
左上隅の水平位置 = 5
左上隅の垂直位置 = 3
フォームの幅 = 10
フォーム...続きを読む

QACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ

ACCESSで空白のデーターをクエリで判定/識別する方法を教えてください。
EXCELでは空白を""で判定/識別表していますがACCESSではどうなるのでしょうか。

下の例はフィールドに試験番号があればその番号を、空白なら”欠席”と表示しようとしています。
IIf(([試験番号]="空白の場合何を入れる?"),[試験番号],"欠席")

Aベストアンサー

もうひとつの書き方は
式1: IIf([試験番号] Is Not Null,[試験番号],"欠席")
第2、第3引数の、質問の順序にあわせるとこうなる。


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

人気Q&Aランキング