LibreOffice 25.2 Hjelp
Tenesta Datasheet gjer det mogleg å visualisera innhaldet i databasetabellar og resultata av spørjingar og SQL-setningar ved å bruke datavisinga i Base. I tillegg tillèt denne tenesta å:
Leggja til sjølvdefinerte menyar i datavisinga.
Få tilgang til verdiar i bestemte posisjonar i datavisinga.
Plassera markøren i ei bestemt celle i datavisinga.
Før du brukar tenesta Datasheet må biblioteket ScriptForge vera lasta inn eller importert:
Tenesta Datasheet kan opnast på to ulike måtar, avhengig av om databasefila er open eller ikkje.
Eksempelet nedanfor går ut frå at databasefilea er opna. Dirfor kan UI-tenesta brukast til å henta dokumentet og OpenTable-metoden frå Database-tenesta brukast for å få ein førekomst av Datasheet.
    Dim ui As Object, oBase As Object, oSheet As Object
    Set ui = CreateScriptService("UI")
    ' Object oBase er ein førekomst av Base-tenesta
    Set oBase = ui.GetDocument("C:\Documents\myDB.odb")
    ' Object oSheet er ein førekomst av Datasheet-tenesta
    Set oSheet = oBase.OpenTable("Customers")
  I eksempelet ovanfor er det også mogleg å bruka metoden OpenQuery frå Base-tenesta for å få ein førekomst av Dataark.
Bruk metoden OpenTable,OpenQuery eller OpenSql frå Database-tenesta for å byrja Datasheet-tenesta når databasefila ikkje er opna. Eksempelet nedanfor brukar metoden OpenTable for å opna ein tabell i databasefila:
    Dim oDatabase As Object, oSheet As Object
    ' Objektet oDatabase er ein førekomst av databasetenesta
    Set oDatabase = CreateScriptService("Database", "C:\Documents\myDB.odb")
    ' Objektet oSheet er ein førekomst av Datasheet-tenesta
    Set oSheet = oDatabase.OpenTable("Customers")
  Eksempla ovanfor kan omsetjast til Python slik:
    from scriptforge import CreateScriptService
    ui = CreateScriptService("UI")
    base_doc = ui.GetDocument(r"C:\Documents\MyFile.odb")
    sheet = base_doc.OpenTable("Customers")
  
    database = CreateScriptService("Database", r"C:\Documents\myDB.odb")
    sheet = database.OpenTable("Customers")
  Desse eigenskapane er tilgjengelege i Datasheet-tenesta:
| Namn | Skriveverna | Type | Beskriving | 
|---|---|---|---|
| ColumnHeaders | Ja | Strengmatrise | Returnerer ei matrise med namna på kolonneoverskriftene i dataarket. | 
| CurrentColumn | Ja | String | Returnerer det gjeldande merkte kolonnenamnet. | 
| CurrentRow | Ja | Integer | Returnerer nummeret på den merkte rada, med start på 1. | 
| DatabaseFileName | Ja | String | Returnerer filnamnet på Base-fila i formatet FSO.FileNaming. | 
| Filter | Nei | String | Spesifiserer eit filter som skal brukastpå dataarket uttrykt som WHERE-leddet i ei SQL-spørjing utan nøkkelordet WHERE. Viss det er spesifisert ein tom streng, vert det gjeldande filteret fjerna. | 
| LastRow | Ja | Integer | Returnerer talet på rader i dataarket. | 
| OrderBy | Nei | String | Spesifiserer rekkjefølgja som postane skal visast i i uttrykk som ORDER BY-leddet i ei SQL-spørjing utan nøkkelordet ORDER BY. Viss det er spesifisert ein tom streng, vert det gjeldande OrderBy fjerna. | 
| ParentDatabase | Ja | Objekt | Returnerer Database-tenesteførekomsten som dataarket høyrer til. | 
| Source | Ja | String | Returnerer ein streng som representerer datakjelda, som kan vera ei SQL-setning, eit tabellnamn eller eit spørjingsnamn. | 
| SourceType | Ja | String | Returnerer typen til datakjelda, som kan vera ein av desse verdiane: «SQL», «TABLE» eller «QUERY». | 
| XComponent | Ja | UNO-objekt | Returnerer com.sun.star.lang.XComponent UNO-objektet som representerer dataarket. | 
| XControlModel | Ja | UNO-objekt | Returnerer com.sun.star.awt.XControl UNO-objektet som representerer dataarket. | 
| XTabControllerModel | Ja | UNO-objekt | Returnerer com.sun.star.awt.XTabControllerModelUNO-objektet som representerer dataarket. | 
| Liste over metodar i «datasheet»-tenesta | ||
|---|---|---|
Set datavisingsvindauget som er referert til av Dataark-førekomsten fremst.
svc.Activate()
      oSheet.Activate()
    
      sheet.Activate()
    Lukker datavisingsvindauget som er referert til av Datasheet-førekomsten.
svc.CloseDatasheet()
      oSheet.CloseDatasheet()
    
      sheet.CloseDatasheet()
    Opprettar ei ny menyoppføring i datavisingsvindauget og returnerer ein førekomst av SFWidgets.Menu, som menyelementa kan leggjast til programmatisk med.
Menyar lagt til ved hjelp av CreateMenu-metoden går tapt så snart datavisingsvindauget vert lukka.
svc.CreateMenu(menuheader: str, opt before: any, opt submenuchar: str): obj
menuheader: Namnet på den nye menyen.
before: Dette argumentet kan anten vera namnet på ei menyoppføring som finst frå før, som den nye menyen skal setjast framføre eller eit tal som viser plasseringa av den nye menyen. Viss dette argumentet er tomt, vert den nye menyen plassert som den siste oppføringa.
submenuchar: Skiljeteiknet som vert brukt i menytre (standard = «>»)
      Dim oMenu As Object
      Set oMenu = oSheet.CreateMenu("My Menu", Before := "Data")
      With oMenu
          .AddItem("Item 1", Command := ".uno:About")
          ' ...
          .Dispose()
      End With
    
      menu = sheet.CreateMenu("My Menu", before="Data")
      menu.AddItem("Item 1", command=".uno:About")
      # ...
      menu.Dispose()
    Les hjelpesida Menyteneste for å læra meir om korleis du opprettar meny- og undermenyoppføringar og knyt kommandoar til desse.
Returnerer teksten i ei gjeve kolonne i den gjeldande rada.
Denne metoden endrar ikkje plasseringa til markøren i datavisnigsvindauget.
svc.GetText(column: any): str
column: Namnet på kolonnen som ein streng eller kolonneposisjonen (byrjar på 1). Viss ein posisjon som er gjeven er større enn talet på kolonnar, vert den siste kolonnen returnert.
      oSheet.GetText("FirstName")
    
      sheet.GetText("FirstName")
    Returnerer verdien i ein gjeven kolonne i den gjeldande rada som ein gyldig Basic-type.
Typane som kan returnerast er: String, Integer, Long, Singel, Double literal>, Date og Null.
Binære typar vert returnerte som ein Long-verdi som indikerer lengda på det binære feltet.
Det vert returnert verdien Empty viss det er uråd å henta den nødvendige verdien.
Denne metoden endrar ikkje plasseringa til markøren i datavisnigsvindauget.
svc.GetValue(column: any): any
column: Namnet på kolonnen som ein streng eller kolonneposisjonen (byrjar på 1). Viss ein posisjon som er gjeven er større enn talet på kolonnar, vert den siste kolonnen returnert.
      oSheet.GetValue("Address")
    
      sheet.GetValue("Address")
    Flyttar markøren til den gjevne rada og kolonnen.
svc.GoToCell(opt row: int, opt column: any): bool
row: Radnummeret som ein numerisk verdi som byrjar på 1. Viss den gjevne rada er større enn talet på rader som finst, vert markøren flytt til den siste rada. Viss dette argumentet manglar, vert rada ikkje endra.
column: Namnet på kolonnen som ein streng eller kolonneposisjonen (byrjar på 1). Viss kolonnen er større enn talet på kolonnar, vert markøren flytt til den siste kolonnen. Viss dette argumentet ikkje er spesifisert, vert kolonnen ikkje endra.
      ' Flyttar markøren til kolonnen "LastName" i rad 4
      oSheet.GoToCell(4, "LastName")
      ' Flyttar markøren til den tredje kolonnen i den gjeldande rada.
      oSheet.GoToCell(Column := 3)
      ' Flyttar markøren ei rad ned i den same kolonnen
      oSheet.GoToCell(Row := oSheet.CurrentRow + 1)
      ' Flyttar til den siste kolonnen i den siste rada
      Dim LastColumn As Integer : LastColumn = UBound(oSheet.ColumnHeaders) + 1
      oSheet.GoToCell(oSheet.LastRow, LastColumn)
    
      sheet.GoToCell(4, "LastName")
      sheet.GoToCell(column=3)
      sheet.GoToCell(row=sheet.CurrentRow + 1)
      sheet.GoToCell(sheet.LastRow, len(sheet.ColumnHeaders))
    Fjernar ei menyoppføring frå datavisinga ut frå nemnet på oppføringa.
Denne metoden kan fjerna menyar som høyrer til standard brukargrensesnitt, men også menyar som er programmatisk lagt til med CreateMenu-metoden. Standardmenyar vert ikkje fjerna permanent, og vil dukka opp att når vindauget vert lukka og opna igjen.
svc.RemoveMenu(menuheader: str): bool
menuheader: Namnet, som skil mellom store og små bokstavar, på menyen som skal fjernast. Namnet må ikkje innehalda teiknet tilde («~»).
      oSheet.RemoveMenu("Data")
    
      sheet.RemoveMenu("Data")