2012-03-22 14 views
0

Iはprodtableを参照することでPRODID参照を有するカスタマイズされたテーブルを有しています。Delete_fromおよび削除

私はこのcustomsiedテーブルレコードからのProdテーブルのレコードを削除する必要があります。 しかし、とき、私は製品版のテーブルにアクセスし、それを削除しようとすると、コントロールはちょうど私が誰にも教えてもらえます

delete_from ProdTable where prodTable.prodid == 'abc'; 

select prodtable where prodTable.prodid =='abc'; 
    prodTable.delete(); 

を使用してみましたが、操作

を実行せずに出てきますなぜこれが起こっているのですか

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

+0

あなたはAXのどのバージョンを使用していますか? –

答えて

0

私はあなたが「ABC」を使用していないと仮定しますが、カスタマイズしたテーブルからフィールドを使用して参加しました。

たぶん、カスタマイズされたテーブル内のProdIdが調整残っているが、ProdTable内のフィールドを右調整されていますか? prodTable.doDeleteは、クラスメソッドProdTableType.deleteで呼び出された場合

はまた、あなたがチェックしていますか?

4

selectが目的のレコードを返すされている場合、私がチェックしますまず第一に:

select prodtable where prodtable .prodid =='abc'; 
    info(strFmt('ProdId: %1, RecId: %2', prodtable.ProdId, prodtable .RecId)); 

注:あなたが(場合、エラーを生成する必要があり、更新のための選択を必要とし、削除できるようにするトランザクションであることを

ttsbegin; 
    select forupdate prodtable where prodtable .prodid =='abc'; 
    info(strFmt('ProdId: %1, RecId: %2', prodtable.ProdId, prodtable .RecId)); 
    prodtable.delete(); 
    ttscommit; 

forupdateを使用してトランザクションでないか(

prodtableカスタマイズテーブルであると仮定しません
0

制御だけでdeleteメソッドを呼び出した後

はあなたがrefresh the formする必要がありますか操作を実行せずに出てきますか?

関連する問題