Access2016 マイナス設定ができません

このQ&Aのポイント
  • Access2016でマイナスの設定ができない場合の対処方法を教えてください。
  • 先日質問して頂いた内容に関して、教えていただいた方法でもマイナスの設定ができない状況です。
  • SQL文を実行する際に、FROM句の構文エラーが発生しており、マイナスの設定ができません。
回答を見る
  • ベストアンサー

Access2016 マイナス設定出来ません。

こんにちは 先日、質問して丁寧にお教え頂いたのに どうしても出来ません。先日、教えてくださったお二方様 出来が悪い子で本当にすみません。 SELECT T入出金.番号, T入出金.日付, T入出金.発電所コード, T入出金.発電所名, T発電所マスター.事業形態, T入出金.項目コード, T項目マスター.項目名, T入出金.[金額(税込)] FROM (T入出金 INNER JOIN T項目マスター ON T入出金.項目コード = T項目マスター.項目コード) INNER JOIN T発電所マスター ON T入出金.発電所コード = T発電所マスター.発電所コード, UPDATE T入出金 SET [T入出金].[金額(税込)] = [T入出金]![金額(税込)]*-1 WHERE ((([T項目マスター].項目コード)="K02")); で、実行すると FROM 句の構文エラーです。となります。 詳しい方、よろしくお願いいたします。

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

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

select文とupdate文を一つにすることはできません >UPDATE T入出金 SET [T入出金].[金額(税込)] = [T入出金]![金額(税込)]*-1 WHERE ((([T項目マスター].項目コード)="K02")); は演算記号を連続出来ないと思います UPDATE T入出金 SET [T入出金].[金額(税込)] = [T入出金]![金額(税込)]*(-1) WHERE ((([T項目マスター].項目コード)="K02")); か UPDATE T入出金 SET [T入出金].[金額(税込)] = -[T入出金]![金額(税込) WHERE ((([T項目マスター].項目コード)="K02")); 補足 テーブルの設計を見直す必要があります。 テーブルの詳細を記述して、新規にQをして下さい。

tonkotsu0707
質問者

お礼

ご親切にありがとうございます。 全然理解していなくて、変な質問になっているかと思います。 お言葉に甘えて、再び質問致します。 月初でバタバタしてて、ご連絡が遅くなり申し訳ありません。 今後ともよろしくお願い致します。

その他の回答 (1)

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは まず、先日の質問というのがどのような物か分かりません。 あと、今回は何をしたいのか書いてないです。 提示されてるのは、選択クエリなのか、更新クエリなのか? 同時にか無理かと。

tonkotsu0707
質問者

お礼

早速のご対応ありがとうございます。 「選択クエリなのか、更新クエリなのか? 同時にか無理かと。」 そういう事なのですね、通常クエリデザインで簡単に作成して SQLですか?そこ全然理解できていないんです。 先日の質問の内容も書かずにすみません。 頭の中整理して出直します。今後ともよろしくお願い致します。

関連するQ&A

  • Access 意図しないパラメータ入力

    クエリを作成中なのですが、意図しないパラメータ入力ボックスが表示されます。 テーブルでは店マスタを一側 それ以外の項目が多側になっています。 エクセル用に横並びにするため多側を抽出条件で各項目ごとにクエリを作成しました。 これを一まとめのクエリにしようとしましたが項目が10以上あり クエリが複雑すぎる、ということで二つに分けようとしたのですが 二つ目のクエリでなぜかパラメータ入力が表示されます。 抽出条件は指定していません。 なぜこのようなことになるのでしょうか? 店マスタはテーブルのものを使用。 ゴルフ、球技ボール・・・は多テーブルから各条件を指定し抽出したクエリ。 SELECT ■店マスタ.店コード, ゴルフ.*, 球技ボール.*, 釣.*, 登山・アウトドア.*, 海・水中.*, 武道.*, その他.*, 合計.* FROM (((((((■店マスタ INNER JOIN ゴルフ ON ■店マスタ.店コード = ゴルフ.店コード) INNER JOIN 球技ボール ON ■店マスタ.店コード = 球技ボール.店コード) INNER JOIN 釣 ON ■店マスタ.店コード = 釣.店コード) INNER JOIN 登山・アウトドア ON ■店マスタ.店コード = 登山・アウトドア.店コード) INNER JOIN 海・水中 ON ■店マスタ.店コード = 海・水中.店コード) INNER JOIN 武道 ON ■店マスタ.店コード = 武道.店コード) INNER JOIN その他 ON ■店マスタ.店コード = その他.店コード) INNER JOIN 合計 ON ■店マスタ.店コード = 合計.店コード;

  • SQLについて

    以下のSQLを実行すると。 SQL実行中に以下のエラーが発生しました。 エラーコード:907 [Oracle][ODBC][Ora]ORA-00907: 右カッコがありません。 というエラーが表示されます。 どこがおかしいでしょうか? SELECT Q1.Pコード, Q1.Qコード, T1.E名称 A名称, T2.E名称 B名称, T3.E名称 C名称, T4.E名称 D名称, FROM ( ( ( ( SELECT Pコード, Qコード, Aコード, Bコード, Cコード, Dコード, FROM 報告書 WHERE Pコード = '0001' AND Qコード = '0001' AND ) Q1 INNER JOIN Eマスタ T1 ON Q1.Aコード = T1.Eコード ) INNER JOIN Eマスタ T2 ON Q1.Bコード = T2.Eコード ) INNER JOIN Eマスタ T3 ON Q1.Cコード = T3.Eコード ) INNER JOIN Eマスタ T4 ON Q1.Dコード = T4.Eコード ORDER BY Pコード, Qコード;

  • ACCESS SQL 括弧について

    AS 売上の合計をAS 07売上の合計に変えたところ かっこの使い方が正しくないと言われました。 ASの名前を変えただけなのですが、何が問題なのでしょうか? SELECT IIf([07売上の合計]=[売上],"●","×") AS 比較 FROM [SELECT ■T_M店マスタ.企業コード, ■T_M店マスタ.データレベル, Sum(■売上三期.[07年_売上]) AS 07売上の合計 FROM ■T_M店マスタ INNER JOIN ■売上三期 ON ■T_M店マスタ.店コード = ■売上三期.店コード GROUP BY ■T_M店マスタ.企業コード, ■T_M店マスタ.データレベル HAVING (((■T_M店マスタ.データレベル)="10"))]. AS 店 INNER JOIN [SELECT [●T_K調査データ(売上)企業レベル(単独店込み)].企業コード, [●T_K調査データ(売上)企業レベル(単独店込み)].売上, Format(DateAdd("m",-6,CDate("H" & Left([決算期],2) & "年" & Right([決算期],2) & "月")),"yyyy" & "年") AS 式1 FROM [●T_K調査データ(売上)企業レベル(単独店込み)] WHERE (((Format(DateAdd("m",-6,CDate("H" & Left([決算期],2) & "年" & Right([決算期],2) & "月")),"yyyy" & "年"))="2007年"))]. AS 企業 ON 店.企業コード = 企業.企業コード WHERE (((IIf([07売上の合計]=[売上],"●","×"))="×"));

  • viewでfrom句にサブクエリが書けない

    こんにちは。MYSQLのVIEWの代替についてお教え下さい。 下記でinner joinについて教えて頂きました。 http://okwave.jp/qa/q7296711.html 環境はWin 7 MYQL5です。 t1テーブルのデータ ID,在庫 001,22 t2テーブルのデータ ID,出庫 001,17 001,3 SELECT A.z AS `在庫`,B.* FROM (SELECT SUM(stock) AS z FROM t1 WHERE id='001' GROUP BY id) A INNER JOIN t2 B ON A.id=B.id というコードで、それぞれのテーブルをグループ化してグループ化したもの同士をJOINしました。 このコードを元にVIEWを作り、そのVIEWを対象にクエリを作ろうと考えていました。 しかしながら、MYSQLのVIEWではFROM句でサブクエリは使えませんでした。 http://www.klab.jp/media/mysql/index4.html 上記のコードを書きなおして、なんとしてもVIEWで利用したいのですが、FROM句でサブクエリを使わずにVIEWを作成する方法がわかりません。 どのようにリライトすればよいか、ご助言お願い致します。

    • ベストアンサー
    • MySQL
  • INNER JOINの有用性

    INNER JOINの有用性 内部結合時に「INNER JOIN」と記述する有用性を教えてください。 内部結合を行なう際は、一般的には FROM句にテーブル名を列挙し WHERE句にテーブル間結合条件を列挙する という形式をとります。少なくとも私は。 これをあえて「INNER JOIN」を使用して記述する有用性が分かりません。 私がぱっと思いつくレベルであれば、 「WHERE句に記述される条件の種類には、抽出条件とテーブル間結合条件の 2種類の条件が混在している。混乱を避ける為これを分離する」 と、屁理屈をこねることも可能ですが、 FROM句にテーブルと「INNER JOIN」記述を混在させるほうが よっぽど分かりにくいように感じます。 あとさらに強いて言えば、「LEFT JOIN」にしたり「INNER JOIN」にしたりを 頻繁に切り替える場合とか。そんなこともまずないと思いますが…。 なので、「INNER JOIN」を使用する有用性をまったく感じません。 あえて使用する意味はあるのでしょうか? 質問は ・内部結合時に「INNER JOIN」を使用する有用性があるのか? ・有用性があるのであればどのような場合か? です。よろしくお願いします。

  • Accessでタイムによるレーンの割り振り方法について

    お世話になります。 アクセスの抽出?についての質問です。 水泳競技のレーン割り振りをアクセスにて作成しております。 各種目ごとのエントリータイムの昇順までは表示させることができましたが、 レーンの割り振りをどのように行えばよいか全く見当もつきません。 各種目ごとのタイムから 1位は4レーン 2位は5レーン 3位は3レーン 4位は6レーン 5位は2レーン 6位は7レーン 7位は1レーン と割り振りを行いたい。 しかし、参加者が6の倍数の場合は 1位は4レーン 2位は5レーン 3位は3レーン 4位は6レーン 5位は2レーン 6位は7レーン と割り振りを行います。 ですが、6と7の最小公倍数が42のため、参加者が42を超えた場合には 1位は4レーン 2位は5レーン 3位は3レーン 4位は6レーン 5位は2レーン 6位は7レーン 7位は1レーン と割り振りを行いたます。 単純に抽出を行うためのクエリは以下のようにしました。 SELECT Tエントリーマスター.生徒ID, Tエントリーマスター.生徒名, Tエントリーマスター.フリガナ, T学校マスター.学校名, T種目マスター.種目名 AS 種目名の合計, Tエントリーマスター.タイム FROM T種目マスター INNER JOIN (T学校マスター INNER JOIN Tエントリーマスター ON T学校マスター.学校ID=Tエントリーマスター.学校ID) ON T種目マスター.種目ID=Tエントリーマスター.種目ID GROUP BY Tエントリーマスター.生徒ID, Tエントリーマスター.生徒名, Tエントリーマスター.フリガナ, T学校マスター.学校名, T種目マスター.種目名, Tエントリーマスター.タイム, Tエントリーマスター.学校ID, Tエントリーマスター.種目ID ORDER BY T種目マスター.種目名, Tエントリーマスター.タイム; お忙しいとは思いますがよろしくお願いいたします。

  • SQLでSELECTした一覧をUPDATEする方法を教えてください。

    AのテーブルをINNER JOINのWHERE文を用いて、selectした結果の項目にBテーブルの内容をUPDATEしたいのですが、 下記方法でうまくいきません。 解決方法を教えてください。 よろしくお願いいたします。 SELECT A.PointZan FROM A INNER JOIN B ON A.Code = B.Code WHERE (B.TrDate = '091012') AND (B.Comment = '失効中止') UPDATE A SET PointZan = (SELECT B.PointZan FROM B INNER JOIN A ON B.Code = A.Code WHERE (B.TrDate = '091012') AND (B.Comment = '失効中止'))

  • ちょっと見かけないinner joinについて

    どなたか以下の構文について教えて下さい。 どこのDBMSで使用されるものなのでしょう? SELECT B.項目1, B.項目2, A.項目2, A.項目3 FROM ( ( SELECT * FROM Bテーブル WHERE 項目3>"1" ) B INNER JOIN ( SELECT * FROM Aテーブル WHERE 項目2=10 ) A ON B.項目1=A.項目1; 意味はわかるのですが、普通のinner joinとは違うもので。

  • ACCESS 結合ができません。

    祖母が句会に入っていて、私はACCESSを触っているだけなのですが、祖母の周囲にパソコンを使える人が居ないため、頼まれました。 プログラムの変更なのですが、ACCESSを作った人は退会されているので、困り果てております。 ・現在の時間帯が、第2希望まで選べているが、それが第5希望まで選べるようになった。 ・テーブル「T時間M」から「T時間M-4」まであり、-2からは、第2希望から参照している。 クエリの構造については、画像で添付しましたが、仮名に変更してあります。 コードについては、SQLで組まれており、LEFT JOINとなっていますが、3つ以上の結合を行うと、フォームでは「Name?」となってしまいます。 コードの記述についてですが、SQLの構文部分を書き出します。 SQL = "SELECT T会員M.名前," _ & "T男女M.男女, T会員M.年齢, [T時間M.項目C] &" _ & " T時間M.回数 AS 第1, T会員M.当落1," _ & " [T時間M_1.項目C] & T時間M_1.回数 AS 第2, T会員M.当落2" _ & " FROM T時間M INNER JOIN (T男女M INNER JOIN (T会員M LEFT JOIN T時間M AS T時間M_1 ON" _ & " T会員M.第二希望時間CD = T時間M_1.時間id) ON T男女M.男女C = T会員M.男女C) ON" _ & " T時間M.時間id = T会員M.第一希望時間CD " _ この後の記述は & "WHERE ~省略 & " ORDER BY  ~省略 Me.RecordSource = SQL となっています。

  • JOIN句の記述の違いによるパフォーマンスへの影響

    以下のEx1,2のJOIN句の記述方法の違いはクエリのパフォーマンスに影響するのでしょうか? 2万件程度のデータ量で試してみたのですが明確なパフォーマンスの違いを確認できませんでした。(1秒~2秒) 単純に書き方だけの違いであれば心置きなく自分ではわかりやすいと感じているEx1の記述方法で統一したいので。 よろしくお願いします。 -- /* SQL Server 2008 R2 */ -- /* 受注した全ての商品名を取得するクエリ(例) */ -- /* 登場テーブル・カラム */ -- // M_goods 商品マスタ -- // code 商品コード -- // name 商品名 -- // T_orders 受注テーブル -- // number 受注番号 -- // T_orderdetails 受注明細テーブル -- Ex.1 SELECT M_goods.name FROM T_orders LEFT JOIN T_orderdetails ON T_orders.number = T_orderdetails.number LEFT JOIN M_goods ON T_orderdetails.code = M_goods.code -- Ex.2 SELECT M_goods.name FROM T_orders LEFT JOIN T_orderdetails LEFT JOIN M_goods ON T_orderdetails.code = M_goods.code ON T_orders.number = T_orderdetails.number

専門家に質問してみよう