Microsoft Access 掲示板

クロス集計のSQL文のエラー / 7

11 コメント
views
4 フォロー
7

まずは、
クエリのデザインビューでご希望の結果になるものを作成して、SQLビューにして、
それとVBAに記述したSQL文に違いがないか確認してみてください。


それで解決しない場合は、

「 _」は全箇所に既に入っております。なぜかサイトの投稿では消えてしまっています。

コード文はマークダウン記法のコードブロック内にいれてください。
詳細は下記のページを参照ください。

Microsoft Access 掲示板 の使い方 Microsoft Access 掲示板 - zawazawa

コードをコードブロック内に入れたものを投稿してください。

それと、フィールド名を「クロス請求金額」、「請求金額」にも変更しましたが、同じエラーが出てしまいます。

そのエラーメッセージを正確に提示してください。
「合算請求書番号」フィールドのデータ型も提示してください。

通報 ...
  • 9
    あん 2023/11/02 (木) 16:05:47 修正 927ea@2928c >> 7

    クエリのSQLビューにて確認しました。
    SELECT文のところで、「SUM(請求単価) AS 請求金額」が不要だったので削除しましたが、同じエラーが出ます。

    cnの省略も省略せずに載せます。

    
        cn.Open "Provider=SQLOLEDB;Data Source=SQLサーバー名;Initial Catalog=" & DLookup("データベース名", "tblデータベース") & ";User ID=ID;Password=PASSWORD;"
        rs_sub_total.CursorLocation = adUseClient
        rs_sub_total.Open "TRANSFORM SUM(請求単価) AS クロス請求金額 " & _
                            "SELECT 消費税率 " & _
                            "FROM tbl請求_合算Sub " & _
                            "WHERE 合算請求書番号 = '" & Num & "' AND 消費税率 IS NOT NULL " & _
                            "GROUP BY 消費税率 " & _
                            "ORDER BY 消費税率 " & _
                            "PIVOT 合算請求書特殊行;", _
                            cn, adOpenKeyset, adLockOptimistic
    

    エラーメッセージは、
    実行時エラー '-2147217900(80040e14)':
    '請求単価' 付近に不適切な構文があります。

    合算請求書番号のデータ型は「短いテキスト」です。SQLサーバーリンクで、サーバーの方の型は「nvarchar(255)」です。

    よろしくお願いします。