StarBasic FAQWissen, das weiterhilft.

Datenbanken

Wie kann man die Datenbank in Writer austauschen?

Man kann auf Datenfelder über die Enumeration der Textfelder eines Dokumentes erreichen. Innerhalb der Numeration muss man nur auf den Service prüfen.
Bei diesem kann dann mit den Textfieldmasters der Datenbankname geändert werden.


Basic
Sub databasechange
 
  Doc = ThisComponent
 
  TextFelderEnumration = Doc.getTextFields.createEnumeration
 
    While TextFelderEnumration.hasMoreElements()
 
      TextField = TextFelderEnumration.nextElement()
 
      If TextField.supportsService("com.sun.star.text.TextField.Database") Then   
 
           textfield.textfieldmaster.databasename="Neuer Name"
 
      end if
 
  Wend
 
end sub



Man darf sich aber nicht verwirren lassen. Nach dem Makro wird beim Überfahren mit der Maus noch die alte Datenbank angezeigt. Geht man aber mit Doppelklick auf das Feld oder noch mal in "Datenbank austauschen" sieht man die Verknüpfung zu der neuen Datenbank. Wenn das Dokument speichert und wieder öffnet wird die neue Datenbank angezeigt.