ACCESSでフォームを使って、テーブルを参照、データ入力、データ更新

このQ&Aのポイント
  • ACCESSを使用してフォームを作成し、テーブルのデータを参照、データ入力、データ更新する方法について教えてください。
  • 売上テーブルにはID、商品コード、日付、金額の情報があり、フォームを通じてレコード番号を入力し、該当するデータを表示し修正することができます。
  • VBAを使用せずに、データ量が大きい場合でも効率的に処理できる方法を教えてください。
回答を見る
  • ベストアンサー

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

フォームを使って、テーブルを参照、データ入力、データ更新をしたいのです。 売上テーブル  ID   商品コード  日付    金額   1    G1     20080101  532153  2    G1     20080101  564281  3    G1     20080301  538123  4    J4     20080301  124531  5    J4     20080302  125483 ID:オートナンバー 商品コード:数値型 日付:数値型 金額:数値型 これを使い、 フォームではまず レコードナンバーを入力画面        ↓ レコード番号を入れると、そのレコードのデーターが画面に表示され、 その画面で修正可能        ↓  保存 ボタンで保存 という流れです。 レコードナンバーはIDを使おうと思っています。 データの量が莫大な為、コンポボックスなどは使えません。 できるだけ、VBAなどは使わずに作りたいです。 よろしくお願い致します。

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

  • ベストアンサー
  • kosamon
  • ベストアンサー率47% (11/23)
回答No.1

まずそのテーブルを基にしてフォームを作成します。 そのフォームのヘッダー部分にテキストボックスを配置後、一旦 上書き保存。 フォームのレコードソースを SELECT * FROM テーブル名 WHERE ID=[Forms]![フォーム名]![テキストボックス名] とします。 次にテキストボックスの更新後処理に Me.Requery とすれば完成です。 フォームを開いてテキストボックスにID入力後エンターしてください。 保存に関しては、コマンドボタン作成後クリック時イベントに DoCmd.RunCommand acCmdSaveRecord とすれば良いでしょう。 この手のモノは検索すれば相当数ヒットするので、そちらを参考にされるのもよろしいかと。

関連するQ&A

  • Access フォームのデータがテーブルに反映されない

    こんにちは。 現在、アクセスを使って簡単なデータベースを 作っていたのですが、ひとつわからないことがございます。 テーブルを二つリレーションを組んで、 フォームを作ったのですが、 うまく二つのテーブルにデータが 保存できません。 フォーム:顧客ID、名前、電話番号 サブフォーム:商品ID、商品名、納期、など。。。 こういった二つのテーブルで、サブフォームの方のテーブルに 顧客のデータも保存したいんですが、できるものなのでしょうか? 初心者でわかりづらくて、 大変申し訳ございませんが、よろしくお願い致します。

  • ACCESSのテーブルとフォーム

    大変失礼ですが、いきなり質問です。よろしくお願いします。 テーブルに「受注データ」 フォームに「入力画面」というのを作ってあります。 そのフォームの一部に「商品金額」・「送料」・「消費税」・「合計金額」というテキストボックスがあります。それぞれのコントロールソースには単純にテーブルのデータを使うようにしてありますが・・・・・・「合計金額」のコントロールソースに「商品金額」・「送料」・「消費税」の合計を計算してくださいというような設定をしてしまったら、フォーム上ではしっかり計算をして表示してくれたのですが、テーブルの「合計金額」の列は空白になってしまいます。 テーブルの列が空白ではなく、フォームで表示されたその数値をテーブルの列に戻す?返す?という事を設定するにはどうしたら宜しいのでしょうか?是非ご教示下さいます様お願い申し上げます。ちなみにACCESS2000を使用しています。なぜかVBAの画面でヘルプを開こうとするとインストールされていないみたいで開かないんです。(←これ、余談です。すみません。)

  • フォームのデータを更新したらテーブルも更新したい。

    こんにちは。いつもお世話になります。 すみません早速教えていただきたいのですが テーブル1 備品ID 商品名 場所 テーブル2 ID 商品名 担当者 備品ID クエリ1  テーブル1とテーブル2を備品ありで絞り込んでいる (追加クエリ“テーブルX”作成) テーブルX ID 商品名 備品名 場所 担当者名 フォーム1 ID 商品名 備品名 場所 担当者名 (レコードセットテーブルX) このフォームの場所を変更した時に、 フォームのIDとテーブル1のIDの同じものの場所 を更新したいのですが、 初心者過ぎてなんと書けばいいのか分からず困っております。 どうかどなたか教えてくださいよろしくお願いいたします。

  • access2003 複数のフォームから入力したデータに通し番号を付けてストックしたい

    初心者の恥ずかしい質問かもしれないので申し訳ありませんが、自力で解決できないのでアドバイスをお願いします。 伝票入力画面を作っています。  ◆親)売上入力フォーム:売上管理番号/日付/取引先/売上合計金額 ◆子)売上明細フォーム:商品コード/商品名/単価/数量/明細金額 ◆売上入力テーブル:売上管理番号/取引先/日付 ◆売上明細テーブル:明細番号/売上管理番号/商品コード/数量/明細単価 伝票が数種類あるため、それぞれの伝票を画像として取り込んで複数の入力画面を作り、入力しやすくしようと思っています。 このとき、各フォームから入力したデータを、オートナンバーでひとつの売上入力/明細テーブルにストックしていくにはどうしたらよいでしょうか? よろしくお願いします。

  • アクセスでテーブル入力用のフォームを他のテーブルのレコードを参照しながら入力するには

    こんにちわ アクセスでテーブルのレコードを作成するのに 他のテーブルのレコードを引っ張ってきて フォーム上で表示したいのですが うまくいきません たとえば、社員名テーブル(従業員番号と名前) 配属テーブル(従業員番号と営業所コード) 支社テーブル(支社名と営業所コードの上2桁) 営業所テーブル(営業所名と営業所コード)を作成しておきます 退職者が出るたびに 退職者テーブル用のフォームに 従業員番号を入力すると フォーム上にその人の名前・支社名・営業所名が表示され それを確認してから その他のデータをその同じフォームに 入力したいのです 今、試しに作ったのは テーブルに一度上書きしないとデータを引っ張ってこないの不便なのです よろしくお願いします

  • 票フォーム-データ更新について

    Access2003を利用しています。 伝票入力用のワークテーブルを帳票フォームで入力しようとしています。 (ワークテーブル内容) ID 商品コード 商品名 数量 単価区分 単価 金額 単価A 単価B 単価C  ・  ・ (10種類の単価設定あり) 単価J 帳票フォームのレコードソースにワークテーブルをセットして (表示) 商品コード、商品名、数量、単価 金額 (非表示)A単価、B単位、C単価、~J単価 としています。 商品コードが入力されると、商品マスターから情報を取得して 単価A~Jに値をコピーしています。 txt単価A = recW("単価A")  txt単価B = recW("単価B")  txt単価C = recW("単価C")    ・   ・ txt単価J = recW("単価J")  ここで質問ですが、 現状だとレコードに値を入れたい場合、 非表示のテキストボックスを利用していますが フォームのレコードセットにそのまま代入する方法はないでしょうか? 初心者の質問でお恥ずかしいですが、何卒、ご教授ください

  • アクセス フォームで同じ日にちを自動で入力させるには

    こんばんは。 アクセスで次のようなテーブルを作りました。 日   コード   工数(分) 5/2   12345    30 5/2   15555    20 5/2   13456    50 5/3   13545    100 このデータをフォームから入力させたいのですが、 同じ日付を何度も入力させるのが大変なので、 5/2  コード 工数     コード 工数 1度入力しただけで、次のレコードにも同じ日付が入るようにしたいのです。 また、5/2を一つのレコード。 5/3を次のレコードと認識してくれ、画面が切り替わるようにしたいのですが、アクセスではどのようにすれば良いのでしょうか。 (コードは月により変化します。) 宜しくお願い致します。

  • フォームから2つのテーブルにデータを書き込みたい

    Accessで T_aテーブルとT_bテーブルがありそれぞれのフィールドが以下のようになっているとします。 T_a:フィールド名 データ型    ID  オートナンバー型    商品番号 テキスト型 主キー T_b:フィールド名 データ型    ID  オートナンバー型 主キー    商品番号 テキスト型 このときフォームから入力したデータをそれぞれのテーブルの商品番号に追加したいのですがどのようにすればよいのでしょうか。  よろしくお願いいたします。

  • ACCESS2000のフォームからの入力でデータが上書きされる

    書類の受付簿を作成しました。 ユーザー1件ごとに受付日を入れると 規則性無く、時々入力したはずの日付が 前のレコードに書き込まれてしまいます。 内容としては【テーブル】 ユーザーテーブル(約2000件) 受付簿テーブル(3種類をそれぞれmm/ddで) ユーザーでは無くなった退会テーブル(Yes/No) 3つのテーブルで管理しています。 【クエリー】 日付入力をするためにクエリーを1つ作成 しました。上記3つのテーブルの合体させたもの。 それぞれのテーブルはユーザーIDでリレーションし ました。 【フォーム1】→これで入力するとおかしくなる ユーザーIDで検索し、ユーザー名が表示されたら 3項目ある受付枠に日付を入力する画面 フォームビューで作成 【フォーム2】 同じクエリーをデータシートビューで表示させ 検索機能なしで、直接ユーザーIDの該当枠に入力 する画面 を作成しました。フォームビューで作成したフォーム 1で入力したときに、どういう規則性があるか まったく判らないのですが、1件前のユーザーIDに セットされ、入力したはずの部分は空欄になって しまいます。 また、この現象に関連するのでしょうが、すでに入力 されていた日付が、消えてしまう現象もおきます。 何が原因でこのような現象になっているか、まったく 検討がつきません。どこら辺を、チェックしたら 良いか、回答をお待ちしています。

  • Access2000 ADOを使ってフォーム上のデータをテーブルに書き込む

    質問させていただきます。 帳票形式フォームの反復しているレコードをコマンドボタンのクリックでテーブルに書き込みたいので今朝からいろいろ試しているのですが、以下のコードを書いてみました(一部省略)。 DoCmd.RunCommand acCmdRecordsGoToFirst Do Until Me.NewRecord DoCmd.RunCommand acCmdRecordsGoToNext With RST RST.AddNew RST!日付 = Me![日付] RST!原料コード = Me![原料コード] RST!入庫数 = Me![発注数] RST!単価 = Me![単価] RST!金額 = Me![金額] RST!消費税 = Me![消費税] .Update End With Loop 結果は・・・テーブルには2行目から書き込まれる。「コマンドまたはアクション’次のレコードへ’は無効です」が出る。 どうすればエラーも出ず、フォーム上のすべてのデータが書き込めるでしょうか?

専門家に質問してみよう