Combining Update & Select SQL-Anweisungen

MS Access VBA-Skripte, die SQL-Anweisungen erstellen:

Ich habe eine SQL-Anweisung, die zwei Felder in einer neuen Tabelle SATable ableitet:

SQLScript = "SELECT [DATA OUTPUT TABLE].* INTO SATable"
SQLScript = SQLScript & " FROM [DATA OUTPUT TABLE]"
SQLScript = SQLScript & " WHERE ((([DATA OUTPUT TABLE].[Journal Voucher ID]) In (SELECT [DATA OUTPUT TABLE].[Journal Voucher ID]"
SQLScript = SQLScript & " FROM [DATA OUTPUT TABLE]"
SQLScript = SQLScript & " GROUP BY [DATA OUTPUT TABLE].[Journal Voucher ID]"
SQLScript = SQLScript & " HAVING (((First([DATA OUTPUT TABLE].dBranch))=" & Chr(34) & "Navy" & Chr(34) & ") AND ((Last([DATA OUTPUT TABLE].dBranch))=" & Chr(34) & "USMC" & Chr(34) & ")) OR (((First([DATA OUTPUT TABLE].dBranch))=" & Chr(34) & "USMC" & Chr(34) & ") AND ((Last([DATA OUTPUT TABLE].dBranch))=" & Chr(34) & "Navy" & Chr(34) & "));)));"
DoCmd.RunSQL SQLScript

Dann habe ich eine Anweisung, die diese beiden abgeleiteten Felder nimmt und sie an die Originaltabelle anfügt:

DoCmd.RunSQL "UPDATE SATable INNER JOIN [DATA OUTPUT TABLE] ON (SATable.[Journal Voucher ID] = [DATA OUTPUT TABLE].[Journal Voucher ID]) AND (SATable.dBranch = [DATA OUTPUT TABLE].dBranch) SET [DATA OUTPUT TABLE].[Shared Appropriations] = [SATable].[dBranch] & " & Chr(34) & " Shared Appropriation" & Chr(34) & ";"

Mein Ziel ist es, die SATable zu entfernen und diese Aktion in einer Anweisung auszuführen.

Ich habe schon früher mit solchen Problemen zu kämpfen gehabt. Geben Sie uns bitte eine Erklärung, anstatt nur eine Antwort zu geben - LEHREN SIE EINEN MANN ZUM FISCH!

Cheers, -E

BEARBEITEN:----------------------------------------------- -------------- Die Datenausgabetabelle hat:

JVID dBranch SA
   1  Navy   N/A
   2  Navy   N/A
   3  Navy   N/A
   4  Navy   N/A
   A  USMC   N/A
   B  USMC   N/A
   3  USMC   N/A
   4  USMC   N/A

So wird der SATable:

JVID dBranch SA
   3  Navy   Navy SA
   3  USMC   USMC SA
   4  Navy   Navy SA
   4  USMC   USMC SA

Dann aktualisiert die Aktualisierungsabfrage das SA-Feld, das standardmäßig nicht zutreffend ist.

JVID dBranch SA
   1  Navy   N/A
   2  Navy   N/A
   3  Navy   Navy SA
   4  Navy   Navy SA
   A  USMC   N/A
   B  USMC   N/A
   3  USMC   USMC SA
   4  USMC   USMC SA

Antworten auf die Frage(2)

Ihre Antwort auf die Frage