Seite 1 von 1

Makro: Datenbankabfrage in Feldbefehle schreiben

Verfasst: Sa 27. Apr 2013, 13:50
von m99999
Nach einigen Versuchen ist es mir zwar gelungen das Ergebnis einer Datenbankabfrage ist die Datenbank-Feldbefehle eines Textdokument zu schreiben.
da aber sehr viele Felder aus der Datenbank in das Textdokument übernommen werden müssen (mehrfach Verwendungen der Feldbefehle muß möglich sein) , dauert das sehr lange (geschachtelte Schleifen).
Früher unter StartOffice5.1(2) war das einfach mit Selection.DataUpdateFields

kennt jemand eine schnellere Lösung?

Code: Alles auswählen

sub Test4
  Dim myDataBaseContext as Object
  Dim myStatement as Object
  Dim ResultSet as Object
  Dim oTxt as Object
  Dim oFeld as Object
  Dim i as integer
  Dim s as string

  myDataBaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
  myStatement = myDataBaseContext.getByName("Adreßbuch").getConnection("","").createStatement()
  ResultSet=myStatement.executeQuery("SELECT * FROM Adressen WHERE FIRMA = 'Test1'")  
  if not IsNull(ResultSet) then
	ResultSet.next      ' nur den ersten Datensatz verwenden
'	while ResultSet.next ' alle gefundene Datensaetze verwenden
	  for i=1 to ResultSet.Columns.Count
		oTxt=thiscomponent.getTextFields().createEnumeration()
		while oTxt.hasmoreElements()
		  oFeld=oTxt.nextElement
		  if ofeld.supportsService("com.sun.star.text.TextField.Database") then
			if ResultSet.Columns.ElementNames(i-1)=ofeld.Textfieldmaster.DataColumnName then
			  oFeld.Content=ResultSet.getString(i)
			endif
		  endif
		wend
	  next i
'	wend ' alle gefundene Datensaetze verwenden
  endif
  msgbox "Fertig"
end sub

Re: Makro: Datenbankabfrage in Feldbefehle schreiben

Verfasst: Sa 27. Apr 2013, 16:43
von F3K Total
Crossposting ohne Referenz ist unhöflich!
R