Databasetilgang i calc

Brugerhjælp og support til regneark i LibreOffice Calc

Moderator: Lodahl

Post Reply
LarsBrandi
Posts: 95
Joined: 22. Oct 2003 12:44
Location: Vojens
Contact:

Databasetilgang i calc

Post by LarsBrandi »

Jeg vil gerne have noget database futtelihut i et regneark, og det kan jo godt lade sig gøre med datapilot. Men det der ville være det optimale ville være at man fik dropdown lister med valg af værdier, som så blev sat ind i en given celle. Når alle ens valg så er foretaget, skal man trykke på en knap, og relevante værdier bliver gemt i en database. Nogen måder at gøre det på ?
mvh

Lars Brandi Jensen
Jesper Krogh
Posts: 129
Joined: 21. Oct 2003 21:00
Contact:

Re:Databasetilgang i calc

Post by Jesper Krogh »

Jeg ved ikke om du kan bruge det til noget, men der er en guide udi det med database tilgang her. Jeg har ikke selv prøvet, så jeg ved ikke om det løser dit problem;

http://articles.linmagau.org/modules.ph ... 230&page=1
LarsBrandi
Posts: 95
Joined: 22. Oct 2003 12:44
Location: Vojens
Contact:

Re:Databasetilgang i calc

Post by LarsBrandi »

Jesper Krogh wrote:Jeg ved ikke om du kan bruge det til noget, men der er en guide udi det med database tilgang her. Jeg har ikke selv prøvet, så jeg ved ikke om det løser dit problem;

http://articles.linmagau.org/modules.ph ... 230&page=1
Ja, nu begynder det at ligne noget. At lave en formularfunktion til en database er ikke noget problem. Men at linke formularen til et given felt i regnearket er mere problematisk. Googler lidt rundt
mvh

Lars Brandi Jensen
LarsBrandi
Posts: 95
Joined: 22. Oct 2003 12:44
Location: Vojens
Contact:

Så blev det løst !

Post by LarsBrandi »

Men den var ikke ligetil. Man skal over i makro-programmering. Urg, tænkte jeg. Men efter at have dedikeret nogle timer ( og nogle flere urg'er ) på det her makrosprog, og bla fundet ud af at String og Value ikke er det samme, ( så man skal holde striks på hvad man vil have ), kom jeg frem til følgende makro :

Lidt forklaring først. Jeg har lavet en kombinationsboks der hedder "Mat", der er linket op til en database. Når jeg vælger en værdi i boksen vil jeg have værdien over i celle A1 på Ark1

Sub Hentteksttilfelt
Dim oDocument As Object, oSheet As Object, oCell As Object, oDpage As Object, oForm As Object
oDocument=ThisComponent
oSheet=oDocument.Sheets.getByName("Ark1")'Hvilket regneark skal værdien rettes på
oCell=oSheet.getCellByposition(0,0) 'Celle A1 ( hvorfor ikke "A1" ??? )
oDpage = Osheet.DrawPage
oForm = oDpage.Forms("Ark1").getByName("Mat")' Navnet på den kontrolform man vil hente da fra
Result= oForm.text' Så hentes data
'print Result
oCell.setString(Result)' Så sættes data i A1

End sub


Det virker sørme. Så nu skal der hekses
mvh

Lars Brandi Jensen
LarsBrandi
Posts: 95
Joined: 22. Oct 2003 12:44
Location: Vojens
Contact:

Link til makroprogrammering

Post by LarsBrandi »

Her er en god reference til makroprogrammering

http://www.pitonyak.org/AndrewMacro.sxw
mvh

Lars Brandi Jensen
LarsBrandi
Posts: 95
Joined: 22. Oct 2003 12:44
Location: Vojens
Contact:

Script til en tabel

Post by LarsBrandi »

Undskyld hvis jeg skriver, for meget, men det her makrohalløj, er ved at blive sjovt. Så jeg har lavet et script til tabeller nu. Er en variant af den før postede :

Sub Hentkolonne

Dim oDocument As Object, oSheet As Object, oCell As Object, oDpage As Object, oForm As Object
oDocument=ThisComponent
oSheet=oDocument.Sheets.getByName("Sheetname")'
oCell=oSheet.getCellByposition(0,0) 'Cell A1
oDpage = Osheet.DrawPage
oForm = oDpage.Forms("Sheetname").getByName("Formname").getByIndex(Columnnumber)
Result = oForm.text
oCell.setString(Result)' Use this for text
oCell.setValue(Result)' Use this for numbers

End sub
mvh

Lars Brandi Jensen
Post Reply