szablon do makro wykonujace kod SQL

Użytkowanie programu bazodanowego
kubamiszcz
Posty: 2
Rejestracja: wt sie 04, 2015 2:46 pm

szablon do makro wykonujace kod SQL

Post autor: kubamiszcz »

szukam w necie i nie moge znalezc
wkleilby mi ktos szybko makro (szablon) wykonujace kod SQL? tak zebym tylko wklejal swoje zapytanie (moje makra dzialaja prze menu ale chce je podpiac pod przyciski/zdarzenia)

to ponizej nie dziala, pisze ze nie ma metody ActiveConnection

Kod: Zaznacz cały

Sub update_kolumne_imie_i_nazwisko
	REM make sure your connected to the database
	if IsNull(ThisComponent.CurrentController.ActiveConnection) then
	    ThisComponent.CurrentController.connect'
	endif
	
REM execute!
	Dim oStatement As Object
	oStatement = ThisComponent.CurrentController.ActiveConnection.createStatement()
	sSQL = "UPDATE pracownik SET imieinazwisko = CONCAT (CONCAT(imiepracownika, 'dasd'), nazwiskopracownika" 'HSQLDB case-sensitive
	oStatement.executeUpdate( sSQL ) 'Execute the SQL command
	odswiezbiezace()
End Sub
Apache Open Office 4.4.1
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: szablon do makro wykonujace kod SQL

Post autor: belstar »

LibreOffice 5.1.2.2 Ubuntu 16 LTS
kubamiszcz
Posty: 2
Rejestracja: wt sie 04, 2015 2:46 pm

Re: szablon do makro wykonujace kod SQL

Post autor: kubamiszcz »

dzieki:], w miedzyczasie posiedzialem chwile i wykminilem, moze sie komus przyda

Kod: Zaznacz cały

sub execute_sql(strSQL as string)
   Dim oStatement As Object
   Dim oDoc As Object
		
   oDoc = ThisDatabaseDocument.CurrentController
   if IsNull(oDoc.ActiveConnection) then
      oDoc.connect
   endif
   
   oStatement = oDoc.ActiveConnection.createStatement()
   oStatement.execute(strSQL)
end sub
przykladowe uzycie:

Kod: Zaznacz cały

sub makrotestowe
	execute_sql("UPDATE ""pracownik2"" SET ""imieinazwisko"" = CONCAT (CONCAT(""imiepracownika"", ' '), ""nazwiskopracownika"") ")
end sub
moj poprzedni sposob z jakiegos forum potzrebowal nazwy bazy i mial na sztywno wpisana, ten dziala ok:]

a ten plik obadam dzieki:]
Apache Open Office 4.4.1
ODPOWIEDZ