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

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

新規登録して質問してみよう
ただいま回答率
85.47%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

2回答

8328閲覧

Access SQlエラー(FROM句の構文エラーです)

athuhiro

総合スコア15

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

1クリップ

投稿2021/05/17 16:34

ACCESS

1SELECT コード, 項目名, 金額 2FROM (SELECT * FROM 支給項目一覧) file 3UNPIVOT (金額 FOR 項目名 IN (手当1, 手当2) 4) AS unpvt 5ORDER BY unpvt コード desc 6;

上記SQL文をACCESSにて作りましたが、「FROM 句の構文エラーです。」とエラーメッセージが表示されてしまいます。

やりたいことは
横持のデータを
コード 手当1 手当2 手当3・・・・・・・
10001 100 300 400
10002 140 200 150


縦持ちにすることです
コード 項目名 金額
10001 手当1 100
10001 手当2 300
10001 手当3 400


UNPIVOTを使うとそのようにできるとわかりましたが、初歩的なエラーで躓いております。
どなたかご教授いただけますと幸いです。

よろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

SQLで行うなら、UNIONクエリーにするしか無いです。

SQL

1select コード, "手当1" as 項目名, 手当1 as 金額 from 支給項目一覧 2union all select コード, "手当2", 手当2 from 支給項目一覧 3union all select コード, "手当3", 手当3 from 支給項目一覧 4 ・ 5 ・ 6 ・

投稿2021/05/20 02:02

sazi

総合スコア25206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

athuhiro

2021/05/20 03:09

sazi様 UNION ALLを使用すればよいとのこと、ありがとうございました。 お手数ですが、次は以下で詰まっております。 実はカラムが120列(つまり手当が120つある)ほどあり、 UNION ALLの使用回数(30回まで?)に対応できない、と考えております。 このような場合どのように対応できるか、ご教示いただけないでしょうか。 よろしくお願いいたします。
sazi

2021/05/25 01:13 編集

制限内でのUNIONクエリーを作成して、そのクエリーをさらにunionして下さい。
sazi

2021/05/20 03:15

いっそVBAでテーブルを作成した方が手間は掛からない気がしますが。
guest

0

列持ちデータを行持ちデータに変換したいのですね

Micorosoft Access の場合 UNPIVOT は 用意されていないので、標準的なSQL を利用して対応することになります。

Teratail で 過去に同様の質問と回答がありますので、参考になさってはいかがでしょうか。

Access 単純に表テーブルの縦横(行列)の変換(入れ替え)を行いたい。

投稿2021/05/18 00:16

Yoshi88

総合スコア623

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問