質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.97%

Accessでタブコントロールで分けられたサブフォーム内のリンクテーブルの移動を行うボタンを設置したい

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,409

oze

score 12

閲覧ありがとうございます。
助力頂ける方、コメントお待ちしております。

Accessを使ったマスタメンテナンスツールの開発を行っております(ど素人)

現状の仕様の説明

ヘッダーにコンボボックスやら、保存ボタンやらを設置し、
詳細欄にタブコントロールで6つに分けたサブフォーム内に
postgreSQLデータベースのリンクテーブルがそれぞれ6つ挿入しております。

タブコントロール内にリンクテーブルを貼り付けますと
どうしても移動コントロールが難しくなってしまう(2重になるから)ので、
移動コントロールなどは表示させなくしております。

ここで、私が行き詰っている点なのですが
移動ボタンをヘッダーに設置し、
尚且つ、6つに分けられているリンクテーブル内のフィールドを移動できるVBAの記述が
まったくわかりません。。。

hatenaさんのサイト内にある移動ボタンを自作で作ってみるを拝見させて頂いたのですが
私の知識では完全に動きを理解するまでは至りませんでした。

助力頂ける方、コメントお待ちしております。

【内容の追記】

6つのテーブルについては、
postgreデータベースとODBC接続を行っているのですが、
postgreDB内にマスタテーブルが3つあり
新規マスタ1、更新削除マスタ1のように、
1つのマスタに対して2つのサブフォームを作成しています(計6つ)

【追記】

私が勉強させていただいたhatenaさんのサイト
URL: URL:https://hatenachips.blog.fc2.com/blog-entry-234.html

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • hatena19

    2018/07/24 19:34 編集

    前の質問の続きなら、各サブフォームは関連のないマスターテーブルですよね。ならば、メインフォームは非連結のはずてす。非連結なら、メインフォームのレコード移動ボタンは非表示、サブフォームに標準のレコード移動ボタンを表示でいいとおもいますが、それではだめですか。

    キャンセル

  • oze

    2018/07/25 10:01

    メンテを行うマスタの列と行がかなりの量がありますので、下にいくだけならメイン移動ボタンなし、サブありでも大丈夫なのですが、行を移動させるための移動ボタンが一番下にいかないとないので手間がかかることと、検索ボタンを作成していない(作り方がわからない)のでデフォルトで移動ボタンのところにある検索を使いたいと思っています。。説明が下手なのでよくわからないかもしれないですがご容赦ください。。

    キャンセル

  • hatena19

    2018/07/25 12:46

    結局、質問の意図は、標準の移動ボタンが一番下なので、それが使いにくい。ヘッダーに同様の機能のボタンを配置したいというこことかな。あと検索機能を欲しいということかな。

    キャンセル

回答 1

checkベストアンサー

0

質問の意図は、
サブフォームに標準のレコード移動ボタンを表示させた場合は、一番下にあるのでそれが使いづらい。ヘッダーに同様の機能のボタンを配置したい。
ということだと解釈しました。

下記のページのサンプルファイルをダウンロードして、そのファイルから「F_NavigationButtons」フォームをインポートして、それをフォームのヘッダーに配置すれば、コードを書くことなしで動作します。

オリジナルのレコード移動ボタンの改良版 - hatena chips

あと、標準のレコード移動ボタンのよこの検索ボックスと同等の機能は、下記にサンプルがあります。

フォームのすべてのフィールドを対象とする検索機能 - hatena chips

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/26 09:54

    サンプルまで添付していただき、本当にありがとうございます。
    フォームのヘッダーというのはメインフォームのヘッダーでしょうか?サブフォームのヘッダーでしょうか?
    サブフォームのヘッダーはなぜか表示されないのです。。

    キャンセル

  • 2018/07/26 10:07

    タブコントロール内のサブフォームはデータシートビューになっておりまして、
    空きフィールドしか表示させないために新規登録サブフォームは主キーの抽出条件に
    is nullをつけております。

    キャンセル

  • 2018/07/26 10:23

    データシートビューですか。それだと、自分でコーディングする必要がありますね。
    私がコードを書いてもいいですが、いままでのやりとりから判断して、後で自分でのメンテナンスは難しいかと。
    自分のスキル以上のことをせずに、素直に標準のレコード移動ボタンを表示させた方がいいのでは。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.97%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる
  • トップ
  • VBAに関する質問
  • Accessでタブコントロールで分けられたサブフォーム内のリンクテーブルの移動を行うボタンを設置したい