Registrierte Datenbank - einzelne Tabelle aktualisieren

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Registrierte Datenbank - einzelne Tabelle aktualisieren

Beitrag von DPunch »

Aloha

Weiss jemand zufällig, ob es möglich ist, eine einzelne Tabelle einer Datenquelle zu aktualisieren?

Mit

Code: Alles auswählen

DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("meineDatenbank")
oConnection = DataSource.GetConnection("","")
oConnection.Tables.Refresh
kann ich zwar alle Tabellen im aktuellen Katalog aktualisieren, aber da dies wirklich extrem lange dauert, bringt mich das nicht weiter.
Also suche ich wie gesagt eine Möglichkeit, nur eine bestimmte Tabelle zu aktualisieren.

Hintergrund ist ein als Datenbank registriertes Tabellendokument.
Änderungen in diesem Dokument werden erst nach einem kompletten Neustart von OOo oder eben einem Tables.Refresh in der Datenbank tatsächlich sichtbar (auch ein Speichern und Schliessen des Tabellendokuments vor dem Zugriff bringt dabei nichts).

Der Refresh dauert schon bei nur 6 Sheets ~30 Sekunden, das endgültige Dokument wird jedoch ein Vielfaches davon an Sheets beinhalten.
berliner-teufel
Beiträge: 4
Registriert: Mo, 22.02.2010 00:15

Re: Registrierte Datenbank - einzelne Tabelle aktualisieren

Beitrag von berliner-teufel »

Hallo das hier dürfte funktionieren:

oConnection.Command = "UPDATE Tabellen_Name SET Spalte1 = [Wert1], Spalte2 = [Wert2] WHERE {Bedingung} "
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Registrierte Datenbank - einzelne Tabelle aktualisieren

Beitrag von DPunch »

Aloha

Danke für den Vorschlag, aber der hat leider nichts mit meiner ursprünglichen Frage bzw. Problemstellung zu tun ;)
Antworten