社内で請求書をACCESSで作成しています。
構造はメイン/サブフォームを使い、サブフォームで商品名、単価、数量等を入力出来るようにしています。
スタッフからサブフォーム内の入力について①途中に追加できるようにして欲しい②順番を入れ替えられるようにしてほしいと要望が上がっています。
どの様にしたら実装可能なのでしょうか。

商品名 単価 数量 ...
B   100  1
D   200  2
C   250  3

上記のような場合に
①は「B」の上にAという商品を追加したい
②は「C」と「D」を入れ替えたい(「C」を上に移動したい)
と言う事です。
よろしくお願いします。

A 回答 (2件)

要望としては自由に順番を並び替えたいのかと思います。


行番号を追加して

行番号 商品名 単価 数量 ...
1    B   100  1
2    D   200  2
3    C   250  3

を行番号を変更し

行番号 商品名 単価 数量 ...
1    B   100  1
3    D   200  2
2    C   250  3

に、No.1の方の回答にあるように再クエリで

行番号 商品名 単価 数量 ...
1    B   100  1
2    C   250  3
3    D   200  2

と並び替える
    • good
    • 0

まず、フォームのプロパティに並べ替えを摘要する。


次に、フォームの再クエリボタンを作る。

スタッフの方に、並べ替えの際、再クエリボタンを押してもらいましょう。

VBAができなくても、マクロビルダで作れると思います。
頑張ってください!
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2017/05/15 20:47

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

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

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

Qサブフォームの入れ替え

こんにちはアクセス2000で
前任者の引継ぎで発注書・在庫管理をつくっている
初心者です。
発注書フォームで
メインフォーム(発注書)とサブフォーム(発注書sub)に
発注明細を表示する形で作成しました

新しく仕入先(商品)が追加になったのですが
今までと形式が違うので
その形式にあったサブフォームを作り、
入れ変えられたらいいなあと漠然と思っているのですが
メインフォームで仕入先を選択すると
サブフォームの中味自体がすべて変わるということは
できますか?

似たような内容のサイトや
こういう場合の基本的なつくりかたなど
何かしらヒントがあれば
教えていただけると助かります。

Aベストアンサー

二つのサブフォームを配置し、対応するのだけを表示。
これが一番簡単だと思います。

Qサブフォームからメインフォームに移動

 現在ACCESS2000を使用してシステムを作成しております。のですが、サブフォームからメインフォームの特定のコントロールに移動したいと思っています。しかし、ちょっとやり方がわかりません。わかる方よろしくおねがいします。

Aベストアンサー

サブフォーム側のVBAで移動ということですよね?

メインのコントロール名を[txtMainBox]とすると、

Parent!txtMainBox.SetFocus

ですね。
サブフォーム側のコードです。

Qaccess 2000フォーム検索 サブフォームじゃだめ?

access 2000でフォームにリレーションされたサブフォームを設置したのですが、使う段になってから気づいたのですが、サブフォームの検索できないんですね。
できないというか、リレーションされた結果が表示されるので、その中での検索となってしまう。

フォーム内容が1体多となっている。

テーブルA
id name
1 aoki
2 sasaki

テーブルAのidとテーブルBのuidはリレーションされている。

テーブルB
uid book
1 辞典
2 漫画
1 ノート

テーブルAのid1 aokiを表示しているフォームで、テーブルBの「漫画」で検索した際に検索できるようにするにはどうすればいいでしょうか。

Aベストアンサー

>サブフォームの検索できないんですね。
>リレーションされた結果が表示されるので、その中での検索となってしまう。
検索できないのではなくリレーションそのままでフォーム・サブフォームを作ったのでそのようにしか出来ない状態なんです。
サブフォームのプロパティでリンク子フィールドとリンク親フィールドの設定が現在はuidとidになっているのでこれを外せば出来るようになります。
フォームの抽出条件のテキストボックスなどのコントロールを使ってサブフォームに抽出したレコードをセットしサブフォームをRequeryすれば出来ます。
またはサブフォームのFilterに条件を代入してサブフォームをRequeryすれば出来ます。

QAccessのメインフォームとサブフォーム

メインフォームのコマンドボタンからサブフォームのテーブルを操作することは可能でしょうか?

【メインフォーム】
   日付[_2006/2/3]   『回数A(コマンドボタン)』
   品物[_りんご]    『回数B(コマンドボタン)』
   製作所[_青森]

 【サブフォーム】
    社員コード 所属   氏名   回数A 回数B
    [_1234]  [_福島] [_山田] [_1]  [_0]
    [_2345]  [_山形] [_佐藤] [_1]  [_0]

とあるときに、『回数B(コマンドボタン)』をクリックすると、サブフォームの社員コード
「1234」と「2345」の回数Bに「1」(回数B+1)を入力し、回数Aを「0」(回数A-1)
としたいのです。

どのようにすればいいのでしょうか?
よろしくお願いします。

Aベストアンサー

VBAが使える(参照設定でVBを設定等)のであれば、「回数B」ボタンのプロパティのイベントのクリック時のイベントプロシージャー内に、
Me![サブフォーム名]![回数B] = Me![サブフォーム名]![回数B]+1
Me![サブフォーム名]![回数B] = Me![サブフォーム名]![回数B]-1
と命令することで出来ます。

QAccess メインフォーム サブフォームにて

お世話になります。

Accessにて
メインフォームにコマンドボタンを置いて、クリックするとサブフォームのレコードが
次に行くようにしたいのですが、

コマンドボタン クリック
Forms![メインフォーム]![サブフォーム名].Form!フィールド名.SetFocus
DoCmd.GoToRecord , , acNext

メインフォームとサブフォームのレコードが次に行ってしまいます。
サブフォームだけ次のレコードに行くには、どのようにすれば良いのでしょうか。

分かる方教えて下さい。
宜しくお願いします。

Aベストアンサー

>Forms![メインフォーム]![サブフォーム名].Form!フィールド名.SetFocus


Forms!FMain!埋め込み0.SetFocus
DoCmd.GoToRecord , , acNext

以下の[サブフォーム表示コントロール名]はサブフォームそのものの
名前でなく、デザインビューでサブフォームを表示するために設定
するコントロールの名前で、初期値は[埋め込み0]のような名前
であることに留意をしてください。もしサブフォームと同じ
名前に設定しているならば問題はありませんが。

以上を踏まえて、たとえば、

Forms![メインフォーム]![サブフォーム表示コントロール名].SetFocus
DoCmd.GoToRecord , , acNext

これで、サブフォームの次のレコードに移動します。
もし、質問の中の特定のフィールドにフォーカスを
当てたいのであれば、移動後にその特定のフィールドに
フォーカスを当てればいいので、

Forms![メインフォーム]![サブフォーム表示コントロール名].SetFocus
DoCmd.GoToRecord , , acNext
Forms![メインフォーム]![サブフォーム表示コントロール名].Form![フィールド名].SetFocus

これで、レコードを移動したときにフォーカスは
特定のフィールドに当たっています。

>Forms![メインフォーム]![サブフォーム名].Form!フィールド名.SetFocus


Forms!FMain!埋め込み0.SetFocus
DoCmd.GoToRecord , , acNext

以下の[サブフォーム表示コントロール名]はサブフォームそのものの
名前でなく、デザインビューでサブフォームを表示するために設定
するコントロールの名前で、初期値は[埋め込み0]のような名前
であることに留意をしてください。もしサブフォームと同じ
名前に設定しているならば問題はありませんが。

以上を踏まえて、たとえば、

Forms![メインフォーム]![サブフォー...続きを読む


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

人気Q&Aランキング

おすすめ情報