Frage

Ich habe eine Tabelle, die ich in einen Access DB konvertiere. Ich habe eine Spalte mit eingegebenen Kundennamen, die ich durch die entsprechende Kundennummer aus unserem Buchhaltungssystem ersetzen möchte.

Ich habe eine Tabelle mit den Kundeninformationen und einer Abfrage erstellt, die zeigt, welche ID in die Quelldaten eingefügt werden muss. Was ich suche ist:

UPDATE tblStarting_Data
SET CustomerID=x
WHERE TEMPCustomer=y

Wo x und y von QryidPercustomer kommen.

Kann ich eine Schleife verwenden? Wie beziehe ich mich auf eine andere Frage?

War es hilfreich?

Lösung

Eine andere Möglichkeit in MS Access (Objektnamen, die von Tomalak Antwort ausgeliehen wurden):

UPDATE tblStarting_Data, qryIDPerCustomer
SET tblStarting_Data.CustomerID=qryIDPerCustomer.CustomerID
WHERE tblStarting_Data.TEMPCustomer=qryIDPerCustomer.CustomerName

Andere Tipps

Ich denke, ein Join wird Ihnen helfen:

UPDATE 
  tblStarting_Data AS sd 
  INNER JOIN qryIDPerCustomer AS qc ON sd.TEMPCustomer = qc.CustomerName
SET 
  sd.CustomerID = qc.CustomerID;

Dies kann auch als korrelierter Unterbild ausgedrückt werden (obwohl die Join-Syntax vorzuziehen ist):

UPDATE 
  tblStarting_Data
SET 
  CustomerID = (
    SELECT  CustomerID 
    FROM    qryIDPerCustomer
    WHERE   CustomerName = tblStarting_Data.TEMPCustomer
  )

Beide Anweisungen werden keine Schleife benötigt, sondern alle Datensätze in aktualisiert tblStarting_Data in einem Schritt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top