Frage

Ich habe eine Access-Datenbank, in der ich die Tabelle löschen und erstellen Sie dann die Tabelle neu.Ich muss jedoch in der Lage sein, zu testen, für die Tabelle, in Fall die Tabelle wird gelöscht, aber nicht erstellt werden (D. H.wenn jemand Stoppt die DTS-Paket einfach nach dem Start -roll-Augen- ).Wenn ich Taten dies in der SQL-Datenbank würde ich einfach tun:

IF (EXISTS (SELECT * FROM sysobjects WHERE name = 'Table-Name-to-look-for'))
BEGIN
drop table 'Table-Name-to-look-for'
END

Aber wie mache ich das für eine Access-Datenbank?

Optional Antwort:gibt es eine Möglichkeit zu haben, das DTS-Paket den Fehler ignorieren und nur an den nächsten Schritt gehen, anstatt zu überprüfen, ob es existiert?

SQL Server 2000

War es hilfreich?

Lösung

Ich bin mir nicht sicher, ob Sie können Abfrage der system-Objekte-Tabelle in eine Access-Datenbank aus einem DTS-Paket.

Wenn das nicht arbeiten, warum nicht nur versuchen, tut ein WÄHLEN Sie * aus der Access-Tabelle in Frage, und dann fangen Sie die Fehler wenn es scheitert?

Andere Tipps

Versuchen Sie das gleiche T-SQL, aber in MS ACCESS sys-Objekte Tabelle aufgerufen wird:MSysObjects.

Versuchen Sie dies:

SELECT * FROM MSysObjects WHERE Name = 'your_table';

und sehen, ob es dort funktioniert.

Werfen Sie einen Blick auf diese Tabellen, wenn Sie gehen Sie zu Extras -> Optionen -> Ansicht (Registerkarte) -> und aktivieren Sie Versteckte Objekte, System Objects.So kann man beide sehen.Wenn Sie die Tabelle öffnen, sollten Sie Ihre Tabelle mit Namen, Fragen, etc.Tun Sie dies nicht ändern oder manuell die DB könnte Panik :)

Martin.

P. D.:Wenn Vorhanden, sollten auch überprüfen, Objekt Typ:

IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[Your_Table_Name]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)

Microsoft Access hat ein system Tabelle MSysObjects, dass enthält eine Liste aller Objekte der Datenbank, einschließlich der Tabellen.Tabelle Objekte vom Typ 1, 4 und 6.

Es ist wichtig, eine Referenz-Typ:

...Where Name='TableName' And Type In (1,4,6)

Ansonsten, was zurückgegeben wird, könnte ein paar anderen Gegenstand als eine Tabelle.

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