- ベストアンサー
「access 自動反映(?)について」
piroin654の回答
No5の説明をしておきます。 (1) Q追加用差分 これは不一致クエリで、テーブルAのnameと テーブルBのBnameを比較して、テーブルB のBnameにテーブルAのnameにないものが あれば抽出するクエリです。 (2) Q追加 これは、追加クエリでテーブルBのBnameと テーブルAのnameが同じでないものがあれば テーブルAにテーブルBの該当するレコードを 追加します。 (3) Q更新用差分 これは不一致クエリで、テーブルAのNameとテーブルBの Bnameが同じもので、テーブルAのcode とテーブルBのBcodeが同じでないものが あれば抽出するクエリです。 すみません。No5のQ更新用差分は以下に してください。 SELECT テーブルB.Bname, テーブルB.Bcode FROM テーブルA RIGHT JOIN テーブルB ON (テーブルA.code = テーブルB.Bcode) AND (テーブルA.name = テーブルB.Bname) WHERE (((テーブルA.code) Is Null)); (4) Q更新 これは、テーブルAのNameとテーブルBの Bnameが同じもので、テーブルAのcode とテーブルBのBcodeが同じでないものが あればテーブルAに追加するクエリです。 すみません。No5の更新クエリは以下に してください。 UPDATE テーブルB LEFT JOIN テーブルA ON テーブルB.Bname = テーブルA.name SET テーブルA.code = [テーブルB]![Bcode]; (5) Private Sub コマンド4_Click() の主なところについて。 If rs1.RecordCount > 0 Then DoCmd.OpenQuery ("Q追加") End If If rs2.RecordCount > 0 Then DoCmd.OpenQuery ("Q更新") End If If rs1.RecordCount > 0 Then は Q追加用差分でデータが抽出されるなら という意味。 DoCmd.OpenQuery ("Q追加") は Q追加を実行する、という意味。 If rs2.RecordCount > 0 Then は Q更新用差分でデータが抽出されるなら という意味。 DoCmd.OpenQuery ("Q更新") は Q更新を実行する、という意味。 Private Sub Form_Close() も 中身は同じです。 以上です。またまた変更点があり申し訳ないです。 このようになかなか便利にしようとすると、 はずしてしまうことが結構あります。 説明しながら途中で「あれ?」と 気が付いたものがほとんどです。
関連するQ&A
- Access97で自動入力と反映が違うテーブルの場合
こんにちは、前の質問などでフォームへの自動入力は何とかできるようになったのですが、今度はその入力したデータを他のテーブルBに反映させたいのですが、どうしたら良いのでしょうか? テーブルA 店舗コード 店舗名 ※テーブルAの管理者は私ではなく、ネットワークで私のPCと「テーブルのリンク」でつながっています。 テーブルB 店舗コード 店舗名 商品番号 他に店の情報フィールドをいくつか作成 フォームC 店舗コード 店舗名 商品番号 他に店の情報テキストボックスをいくつか作成 フォームCで、店舗コードを入力したら店舗名が自動的に入力される方法は、フォームCのレコードソースをテーブルAにして、店舗コードの更新後処理をイベントプロシージャにして、下記イベントコードを設定しました。 Private Sub 店舗コード_AfterUpdate() Me![店舗名]=DLookup("店舗名","テーブルA","店舗コード=" & Me![店舗コード] & " ") End Sub そして、フォームの残りのテキストボックスに、店と商品に関するデータを入力し、入力した全てのデータをテーブルBに反映させたいのですが、どうしたら良いのでしょうか? 自動入力の方法でDLookupを使用したのがいけなかったのでしょうか? また、できればテーブルBは商品番号順に並びかえられているのですが、入力したら商品番号のリストの一番下に挿入されるという形にしたいのです。 どうかよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- アクセスでフォームのデータ(計算結果)がテーブルに反映されない
アクセス初心者です、教えて下さい。 うまく説明できないのですが、エクセルで作成した売上表をアクセスで作り直そうと試みているのですが…。 簡単に説明すると、フィールドA,B,Cと3つあって、フォーム上でCはAとBの合計(C=[A]+[B])としました。フォーム上ではA,Bに値を入力するだけでCに結果が表示されるのですが、それがテーブルのCに反映されません。テーブルに計算結果を表示させるにはどうしたらいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- Accessで計算式を挿入
テーブルで、A・B・Cのフィールドがあります。 C=A/(B/100)^2 という式があります。 この場合、更新クエリを使ってCのフィールドに値を入れるしかないのでしょうか。 もともとあるテーブルを元にフォームを作成しました。 このフォームを使って、AとBを入力すれば自動的にCに値が入る、という事をイメージしていたのですが行き詰っています。 式ビルダは使用してみたのですが、データが反映されません。 元のテーブルCフィールドには式はなく、ただ数値があるだけです…。 どんな作業が足りないのでしょうか。 もしくは別な方法がよいのでしょうか。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Accessのふりがな自動入力
お世話になります。 Accessの振り仮名自動入力機能について質問致します。 ウィザードで振り仮名自動入力を設定したのですが、 テーブルから入力すれば設定が反映されるのに、作成 した入力フォームでは自動入力機能が反映されません。 これは何故なのでしょうか? 以前試したときは、ちゃんと入力フォームでも自動入力されたのですが・・・・。
- ベストアンサー
- その他(データベース)
- AccessのColumnがうまく出来ずに困っています。
AccessのColumnがうまく出来ずに困っています。 状況 テーブルA(参照用) テーブルB(データベース) フォーム(データベース入力用) テーブルAにはX,Y,Zの情報が入力されています。 目的 フォームの入力箇所1はXの値をドロップダウンリストから選択するようになっているため、 選択したXの値に対応したY,Zの値を入力箇所2、3に自動入力させる 症状 入力箇所1の値集合ソースはX,Y,Z 入力箇所1の更新後処理に入力箇所2用と、入寮箇所3用の2つのColumn文があります。 Column(0)にするとXと同じ値が反映し、Column(1)にするとYの値が反映する。 これにより入力箇所2,3どちらにもXまたはYの値を自動反映することが出来ています。 このことからColumn自体は正常に機能していると思うのですが・・・ Column(2)にすると何故か何の値も帰らず空白となります。 どこに原因があるのかさっぱりわからないのでどなたか助けて下さい。
- 締切済み
- その他(業務ソフトウェア)
- Access2007 フォームでの計算結果をテーブルに反映させるには?
ビスタでAccess2007を使っています あるテーブルにA~Dまでのフィールドが設定されています。 フォームでフィールドA.Bは手入力して C.Dには計算式を設定して計算結果を表示させていますがテーブルに反映されません。 (フォームにはきちんど式通りの答えが表示されますがテーブルのフィールドC.Dは空っぽです。) 例 A・・・10,000 B・・・0.1 C・・・1,000(計算式 A*B) D・・・9,000(計算式 A-C) フォーム上で行った計算結果をテーブルに入力反映させるにはどうすればよいでしょうか? テーブルやフォームの作り方が悪いのか? 計算式の設定が悪いのか? なぜテーブルに反映しないのか理由がわかりません。 そもそもフォーム上での計算はテーブルには反映しないのか? だとすれば反映させるにはどうすればよいのでしょうか? テーブルのフィールドに計算式を設定することは出来るのでしょうか? 出来るとすればその方法は? 疑問だらけでどうすれば求める結果が得られるのかさっぱり解りません。 当方Access2007は初心者も同然ですのでわかりやすく解説して戴ければ幸いです。 よろしくご教授ください。
- ベストアンサー
- その他MS Office製品
- Accessのエラー (いくつかあります・・・)
アクセスでデータを入力したのですが、なぜか下記のエラーがでます… *作成したアクセスデータ* テーブル 項目AのCDと項目A、項目BのCDと項目B、項目CのCDと項目C、項目A~CのCDとその他繰り返し入力しないデータ の合計4つのテーブル それらすべてをリレーションでつないでます クエリ 全項目入りのテーブルを元に作ったもののみ フォーム クエリを元にウィザードを使って作成 *エラー* (1)クエリを作った時に、1つでもCDが入力されてないフィールドがあるとその行全体が表示されなくなる (CDを入力したら表示されますし、テーブルではCDが入ってなくても全て表示されてます) (2)フォームで新たにデータを入力しようとしても一切入力できないし、変更もできない時がある (使用可能等の項目は一切触っていません) (3)フォームでCDが入ってる箇所を未入力にしたままでは保存できずに、「CDと値が一致しません」?のようなエラーメッセージがでる (すみません、エラーメッセージはうろ覚えです…) (4)なぜか昇順で番号を並べ替えていたのに、フォームでデータを追加したら、昇順が反映されずに「1,11,2…」のようにフォームのみ表示される (テーブル・クエリは反映されています) このエラーの原因がわかる方ぜひ教えてください!! よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Access ルックアップが反映されない
超初心者です、よろしくお願いします。 テーブル作成時に、データ型をテキスト型で作成したのですが。 フォームを使って、データを入力した際に気づき。 データ型をルックアップに変更したのですが、反映されないみたいで。 フォームでデータを入力するのですが、コンボボックスが表示されません。 どうすればよろしいのでしょうか? ご教示願います。
- ベストアンサー
- オフィス系ソフト
- アクセスVBA テキストボックス入力値からの参照
マイクロソフトアクセス初心者です。 現在、アクセスでデータベースを作成しています。 2つのフォーム(フォーム(1)、フォーム(2))、2つのテーブル(入力情報、マスタ)、2つのテーブルをもとにした1つのレポートを作成しています。 『フォーム(1)』のテキストボックスAに入力された値を、Dlookup関数で『フォーム(2)』のテキストボックスBに数値を参照しています。 『フォーム(2)』のテキストボックスに表示された値を、『フォーム(2)』に設置されたコマンドボタンをクリックすると、VBAで『テーブル入力情報』のフィールドAに入力されるようにしています。フィールドAについてのマスタとなるテーブルが『テーブルマスタ』です。 リレーションシップを設定せず、ただ単に値を入力することは出来るのですが、レポートを作成するにあたって、『テーブル入力情報』と『テーブルマスタ』のフィールドAに1(テーブルマスタ)対多(テーブル入力情報)のリレーションシップを設定したいと思っています。 リレーションシップを設定し、テキストボックスBに表示された数値を『テーブル入力情報』に入力する際、『テーブルマスタ』から該当するデータを選択して『テーブル入力情報』に入力されるようにしたいと思うのですが、現状では、リレーションシップを設定すると、入力値が真っ白になってしまい、レポートにも入力したデータが反映されません。 ちなみに、入力する際はフィールドA=Me.テキストボックスBのようにしています。 何か良い解決策がありましたら、是非教えていただけませんでしょうか? 分かり難い文章かと思いますが、どうぞ宜しくお願い申し上げます。
- ベストアンサー
- オフィス系ソフト
- EXCELのセルや文字色の反映
例えばA1のセルに入力した値をB1に自動的に反映したい場合はB1に=A1と入力すれば反映されますが、A1のセルの色や文字色を変更したらB1に自動的に反映される方法がありましたら教えてください。
- 締切済み
- オフィス系ソフト