Access97および2000を使っています。
フォームやレポートでレコードを表示または出力すると必ず上揃えになってしまうのですが、行の真中に配置することはできないのでしょうか?

A 回答 (1件)

こんばんは^^



1.中央揃えしたいコントロールを選択
2.プロパティを表示(マウスポインタが「手」の形になったときにダブルクリック
又は、「表示」メニューから「プロパティ」を選択)
3.「書式」タプを選択
4.「上余白」で調節する
(ちなみに、横位置は、「文字配置」で変更できます)

テキストボックスならこれでできると思います。
    • good
    • 1
この回答へのお礼

kurumi77さん、またまたこんばんわ。
こんなに単純なことだったんですね。VBAで書かなければならないと思っていました。あまりにもシンプルな方法で眼からウロコです。
感謝感激。ありがとうございます。今後ともどうぞよろしくお願いします。

お礼日時:2001/12/08 23:11

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

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

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

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

Qアクセスのフォームで、文字を中央揃えにしたい

アクセスのフォームに文字を入力しています。
文字が見にくいので、縦を中央揃えにしたいのです。横位置は出来るのですが、縦位置の中央揃えが出来ません。

教えていただけませんか。

Aベストアンサー

こんにちは。

残念ですが、縦方向の中央揃えは出来ません。

> 文字が見にくいので
テキストボックスのプロパティに「左余白」「上余白」「右余白」「下余白」「行間」がありますので、
これらを利用すれば見やすく仕上げることが出来ると思います。

Q新規レコード行を非表示にしたい

帳票形式で入力フォームを作成しています。

登録No(○○~△△)を入れると、入力レコード数(○○~△△)が制限されるようにしました。でも、フォーム上には新規レコード行が表示されていて邪魔なんです。新規レコードインジケータ(*表示)という奴です。

ユーザーが入力する際、紛らわしいので、新規レコード行ごと消したいのですが、そんなことできるのでしょうか? お知恵をお貸し下さい!

ちなみに、環境はAccess2002で、クエリをレコードソースにしてフォームを作成しています。

Aベストアンサー

フォームのプロパティの「追加の許可」を「いいえ」にしてみてください。

フォームのプロパティは、フォームの左上角の四角の部分をクリックして
表示できると思います。
(Access97の環境での確認なので異なるかもしれませんが)

Qフォームテキスト内文字の縦位置調整は?

お尋ねします。
Access2000で作ったフォーム内のテキストボックスに入力した文字の「縦位置」調整をする方法はあるでしょうか?
たとえば、上詰め、中央揃え、下詰めなどの調整です。
よろしくお願いします。

Aベストアンサー

Accessでの横の文字位置の調整は左・右・中央・均等のみです。
縦の位置調整は上余白か下余白の数値を入れなければ出来ません。中央揃えとかではなくフィールド内の上または下からの余白数値の入力になります。

QAccessのレポートでのテキストボックス等の位置調整について

現在、Accessのレポートを作成しています。
複数のテキストボックスを配置し、ドラッグして位置を調整しているのですが、マウスでドラッグした時の移動量が多すぎて目的の位置にボックスを移動できません。ラベル等でも同様です。
ドラッグした時にボックスが移動する量を減らすような操作方法がありませんでしょうか。以前、どこかのWebページで見たような気がするのですが、いくら検索しても見つかりません。ぜひご教授ください。よろしくお願いいたします。

Aベストアンサー

移動したい物を選択し「Ctrl+↑」「Ctrl+↓」「Ctrl+→」「Ctrl+←」キーで調整可能。

幅や高さを、広げたり狭くしたりする場合は「Shift+↑」「Shift+↓」「Shift+→」「Shift+←」キーで調整可能。

QAccessでYes/No参照(チェックボックス)

2つのテーブルがあります。
顧客テーブルは顧客IDと質問
質問テーブルは顧客テーブルの質問を管理するテーブルです。
質問テーブルのフィールドは
質問ID(オートナンバー)と
質問(テキスト)と
チェック(Yes/No)です。
質問の数は不定で
例えば
ID 質問 チェック
1  A    □
2  B   □
3  C   □
という具合にテーブルを作成します。
顧客テーブルの質問フィールドが質問テーブルを参照し
チェックボックスにチェックを入れられるようにしたいのですがどうしてもチェックのところが□ではなく
Yes/Noとなってしまいます。
最終的には質問Aに対するチェックの数
質問Bに対するチェックの数
全てのチェックの数などを計算したいのですが
どのようにしたら良いでしょうか。
よろしくお願いします。

Aベストアンサー

> チェック(Yes/No)の表示が Yes/No になってしまう。
◎テーブルデザインで
 データ型は Yes/No型に なっていると思いますが、
 ルックアップの 表示コントロールが
 テキスト ボックス に なっているようです。
 これを チェック ボックス に変えれば □ になります。

> 全てのチェックの数などを計算
◎選択クエリで 集計します。
 フィールド名 ”質問”の集計は ”グループ化”を選択
 フィールド名 ”チェック”のとこをは IIF関数を使い次のようにします。
 件数: IIf([チェック]=Yes,1,0)
 集計は ”合計”を選択します。

 これで、A、B、C・・・ 別に 件数が出ます。

QACCESSでテーブルにあるチェックボックスを一括でYesにする方法を教えてください

アクセスのテーブルにあるYes/No型のチェックボックスを、コマンドボタンを押すことによって、全てのレコードをYes(チェックが入っている状態)又はNo(チェックが入っていない状態)にする
方法を教えてください。自分で、参考書をみながら試みたのですが、NoをYesに変えられたのですが、全部Yesにならなくて困っています。
(NoはYesになりますが、元々YesだったところがNoになってしまう)

まだ、VBA初心者ですので、小学生(実際は中年?)にも解るように教えていただければ幸いです。よろしくお願いします。

Aベストアンサー

>・・・VBA初心者ですので・・・
との事ですのでVBAがよろしいのですよね(^ ^)

テーブル名「Test」、フィールド名「Check」とします。

「Yes」にする場合。

Dim strSQL As String

strSQL = "update Test set Check = true"
DoCmd.RunSQL strSQL

で全てのレコードが更新されます。
「No」にする場合は「true」→「false」へ変更してください。

QAccess-VBAでExcelファイルを作成する。

こんにちわお世話になります。

「Excelにエクスポート」ボタンをクリックすると、Inputboxか何かが表示されて、Pathやファイル名やシート名を入力し、「実行」ボタンを押すと、新規にExcelのBookを、そのPath、ファイル名、シート名で作成する。その後、そのシートにデータを書き込むという作業をしたいのです。
AccessのデータをExcelの任意のシートを開いて書き込むという部分のVBAコードはわかりますので、新規Book作成部分のコードがわかるかたお願いします。
Office97を使用しています。

Aベストアンサー

プロジェクト→参照設定でMicrosoft Excel *.* ObjectLibraryにチェックを入
れて下さい。

オブジェクトへの参照を格納する変数を事前バインディング。
変数にオブジェクトの参照を代入します。Addメソッドを使って新規workbookと
worksheet オブジェクトを作成します。
値を代入し名前を付けて保存してオブジェクトを開放する。という流れで良いと
思います。

Private Sub Command1_Click()

  On Error Resume Next

  Dim xlApp  As Excel.Application
  Dim xlBook As Excel.Workbook
  Dim xlSheet As Excel.Worksheet

  Set xlApp = CreateObject("Excel.Application")
  Set xlBook = xlApp.Workbooks.Add
  Set xlSheet = xlBook.Worksheets(1)

  ' Excel のセルに値を代入します。
  xlSheet.Cells(1, 1).Value = " "

  ' Worksheet を名前をつけて保存します。ダイアグボックス等を使用して
   パスやBook名など入力できるようにしてもOKです。
  xlSheet.SaveAs "c:\Temp.xls"

  xlApp.Quit

  Set xlSheet = Nothing
  Set xlBook = Nothing
  Set xlApp = Nothing
End Sub

こんな感じでしょうか。

プロジェクト→参照設定でMicrosoft Excel *.* ObjectLibraryにチェックを入
れて下さい。

オブジェクトへの参照を格納する変数を事前バインディング。
変数にオブジェクトの参照を代入します。Addメソッドを使って新規workbookと
worksheet オブジェクトを作成します。
値を代入し名前を付けて保存してオブジェクトを開放する。という流れで良いと
思います。

Private Sub Command1_Click()

  On Error Resume Next

  Dim xlApp  As Excel.Application
  Dim xlBook As Excel.Workbook
...続きを読む

QAccessのDAOでフィールド名を配列に格納して・・・

Access2000のDAOで下記のようなコードで複写元テーブルから複写先テーブルにデータを追加するとします。

Set Rs1 = Db.OpenRecordset("複写元", dbOpenTable)
Set Rs2 = Db.OpenRecordset("複写先", dbOpenTable)

Do Until Rs1.EOF
Rs2.AddNew
Rs2!FL1 = Rs1!名前
Rs2!FL2= Rs1!性別
Rs2!FL3= Rs1!郵便番号
Rs2!FL4= Rs1!住所
   ・
   ・
Rs2! FL50= Rs1! 50番目
Rs2.Update
Rs1.MoveNext
Loop

複写元のフィールドが50フィールドもあると、いちいちRs1!名前とかRs1!性別とか記述するのが大変ですし、ものすごく長いコードになります。そこで、配列にしてやったらどうだろうかとこんなことをしてみましたがだめでした。

Dim I
Dim FieldsName
FieldsName=Array("名前","性別",・・・"50番目")
           ・
           ・
Do Until Rs1.EOF
Rs2.AddNew
For I=0 To 49
Rs2!フィールド(I) = Rs1!FieldsName(I)
Next
Rs2.Update
Rs1.MoveNext
Loop

じゃあTebleDifのTd.Fields().Nameを使って・・・・やっぱり失敗しました。

For I=0 To 49
Rs2!フィールド(I) = Rs1!Td.Fields(I).Name
Next

やりたいこと分かっていただけますでしょうか?要するにフィールド名を配列の様なもので格納しておいて、レコードの追加時に50回ループさせてRS2のフィールドにいれたいのです。何か良い方法は無いでしょうか。

Access2000のDAOで下記のようなコードで複写元テーブルから複写先テーブルにデータを追加するとします。

Set Rs1 = Db.OpenRecordset("複写元", dbOpenTable)
Set Rs2 = Db.OpenRecordset("複写先", dbOpenTable)

Do Until Rs1.EOF
Rs2.AddNew
Rs2!FL1 = Rs1!名前
Rs2!FL2= Rs1!性別
Rs2!FL3= Rs1!郵便番号
Rs2!FL4= Rs1!住所
   ・
   ・
Rs2! FL50= Rs1! 50番目
Rs2.Update
Rs1.MoveNext
Loop

複写元のフィールドが50フィールドもあると、いちいちRs1!名前とかRs1!性別とか記述す...続きを読む

Aベストアンサー

#2です。

一応自分なりにコードを作ってみました。

Dim I As Integer, Db As Database, Rs1 As Recordset, Rs2 As Recordset

Set Db = CurrentDb
Set Rs1 = Db.OpenRecordset("複写元")
Set Rs2 = Db.OpenRecordset("複写先")

Do Until Rs1.EOF
Rs2.AddNew
For I = 0 To 49
Rs2.Fields(I).Value = Rs1.Fields(I).Value
Next
Rs2.Update
Rs1.MoveNext
Loop
Rs2.Close
Rs1.Close
Set Rs2 = Nothing
Set Rs1 = Nothing
Set Db = Nothing

でいいと思います。ただし、前提条件として、テーブル「複写先」を作っていないとできませんが。

ご参考までに。

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

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

Aベストアンサー

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

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

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

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

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

Q【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには

バージョン:Access2002

フォーム「frm01」にテキストボックス「tb01」が作ってある場合、
Forms.frm01.tb01.Value="あいう"
とすれば、フォームもコントロールも指定できるのですが、
Dim strTxt As String
strTxt = "tb01"
Forms.frm01.strTxt.Value="あいう"
だと、文字列型変数"strTxt"が展開されないのでフォーム「frm01」のコントロール「strTxt」を探してしまいエラーになってしまいます。

文字列型変数でフォームやコントロールを指定するには、どのようにすればよいのでしょうか?

Aベストアンサー

フォームの場合
 Forms(strFrm)

フォームのコントロールの場合
 Forms(strFrm).Controls(strTxt)


これでも参照できますが、普通ここまで省略しませんね。
 Forms(strFrm)(strTxt)

あとで見たとき、訳がわからなくなりそう。


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

人気Q&Aランキング