AB Report

ABR e' un report engine scritto in Visual Basic per programmi Visual Basic.
E' estremamente semplice in quanto il report puo' essere scritto mediante un semplice editor di testi.

Esempio


#
# ABReport: pm.abr
#
#------------------------------------------------------------------------------
# Report sorted by program
#------------------------------------------------------------------------------
#Database{""}
#Query{"select * from Object"}
#
#------------------------------------------------------------------------------
# definizioni della pagina
#------------------------------------------------------------------------------
marginLeft{10}
marginRight{10}
marginTop{10}
marginBottom{10}
# pageLines{72}
# reportTitle{"REPORT del " + Format{Now, "dd/mm/yyyy"} }
#
# pageHeader{"PAGE TITLE"}
marginHeaderTop{410}
marginHeaderLeft{10}
#
marginDataTop{1210}
marginDataLeft{10}
#
#marginFooterLeft{10}

FONTNAME{courier}
FONTSIZE{8}

#------------------------------------------------------------------------------
# definizioni del recordset
#------------------------------------------------------------------------------
# sort del recordset
Sort{id_program,id_type,id_state,id_level}

#------------------------------------------------------------------------------
# definizioni ordine campi
#------------------------------------------------------------------------------
HGAP{100}		#separazione orizzontale in dot tra i campi
VGAP{20}		#separazione verticale in dot tra righe
FieldWidthAll{0}

# cambia ordine dei campi
FieldNameOrder{1,id_program}
#FieldNameOrder{2,version}
FieldNameOrder{2,id_type}
FieldNameOrder{3,id_state}
FieldNameOrder{4,id_level}
FieldNameOrder{5,obj}
FieldNameOrder{6,id_usersegn}
FieldNameOrder{7,segndate}
FieldNameOrder{8,id_analevel}
FieldNameOrder{9,id_anamodlevel}
FieldNameOrder{10,id_anaimpactlevel}
FieldNameOrder{11,id_userana}
FieldNameOrder{12,anadate}
FieldNameOrder{13,id_userint}
FieldNameOrder{14,intdate}
FieldNameOrder{15,id_usertest}
FieldNameOrder{16,testdate}


# definisce ampiezza campi
# FieldFormat{2,###.###.###}

#------------------------------------------------------------------------------
# definizione dei campi
#------------------------------------------------------------------------------
# FieldForeColor{id_program, red}
# FieldBackColor{id_program, white}

FieldTitle{id_program,PROGRAMMA}
FieldTitleStyle{id_program,bolditalic}
FieldX1{id_program, 10} 				# punto partenza campo in dot
FieldWidthDot{id_program, 800} 			# larghezza campo in dot
FieldSql{id_program,select Name from Program where id_program=%}
FieldAlign{id_program,right}
FieldStyle{id_program,Bold}
FieldBorder{id_program,Left}

#FieldTitle{version,VERS.}
#FieldWidthDot{version, 300} 			# larghezza campo in dot

FieldTitle{id_type,TIPO}
FieldWidthDot{id_type, 500} 			# larghezza campo in dot
FieldSql{id_type,select Sign from Type where id_type=%}

FieldTitle{id_state,STATO}
FieldWidthDot{id_state, 500} 			# larghezza campo in dot
FieldSql{id_state,select Sign from State where id_state=%}
FieldFormula{id_state, % = "OPEN" ? BOLD : ITALIC }

FieldTitle{id_level,LIV.}
FieldWidthDot{id_level, 500} 			# larghezza campo in dot
FieldBorder{id_level,side}
FieldSql{id_level,select Sign from [Level] where id_level=%}

FieldTitle{obj,OGGETTO}
FieldWidthDot{obj, 1000} 				# larghezza campo in dot
FieldAlign{obj,right}
FieldStyle{obj,Italic}
FieldBorder{id_level,box}
FieldMultiLine{obj, 1} 					# campo multiline

FieldTitle{id_usersegn,SUSR}
FieldWidthDot{id_usersegn, 500}  		# larghezza campo in dot
FieldSql{id_usersegn,select Sign from User where id_user=%}

FieldTitle{segndate,SEGNDATA}
FieldWidthDot{segndate, 1000}  	   		# larghezza campo in dot

FieldTitle{id_analevel,ALIV.}
FieldWidthDot{id_analevel, 500}  	   		# larghezza campo in dot
FieldSql{id_analevel,select Sign from [Level] where id_level=%}

FieldTitle{id_anamodlevel,AMOD.}
FieldWidthDot{id_anamodlevel, 500}  	   		# larghezza campo in dot
FieldSql{id_anamodlevel,select Sign from [Level] where id_level=%}

FieldTitle{id_anaimpactlevel,AIMP.}
FieldWidthDot{id_anaimpactlevel, 500}  	   		# larghezza campo in dot
FieldSql{id_anaimpactlevel,select Sign from [Level] where id_level=%}

FieldTitle{anadate,ANA_DATA}
FieldWidthDot{anadate, 1000}  	   		# larghezza campo in dot

FieldTitle{id_userana,AUSR}
FieldWidthDot{id_userana, 500}  	   		# larghezza campo in dot
FieldSql{id_userana,select Sign from User where id_user=%}

FieldTitle{id_userint,MUSR}
FieldWidthDot{id_userint, 500}  	   		# larghezza campo in dot
FieldSql{id_userint,select Sign from User where id_user=%}

FieldTitle{intdate,MOD_DATA}
FieldWidthDot{intdate, 1000}  	   		# larghezza campo in dot

FieldTitle{id_usertest,TUSR}
FieldWidthDot{id_usertest, 500}  	   		# larghezza campo in dot
FieldSql{id_usertest,select Sign from User where id_user=%}

FieldTitle{testdate,TESTDATA}
FieldWidthDot{testdate, 1000}  	   		# larghezza campo in dot