システムwiki

このアップデートSQLが更新されていない理由!

ISAtv 解決済 最終更新日:2021-05-02 02:22

こんにちは, このアップデートSQLが更新されていない理由!更新[PN詳細TEMP]右[PN詳細Temp] .voucher= pndetails.voucher set pndetails.voucher= [PN詳細Temp]![voucher]
ここで(([PN詳細TEMP].[PN-NO])<>"0");
の選択が表示されているがうまく機能し、正しい値と適切なレコード数を示します.
エラーは表示されず、メッセージが「N個のレコードが更新されます..」というメッセージが表示されます..

返信リスト(回答:11)

5 #
QAGuyCo

私はこの間違って読んで-あなたが参加しているのと同じフィールドを更新したいですか?

応答5# ->にスキップ
8 #
ISAtv

"[PN Details Temp]].[PN-No]"は選択しますが、SQLは(QBEを実行したときに)選択を行いません.たとえば、必要な値を持つ10個のレコードがあります.

応答8# ->にスキップ
7 #
dhookom

カールは絶対に正しいです.クエリは、フィールド値をすでに等しい値に設定しようとしています.「SetA=1 where A=1」と言っているようなものです.

あなたがやろうとしていることに関して、いくつかの背景を提供する必要があると思います.

また、複数のtableを含むほとんどの更新クエリでは、主キーの結合が必要です.

応答7# ->にスキップ
9 #
ISAtv

私はこの問題についてあなたがたくさんの時間をかけていますが、それは挑戦です.
私はすべてのtableをチェックし、この「Tablea」のように各tableのコピーを作成したことを発見しました.もう1つの "Tablea1"などがあります.
私が2回輸入したことになるかもしれません、よくわからない.それはサイズを説明し、私はします. 削除できます...1?
そうでなければ、私の主題の質問問題を除いて働いています.
簡単な単語では、何が続きます.
1-tableのTempにはフィールドPN-NO、およびバウチャー、デートフィールドがあります. (10レコード、言う)
2-表Pndetailsには、PN-No、Voucher、およびフィールドがあります.
3-Pndetailsのバウチャー値を更新したい TEMPのものと一緒に 両側のPN-NOは等しい.

はそれの最後のversionです:

更新[PN詳細TEMP] [PN詳細TEMP].Voucher= Pndetails.VoucherセットPndetails.Voucher= [PN詳細Temp]![バウチャー]、Pndetails.Amount= [PN詳細Temp]![金額]、Pndetails.[PN-NO]= [PN詳細TEMP] [PN-NO]
ここで(((PN詳細テンパ][Pn-NO])<>「0」);

10 #
dhookom

これが当てはまる場合「PNDetailsのバウチャー値を更新したい PN-両側のNoが等しいTempのそれらと.」次に、変更する必要があります
バウチャーとPN-Noの代わりにPN-Noへの結合は、ソースtableの主キーである必要があります.

11 #
JohnW.V

PN-No Textフィールドは?現在の値は単一のテキスト文字0(またはおそらくnull)ですか?なぜ正しい結合?マッチングレコードがない場合は、バウチャーを更新するものは何もありません.

私はAではなく期間を使うでしょう!区切り文字、およびfieldNamesのような句読点の使用を回避する-アクセスは混乱します.

応答11# ->にスキップ
1 #
ISAtv

こんにちはジョン,

Pn-Noは、tableの上の値を ""にデフォルトでデフォルトである.

HMM、宛先tableでも同様のフィールドPN-NOを見つけました. NULLS..しかしそれを使用していません.

ここに加入してもここには効果がありますか?

応答1# ->にスキップ
2 #
dhookom

バウチャーフィールドは、一方または両方のtableに主キーですか?

応答2# ->にスキップ
3 #
ISAtv

どちらもテキストフィールドのみではありません.だから私は参加しました.

これが理由かどうかわからない.

応答3# ->にスキップ
4 #
dhookom
テキストフィールドは主キーにすることができます.少なくとも一時tableフィールドを主キーにしてみてください.
応答4# ->にスキップ
6 #
ISAtv

maketableの結果であるため、TempファイルにPKがありません.PKを作成する方法です(手動ではありません).

PNDetailsは、デフォルトのIDキーとしてPKを使用しています.IDからPN_Noに変更しようとしました 重複でインデックスが作成されますが、指示に従っていますが、そうすることはできません.最初にPKを削除し、次に保存してから、新しいPKを作成するなど...しかし、運が悪い.:(