Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 3. 9. 2011 22:36:47

djiri
Člen
Registrace: 3. 9. 2011
Příspěvků: 3

přenos dat base > calc a zpět - VYŘEŠENO MAKRO??

Přeji dobrý den,
mám takovou vizi:
nějakým způsobem dostanu data z database do calcu tam je nějak zpracuji a pošlu je zpět.
Lze to nějak provést, nemyslím tím že si otevřu datový zdroj a data překopíruji tam a zpět. Zkoušel jsem projít i formulářové funkce, ale ani tím je nejsem schopný přenést do buňky, pouze zobrazit v objektu formulářového prvku formuláře na lisu sešitu.
Lze to nějak provést ???
Předem dík alespoň za nakopnutí.
Dvořák

Offline

#2 4. 9. 2011 21:39:13

sedlacekdan
Moderátor
Místo Nehvizdy
Registrace: 21. 6. 2010
Příspěvků: 617

Re: přenos dat base > calc a zpět - VYŘEŠENO MAKRO??

O Base nevím zhola nic, ale pokud jde zobrazit data ve formulářových prvcích....
Zkuste propojit formulářový prvek s určitou buňkou v listu sešitu.
Je to druhá záložka DATA -> Spojená buňka.
Mohlo by to jít i makrem příklad vizte zde


Přebírání hodnot formulářových prvků


poslední bod.


;o)


Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 6. 9. 2011 20:39:50

djiri
Člen
Registrace: 3. 9. 2011
Příspěvků: 3

Re: přenos dat base > calc a zpět - VYŘEŠENO MAKRO??

viz svázat s buňkou - to bohužel nejde prvek může být svázán buďto z buǩou nebo "sloupcem" databáze.. asi budou řešení pouze scripty... no uvidím, ale pokud by někdo měl nějaký nápad - zkušenost, budu rád když se podělí

Offline

#4 6. 9. 2011 21:15:24

sedlacekdan
Moderátor
Místo Nehvizdy
Registrace: 21. 6. 2010
Příspěvků: 617

Re: přenos dat base > calc a zpět - VYŘEŠENO MAKRO??

Zkuste makro:

Sub form_prvek


jmeno_listu = ThisComponent.CurrentController.getActiveSheet.name ' v právě aktivním listě
list = ThisComponent.Sheets.getByName(jmeno_listu)
prvky = list.Drawpage.Forms 'zpřístupníme všechny formul.prvky


for i = 0 to prvky.count - 1 
 prvek = prvky.getByIndex(i) ' projdeme prvky po jednom
  if prvek.hasByName("Políčko") then ' pokud je prvek pojmenován Políčko
   objekt = prvek.getByName("Políčko") ' tak s ním budeme pracovat
  endif
next i


list.getCellByPosition(1,1).value = objekt.value ' tady určujete kam se má zapsat (lze i getCellRangeByName("B2")
end sub

Pro textová pole zadáte objekt.text a do buňky .string


Makro najde v právě aktivním listě form.prvek s názvem políčko a předá do buňky hodnotu, kterou obsahuje.


Dalším makrem si pak můžete prohodit příkaz
objekt.value = list.getCellByPosition(1,1).value
a dostat hodnoty opět do form.prvku (třeba i z jiné buňky).


Bohužel s Base nepomůžu, neb ji neovládám

;o)


Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí