Hello all - I am attempting to insert some SQL commands which I have tested on the server into VBA code, but I am getting stuck on the temp table creation.
I am attempting to duplicate a large record into a table with a PK and another unique field. My approach is to create a temp table, remove/change the data that needs to be unique and then insert it back into the original table.
I am getting stuck on the first line when it's embedded in VBA where I get a run-time error 2467 - object closed...
So the real question is how do I create a temporary table to do what I want to do and then on the back end, how do I remove it? Thanks...
Code:
DoCmd.RunSQL ("CREATE TEMPORARY TABLE drc.tmp AS SELECT * FROM tbl_FTSO WHERE TaskSR='" & Me.SourceSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET id = NULL WHERE TaskSR='" & Me.SourceSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET TaskSR='" & Me.TargetSR & " WHERE TaskSR=" & Me.SourceSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET PHIHIPPA = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET SOX = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET PCI = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET CertificateSummary = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET DateCertificateIssued = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET Environment = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET Facility = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET CEDate = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET RIDCert = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET CertNumber = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET CertType = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET PreceedingCertNumber = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("UPDATE tmp SET RecertificationSR = NULL WHERE TaskSR=" & Me.TargetSR & "';")
DoCmd.RunSQL ("INSERT INTO tbl_FTSO SELECT * FROM tmp;")
DoCmd.RunSQL ("DROP TABLE tmp;")