domingo, 10 de janeiro de 2010
Fechar um Documento
Image via Wikipedia
Code:
Sub Main
ThisComponent.close( True )
End Sub
Fecha o documento sem o gravar
Se for a última janela, o OO fecha. Se houver outra janela aberta o OO continua a correr tal como se o QuickStarter estiver activo.
sábado, 5 de dezembro de 2009
Macro Registar dados noutra tabela
REM ***** BASIC *****
sub onAfterRecordAction( oEv as object )
dim cncField
'if oEv.Action = com.sun.star.sdb.RowChangeAction.UPDATE then
cncField = oEv.Source.getByName( "txtTransaction type" ).BoundField
if cncField.getString = "Deposit" then
' insert if needed
insertDeposit( oEv.Source )
else
insertWithdrawall( oEv.Source )
end if
end sub
sub insertDeposit( aDataForm as variant )
dim stmt
dim prepStmt
dim rs
' frist see if it is already in the table
stmt = aDataForm.ActiveConnection.CreateStatement
stmt.executeUpdate( "INSERT INTO ""tDeposit"" ( SELECT ""Account_Name"", ""Date"", ""Transaction type"", ""Category"", ""Remark"", ""Amount"", ""Currency"", ""ID"", ""Payee"" from ""tTransactions"" ""tTransactions"" where ""ID"" = " & aDataForm.Columns.getByName( "ID" ).getString & ")" )
end sub
sub insertWithdrawall( aDataForm as variant )
dim stmt
dim prepStmt
dim rs
' frist see if it is already in the table
stmt = aDataForm.ActiveConnection.CreateStatement
stmt.executeUpdate( "INSERT INTO ""tWithdrawall"" ( SELECT ""Account_Name"", ""Date"", ""Transaction type"", ""Category"", ""Remark"", ""Amount"", ""Currency"", ""ID"", ""Payee"" from ""tTransactions"" ""tTransactions"" where ""ID"" = " & aDataForm.Columns.getByName( "ID" ).getString & ")" )
end sub

sub onAfterRecordAction( oEv as object )
dim cncField
'if oEv.Action = com.sun.star.sdb.RowChangeAction.UPDATE then
cncField = oEv.Source.getByName( "txtTransaction type" ).BoundField
if cncField.getString = "Deposit" then
' insert if needed
insertDeposit( oEv.Source )
else
insertWithdrawall( oEv.Source )
end if
end sub
sub insertDeposit( aDataForm as variant )
dim stmt
dim prepStmt
dim rs
' frist see if it is already in the table
stmt = aDataForm.ActiveConnection.CreateStatement
stmt.executeUpdate( "INSERT INTO ""tDeposit"" ( SELECT ""Account_Name"", ""Date"", ""Transaction type"", ""Category"", ""Remark"", ""Amount"", ""Currency"", ""ID"", ""Payee"" from ""tTransactions"" ""tTransactions"" where ""ID"" = " & aDataForm.Columns.getByName( "ID" ).getString & ")" )
end sub
sub insertWithdrawall( aDataForm as variant )
dim stmt
dim prepStmt
dim rs
' frist see if it is already in the table
stmt = aDataForm.ActiveConnection.CreateStatement
stmt.executeUpdate( "INSERT INTO ""tWithdrawall"" ( SELECT ""Account_Name"", ""Date"", ""Transaction type"", ""Category"", ""Remark"", ""Amount"", ""Currency"", ""ID"", ""Payee"" from ""tTransactions"" ""tTransactions"" where ""ID"" = " & aDataForm.Columns.getByName( "ID" ).getString & ")" )
end sub
Subscrever:
Mensagens (Atom)