2017-11-26 8 views
0

を保存されていない - これらはデータベースに(日付など)いくつかのフィルタを適用し、鉱業(ゴールドレポート)のレポートテンプレートの数を移入アクセスSQLクエリは、私はいくつかのアクセスのフォームを使用して、SQLデータベースに接続してい

レポートを作成した人は、採掘した材料内の金のオンスを計算するための正しい式を追加しませんでした。だから、Access(2016)でコードを更新しようとしましたが、ビューをデータシートビューに切り替えると、必要な結果がテーブルに表示されます。しかし、訂正を保存しても、コードはコミットされません。レポート/クエリを再実行すると、元の不正なバージョンに戻ります。

以下のSQLクエリを更新するために私が探すことができるものについて、誰もが考えていますか?または、私は新しいクエリをコミットできるアクセスの設定ですか?

おかげ以下

オリジナル不正なコード:私は保存できませんでしたが、あまりにもしようとしていたコードの

SELECT lb.commodity, lb.BalanceDate, l.dataset, lb.LocationID, lb.TruckingAmount, lb.MoveInAmount, lb.MoveOutAmount, nz(lb.truckingAmount,0)+Nz(lb.moveinamount,0)-nz(lb.moveoutamount,0) AS ProdTonnes, lb.balanceGrade, lc.commodity_Grade_unit, iif (lc.commodity_Grade_unit = '%', Round((nz(lb.truckingAmount,0)+Nz(lb.moveinamount,0)-nz(lb.moveoutamount,0)) *nz(lb.BalanceGrade),0)/100, Round((nz(lb.truckingAmount,0)+Nz(lb.moveinamount,0)-nz(lb.moveoutamount,0)) *nz(lb.BalanceGrade),0)) AS ProdMetal, Round((nz(lb.truckingAmount,0)+Nz(lb.moveinamount,0)-nz(lb.moveoutamount,0))/31.10348,0) AS ProdOunces 
FROM tblProdLocationBalance AS lb, tblProdLocations AS l, tblProdLocationsCommodity AS lc 
WHERE lb.LocationID = l.locationid and lc.LocationID = l.LocationID and lb.Commodity = lc.Commodity and lb.BalanceDate = [Forms].[ext Prod Periodical Reporting].[txtStartDate] and (lb.TruckingAmount is not null or lb.moveinAmount is not null or lb.MoveOutAmount is not null) 
ORDER BY lb.BalanceDate, lb.commodity, l.dataset, lb.LocationID; 

バージョン。

SELECT lb.commodity, lb.BalanceDate, l.dataset, lb.LocationID, lb.TruckingAmount, lb.MoveInAmount, lb.MoveOutAmount, nz(lb.truckingAmount,0)+Nz(lb.moveinamount,0)-nz(lb.moveoutamount,0) AS ProdTonnes, lb.balanceGrade, lc.commodity_Grade_unit, iif (lc.commodity_Grade_unit = '%', Round((nz(lb.truckingAmount,0)+Nz(lb.moveinamount,0)-nz(lb.moveoutamount,0)) *nz(lb.BalanceGrade),0)/100, Round((nz(lb.truckingAmount,0)+Nz(lb.moveinamount,0)-nz(lb.moveoutamount,0)) *nz(lb.BalanceGrade),0)) AS ProdMetal, Round((nz(lb.truckingAmount,0)+Nz(lb.moveinamount,0)-nz(lb.moveoutamount,0)) * lb.balanceGrade/31.10348,0) AS ProdOunces 
    FROM tblProdLocationBalance AS lb, tblProdLocations AS l, tblProdLocationsCommodity AS lc 
    WHERE lb.LocationID = l.locationid and lc.LocationID = l.LocationID and lb.Commodity = lc.Commodity and lb.BalanceDate = [Forms].[ext Prod Periodical Reporting].[txtStartDate] and (lb.TruckingAmount is not null or lb.moveinAmount is not null or lb.MoveOutAmount is not null) 
    ORDER BY lb.BalanceDate, lb.commodity, l.dataset, lb.LocationID; 
+0

クエリを新しい名前で保存していますか?そうであれば、レポートのレコードをこの新しい名前を指すように変更する必要があります。または、誤ったクエリーに接尾辞を* _OLD *として追加し、新しいクエリーを元の名前で保存してレポートに変更しないでください。 – Parfait

+0

クエリーが元に戻されている場合は、レポートの起動時にコード内に動的に構築されることがあります。モジュール内のどこでも 'QueryDef'を調べてください。そのようなコードブロックであなたの投稿を更新してください。 – Parfait

+0

ヘッドアップありがとう。実際にはVBAコードで元のコードを持つSQLテーブルを参照していました。私はSQLテーブルの元のクエリを自分の望むコードとその作業に更新しました! – Cleaver

答えて

0

フォームがクエリのファイル文字列が含まれてSQL Serverテーブルを参照するように符号化された製品版のオンスの選択基準のコードに(アイブ* lb.balanceGradeを追加しました)。私はテーブルのファイル文字列を更新し、それは動作します。

関連する問題