Databasetilgang i calc
Moderator: Lodahl
-
- Posts: 95
- Joined: 22. Oct 2003 12:44
- Location: Vojens
- Contact:
Databasetilgang i calc
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
Lars Brandi Jensen
-
- Posts: 129
- Joined: 21. Oct 2003 21:00
- Contact:
Re:Databasetilgang i calc
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
http://articles.linmagau.org/modules.ph ... 230&page=1
JabberID: jesper@jabbernet.dk
-
- Posts: 95
- Joined: 22. Oct 2003 12:44
- Location: Vojens
- Contact:
Re:Databasetilgang i calc
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 rundtJesper 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
mvh
Lars Brandi Jensen
Lars Brandi Jensen
-
- Posts: 95
- Joined: 22. Oct 2003 12:44
- Location: Vojens
- Contact:
Så blev det løst !
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
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
Lars Brandi Jensen
-
- Posts: 95
- Joined: 22. Oct 2003 12:44
- Location: Vojens
- Contact:
Link til makroprogrammering
mvh
Lars Brandi Jensen
Lars Brandi Jensen
-
- Posts: 95
- Joined: 22. Oct 2003 12:44
- Location: Vojens
- Contact:
Script til en tabel
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
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
Lars Brandi Jensen