Działania na tabelach: zmiana nazwy i kopiowanie
Działania na tabelach: zmiana nazwy i kopiowanie
Szukam sposobu (makra), który zmieniałby nazwę tabeli "Historia" na "Archiwum z datą bieżącą" (lub nadawałby kolejne numery) oraz kopiowałby tabelę "Historia1" zmieniając jej nazwę na Historia". Przykład w załączniku.
- Załączniki
-
- zajecia1.odb
- (125.57 KiB) Pobrany 181 razy
OpenOffice 3.4.1 na Windows 7
Re: Działania na tabelach: zmiana nazwy i kopiowanie
Do takich rzeczy powinien wystarczyć SQL. Możesz go obudować w standardowy interfejs makropolecenia, jak np. w https://forum.openoffice.org/pl/forum/v ... 2169#p2152, albo wpisywać do okna "Wykonaj bezpośrednio polecenie SQL" (nie myląc go z oknem kwerendy).
Referencja do dialektu SQL używanego w bazie wbudowanej do OO/LO: http://hsqldb.org/doc/1.8/guide
Referencja do dialektu SQL używanego w bazie wbudowanej do OO/LO: http://hsqldb.org/doc/1.8/guide
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Działania na tabelach: zmiana nazwy i kopiowanie
SQL:
Base: Narzędzia -> SQL
Makro (Basic):
Kod: Zaznacz cały
alter table "stara" rename to "nowa"
Makro (Basic):
Kod: Zaznacz cały
sub zmianaNazwyTabeliWBazie()
Dim DatabaseContext As Object
Dim DataSource As Object
Dim Connection As Object
Dim InteractionHandler as Object
Dim Statement As Object
Dim ResultSet As Object
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("moja baza") rem wpisz nazwę pod jaką Twoja baza jest zarejestrowana (przy użyciu tej metody dostępu musi być zarejestrowana)
If Not DataSource.IsPasswordRequired Then
Connection = DataSource.GetConnection("","")
Else
InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
Connection = DataSource.ConnectWithCompletion(InteractionHandler)
End If
Statement = Connection.createStatement()
ResultSet = Statement.executeQuery("ALTER TABLE ""stara"" RENAME TO ""nowa""")
rem zależnie od konfiguracji, może być potrzebne zatwierdzenie zmiany poleceniem Commit
Connection.Close()
end sub
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)