LibreOffice BASE は使えるか? (2) マクロで、SQL実行 −−count だけ返す関数−− より。
前回も同じような関数を掲載したけれども、今回の関数の方がスマート?
どういう違いがあるのかはよくわからないけれども、とりあえず両方ともうまく動いた。
関数は、下記。
Function Get_Sql_Count( condition as String)
sql = "select count(*) from "& condition
oresult = ThisDataBaseDocument.DataSource.getconnection("","").createstatement.executequery(sql)
oresult.next
get_sql_count = oresult.getstring(1)
End Function
関数使用時の例。
「T_member」というテーブルの「name」フィールドに”鈴木”さんが何人いるかをカウントする場合。
前回の関数と違い、フォームのボタンに割り当てずに直接マクロを実行してもエラーは出ません。
Sub NameCount2
Dim recCount as Integer
ofilter = """T_member"" where ""name"" like '%鈴木%'"
recCount = Get_Sql_Count(ofilter)
msgbox recCount & "件"
End Sub
( LibreOffice 6.2.4.2 / Linux Mint Debian Edition3(LMDE3)”Cindy” )