Update sql na DoCmd.CopyObject

Status
Niet open voor verdere reacties.

so10070

Gebruiker
Lid geworden
4 feb 2014
Berichten
424
Ik wil eerst een tabel kopiëren voor er wijzigingen in aan te brengen. Dit is de code.
Code:
    DoCmd.CopyObject , "tblLijstProducten_Kopie_" & Now(), acTable, "tblLijstProducten"
           
    sqlUpdate = "UPDATE tblLijstProducten SET tblLijstProducten.ProductActief = False;"
    DoCmd.RunSQL sqlUpdate
Echter bij het uitvoeren wordt ook in de gekopieerde tabel het veld [ProductActief] op False gezet. Hoe kan ik dit voorkomen? :(
 
Waarom zou je voor zo'n simpele klus (één Ja/Nee veld voor alle records op Nee zetten) een kopie maken van de complete tabel? Ik werk al 30 jaar met databases, maar déze handeling heb ik dus nog nooit nodig gehad. En ook nooit gemist... Neemt niet weg dat het commando vermoedelijk nog wel zou werken als er wat meer tijd tussen de commando's zit. Ik vermoed dat het kopiëren van de tabel nog niet klaar is. En dat de SQL update dus de tabel bijwerkt voordat hij gekopieerd is. Maar ik ben wel heel erg benieuwd waarom je dit nodig hebt...
 
Ik had ook al zo'n vermoeden. Meer tijd tussen de commando's geven.
Maar waarom heb ik deze werkwijze nodig. Verschillende velden van de actief gezette producten worden in verschillende comboboxen gebruikt. Één maal per kalenderjaar reset de beheerder de tabel van de producten om voor het nieuwe kalenderjaar andere en/of nieuwe producten actief te zetten. Om te voorkomen dat de beheerder per ongeluk de tabel producten reset, maak ik voor mijn eigen gemak een backup.
 
En jullie hebben geen Back-up procedure waarbij de hele db dagelijks wordt gebackupt? Dus ook die tabel? Als het eenmalig gebeurt op een vast tijdstip, zou ik het sowieso scripten. En die (blijkbaar onbetrouwbare) beheerder terugzetten naar de afdeling Bordenwassen :).
 
We hebben wel een back-upsysteem, maar ik wil een omslachtige procedure met de ICT-dienst om een verloren tabel terug op te halen, vermijden. Maar een script lijkt me wel wat. ☺
 
Één maal per kalenderjaar reset de beheerder de tabel van de producten om voor het nieuwe kalenderjaar andere en/of nieuwe producten actief te zetten.
... maar ik wil een omslachtige procedure met de ICT-dienst om een verloren tabel terug op te halen, vermijden.
Dus, even voor de volledigheid: je hebt een procedure die één keer per jaar wordt uitgevoerd, en nu ga je tijd steken in een oplossing voor een probleem dat dus maximaal één keer per jaar kan voorkomen? Mij lijkt het dat het probleem, gezien dat het maar één keer per jaar kan voorkomen, toch niet meer dan één keer in de pak 'm beet 10 jaar überhaupt voor gaat komen. Persoonlijk zou ik zeggen: ga wat nuttigs doen met je tijd, er moeten grotere problemen te vinden zijn dan deze.... :D
 
Ga andermaal je advies volgen. Ga mijn tijd nuttiger invullen en ga van de zon genieten, voor zolang het nog duurt. :thumb:
 
Beste advies dat ik in jaren gegeven heb :).
 
De zon heeft effect gehad! Heb het probleem opgelost. Door het commando
Code:
DoCmd.CopyObject , "tblLijstProducten_Kopie_" & Now(), acTable, "tblLijstProducten"
te gebruiken, creëerde ik een gekoppelde tabel (Back Office). Door dit commando te veranderen in
Code:
    strKopieTabel = "SELECT tblLijstProducten.* INTO tblLijstenProducten_Kopie FROM tblLijstProducten;"
werd dit een lokale tabel. Probleem opgelost! :d
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan