AX フィルターに対応するレコード件数を取得するマクロ(関数)その2 −LibreOffice Base−

フィルターに対応するレコード件数を取得するマクロ(関数)その2 −LibreOffice Base−

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” )

 

シェアする

  • このエントリーをはてなブックマークに追加

フォローする