Q&A

回答の並べ替え:
投稿新規に質問を投稿する

SQLアクションの検索条件でシートのカラムを指定する方法について

keiri001 keiri001

2024-01-13 15:10

CELFを最近導入した者です。
例えば、日付、科目コード、科目名、摘要、金額 というテーブルから範囲指定で抽出を
したいのですが、SQLアクションの検索条件でカラムを指定すると「SQLActionError:存在しないカラムへのアクセスが発生しました」とのエラーが表示されます。
日付の範囲指定を「開始日付」「終了日付」としてそれぞれB3とB5カラムに割り当てています。

SQL文は以下の通りです。
SELECT
日付,
科目コード,
科目名,
摘要,
金額
FROM
テーブル
WHERE
発行年月日 BETWEEN B3 AND B5

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

新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
こんばんは。

問題が解決したとのこと、何よりです。

お時間が御座いましたら、
画面左下のグッドボタンからベストアンサーの評価をお願い致します。

今後ともよろしくお願いします。
メールコンタクトをとる
keiri001 keiri001
新日本コンピュータマネジメント株式会社 ご担当者様

お世話になります。

ご指摘の方法で無事解決いたしました。
ご対応ありがとうございました。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
こんにちは。

並び順については、SQL文の末尾に、「ORDER BY カラム名」で問題ないはずです。
正しく動作しないのは、「ORDER BY 日付」のORDERとBYの間が全角スペースになっている為でしょうか。

「ORDER BY 日付 ASC」
「ORDER BY 日付 DESC」

で動作すると思います。
メールコンタクトをとる
keiri001 keiri001
新日本コンピュータマネジメント株式会社 ご担当者様

ご回答ありがとうございました。
ご指摘の③の方法で上手くいきました。

追加の質問で申し訳ありませんが、このSQL文にORDER BYで「日付」順に並べ替えたいのですが、”ORDER BY 日付” では上手くいきません。初歩的な質問で申し訳ありませんが、宜しくお願い致します。 
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
こんばんは。

SQLアクションでどこが悪いか、段階的にお試し頂くことで解決に近づくかもしれません。
以下の3点を順にお試しください。

①WHERE句を無しで全件取得で試してみる。
SELECT 日付,科目コード,科目名,摘要,金額
FROM テーブル

②WHERE句を付けて固定値で試してみる。
SELECT 日付,科目コード,科目名,摘要,金額
FROM テーブル
WHERE 発行年月日 BETWEEN '2024-01-01' AND '2024-01-31'

③パラメータを設定して実行してみる。
SELECT 日付,科目コード,科目名,摘要,金額
FROM テーブル
WHERE 発行年月日 BETWEEN $StartDate AND $EndDate

※SQLアクションのSQLパラメータにて設定しておくこと。
  パラメータ StartDate 値 B3
  パラメータ EndDate 値 B5

設定方法は以下のHPの通りです。
https://cloud.celf.jp/celf-help/ja/texts/extension_sql/about_sql.html

よろしくお願いいたします。
メールコンタクトをとる