• ベストアンサー

ACCESSのテキスト配置変更について

帳票形式のフォームで、カレントデータに応じてテキストの位置を移動させる方法がしりたいです? 教えてください。 例えば... 1行目 txtA のデータが "3"  txtB の配置を左から3cmに置く 2行目 txtA のデータが "10" txtB の配置を左から10cmに置く というようにしたいのですが、現在では txtB が全行同じ位置になってしまいます。 教えてください、よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • gadd3
  • ベストアンサー率46% (211/451)
回答No.1

回答ではありませんがヒントだけ・・・ 例えばVBAにて、フォームやフォーム上のコントロールのどこかのイベント(例えばフォームのレコード移動時イベントやテキストボックスの更新後処理イベントなど)に txtB.Left = Me!txtA*567 などと書くと、txtAの値に準じてテキストボックスがcm単位で移動はするのですが、ただこの場合、全ての行のtxtBの位置が、カーソルのある行のtxtBの位置と同じ位置になってしまいます。 ※…567というのは、Accessで扱われる長さの単位の一つである、「twip」に関連する値です。(後述を参照ください) それとは別に、レポートだと、詳細セクションのフォーマット時イベントに「txtB.Left = Me!txtA*567」などと書くと、それぞれの行で違う位置の表示ができます。 なので、データを印刷するだけとか、表示するだけということなら、レポートを利用した方が楽だとは思います。 どうしてもフォーム上で、データの入力や編集もしながら位置も変えたい…ということでしたら、VBAにてフォームを作るプログラムを書かないとだめかもしれません。 それも帳票形式ではなく、フォームに最初から複数行のデータが表示できるテキストボックスを作るかたちです。DAOまたはADOなどを使えば不可能ではないとは思いますがちょっと複雑な処理になると思います。 (僕が思いつく範囲内では…。単に僕が他の方法を知らないだけかもしれませんので、またほかの方にも聞いてくださいね。(^^)) ※…twip (ヘルプより) Access で使われている画面上の長さの基本単位です。1 論理 cm は 567 twip、1 論理インチは 1,440 twip になります。ここで論理 cm および論理インチとは、画面上に表示されているものを印刷したときに、それぞれ 1 cm および 1 インチになる長さを指します。

関連するQ&A

  • Wordでの図の配置

    WordにEPS形式の画像データを挿入しました。 場所は左よりになっています。 これを右の方に移動させたいと思っています。 ドラッグしようとしてもできません。 どのようにしたら、自由な位置に配置できるようになるでしょうか? よろしくお願いします。

  • [Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには

    Accessにおいて。 帳票フォームの"詳細"に非連結のコントロール(例:テキストボックス)を配置し、それぞれ別々の値を持たせることは可能なのでしょうか? 例えば。 VBAにおいて、カレントレコードのAという値とBという値を計算し、その値を非連結のテキストボックスに挿入したとします。 単票フォームであれば、問題なくテキストボックスには計算後の値が表示されるわけですが…… 帳票フォームの場合では、"規定値"に計算式を入れたときと同様、先頭の値と同じものが連続するテキストボックスに表示されてしまいます。 これを回避し、計算後のデータを連続するテキストボックスにそれぞれの値として表示させるには、どのようにすればよいのでしょうか? もちろん、連結させたコントロールを使用すれば、問題はないのですが…… 状況によっては、これが行えた方が便利かと思い、質問させていただきます。 「帳票フォームでは不可能である」といった回答でもかまいません。 どうぞよろしくお願いいたします。

  • Accessテキストボックスへの色の付け方

    こんにちは。 Access2000を使用しています。 テーブルにA、B、C、D、Eという名前のレコードがあります。フォームで帳票形式で色々とカスタマイズしていきたいのですが… フォーム内で小計という名前のテキストボックスでA+B+Cの計算式を入れその小計テキストボックスをクリックまたはカーソルが移動した際にA、B、Cに色が付く様にしたいのですが、参考になるサイトややり方を知っている方教えて下さい。宜しくお願いします。

  • access テキストボックス自動高さ調整

    帳票フォームにてデータを表示しています データの中でメモ型を配置しており、長い文章が書くときもあれば、短く済むときもあります 長い文章に合わせてテキストボックスの高さを大きめにとっておけばよいのですが、そうするとスクロールするのが大変なのと見栄えが悪い為、文字数に合わせて高さが変わればいいなと思いネットで検索してみました http://www.accessclub.jp/bbs3/0146/superbeg50129.html 結論的にはここに書いてある事をやりたいのですが。。。 VBAの文章をどこに書くかまでは書いておらず困っております^^; どなたかアドバイスをいただけないでしょうか?

  • ACCESS2000の帳票フォームでテキストボックスの入力値を取得したい

    こんにちは。ACCESS2000でツールを作成しています。 テーブルはExcelにリンクさせ、クエリを介して帳票フォームで データを表示しています。 帳票フォームのレコード毎にテキストボックスを追加して それぞれ入力できるようにし、その値をVBAで取得したいのですが どうすればよいでしょうか。 テキストボックスを追加して実行すると、一つのテキストボックスに 入力した値が全てのレコードに反映されているようです。 帳票フォームのしくみがよく分かりません。 どなたか教えていただけないでしょうか。 宜しくお願いします。

  • FMPでテキストの配置が調整できない

    FMP VER.12です。 レイアウト画面で、ボタンツールを作成し(横4cm縦3cm)、 そのボタンにテキストを入力しています。そのテキストを中心に配置したく、行揃えを左右真ん中、上下真ん中に設定しているのですが、インスタントweb上、上揃いになってしまいます。 なんとか中心に配置することは、できないのでしょうか。 よろしくお願いします。 ボタンとテキストを別々に作成して、グループ化して、作成する以外にないのでしょうか。

  • Access VBA サブフォームのサイズ変更

    Access の VBA についてご質問させていただきます。 親フォーム名:F05_親画面 サブフォーム名:F03_入力画面 サブフォームには、左からラベルが1列、テキストボックスが10列の計11列で、50行分配置されています。 つまり、11列 × 50行の表みたいにしてあります。 親フォームにスクロールバーを配置しており、親フォームのスクロールバーから入力画面を上下にスクロールできるようにしています。 サブフォームのテキストボックスに内容を表示したあと、 内容を表示した最後の行 +1から50行目までを非表示にしたのですが、 非表示にした場所にスクロールが出来てしまい、何もない画面が出来上がってしまいました。 何もない部分にスクロールできないようにしたいのですが、どのようにすればいいですか?

  • 単票フォームと帳票フォームを連動 アクセス

    どういう構成にすればいいか教えてください。 元データはT_testのみですが T_testを元に、単票フォームと帳票フォームを作り、 この二つのフォームをサブフォームにし、1つの親フォームにはめて、 帳票フォームのレコードをクリックする(カレントレコードが変わる)度に 単票フォームは、帳票フォームのデータを表示させたいのですが どうすればいいでしょう? レコードソースは親フォームに設定すればいいのでしょうか? それとも単票フォームと帳票フォームそれぞれにT_testを設定すればいいでしょうか? 帳票フォームのレコードをクリックして単票フォームのデータを表示させる際は、 帳票フォームの値を取得して単票フォームにフィルタをかければいいのでしょうか?

  • ユーザーフォームテキストボックスの文字制限

    ダブルクリックでフォームを開くようにしてます。下記のままでしたらテキストボックスに何行でも入力できてしまい、転記先のセルは4行までしか表示ができません。テキストボックスに4行以上入力しコマンドボタンをクリックしたときにメッセージが出てセル値を取得したときに戻ればいいと考えています。説明が不十分ですがよろしくお願いします。 Private Sub UserForm_Initialize() TxtA.MultiLine = True TxtA.EnterKeyBehavior = True GYOU = ActiveCell.Row TxtA.Value = Range("c" & GYOU).Value End Sub Private Sub CommandButton1_Click() GYOU = ActiveCell.Row Range("c" & GYOU).Value = UserForm1.TxtA.Value Unload Me End Sub

  • エクセルVBAで、テキストボックスにセルの値を入れる

    宜しくお願いします。 エクセルデータの各項目を、すでに書式(表)が印刷された用紙のそれぞれの項目の位置に印刷させたいのですが・・・ 各項目には、500行ぐらいのデータがあり、別のワークシートの表示させたい位置(すでに印刷された用紙にあわせてある)に各項目ごとのテキストボックスを作っておいて、そのテキストボックスに各項目のデータを1行ごとに表示させて、テキストボックスのフォント調整、印刷 ~を繰り返したいのですが、どのようなコードを書けばよいのでしょうか? 進め方としては、データシートからテキストボックスに各項目のデータが表示されたら、シート上でテキストボックスのフォントや位置の微調整が出来るようにしておいて、印刷ボタンをクリックすると印刷され、次へのボタンをクリックすると、次の行のデータがテキストボックスに表示されるようにしたい。 ※印刷する場合は、テキストボックス内の文字のみ印刷(シートには印刷したくない文字書きたいので・・・) また、そのフォームには、パターンが5つあって、データには1行ごとにパターン番号が入力されているとして、それぞれのパターンにあわせたテキストボックスの配置してあるシートへ行くようにもしたい。 データの入れ替わりが多いので、別のワークブックと繋がるような仕組みにしておいて、テキストボックスの配置してあるブック側から、データのあるブックを呼びに行ってデータを取りに行くようにしておきたい。 以上、条件が多くてすみませんが、VBAは初心者で、ほんの部分的にしかまだ分かりません。どなたか詳しい方宜しくお願いします。

専門家に質問してみよう