CodeCharge Studio
search Register Login  

Web Reporting

Visually create Web Reports in PHP, ASP, .NET, Java, Perl and ColdFusion.
CodeCharge.com

YesSoftware Forums -> Archive -> CodeChargeStudio.Discussion

 Sum a field in a grid VBScript/ASP

Print topic Send  topic

Author Message
=Cobra=
Posted: 04/16/2003, 5:55 PM

I am new to CodeCharge,

I am trying to get a total for a field in a grid, When a report is created
and a grid is made, I wish to be able to get a total for "Amount" Either a
running total.... or a Summary total

I included the code in my next post !

--
=Cobra=
codechargengNO@SPAMfastcobra.net
remove NO and SPAM to email
156976322
.
.

=Cobra=
Posted: 04/16/2003, 5:56 PM

<%
'Include Common Files @1-D6EDE132
%>
<!-- #INCLUDE FILE=".\Common.asp"-->
<!-- #INCLUDE FILE=".\Cache.asp" -->
<!-- #INCLUDE FILE=".\Template.asp" -->
<!-- #INCLUDE FILE=".\Sorter.asp" -->
<!-- #INCLUDE FILE=".\Navigator.asp" -->
<%
'End Include Common Files

'Initialize Page @1-52CF25B6
' Variables
Dim PathToRoot, ScriptPath, PathToCurrentPage
Dim FileName
Dim Redirect
Dim Tpl, HTMLTemplate
Dim TemplateFileName
Dim ComponentName

' Events
Dim CCSEvents
Dim CCSEventResult

' Connections
Dim DBSEPS

' Page controls
Dim Header
Dim ExpensesSearch
Dim Expenses
Dim Footer

Redirect = ""
TemplateFileName = "Expenselistmain.html"
Set CCSEvents = CreateObject("Scripting.Dictionary")
FileName = "Expenselistmain.asp"
PathToRoot = "./"
PathToCurrentPage = "./"
ScriptPath = Left(Request("PATH_TRANSLATED"),
Len(Request("PATH_TRANSLATED")) - Len(FileName))
'End Initialize Page

'Initialize Objects @1-DDBCC570
Set DBSEPS = New clsDBSEPS
DBSEPS.Open

' Controls
Set Header = New clsHeader
Header.BindEvents
Header.Initialize
Set ExpensesSearch = new clsRecordExpensesSearch
Set Expenses = New clsGridExpenses
Set Footer = New clsFooter
Footer.BindEvents
Footer.Initialize
Expenses.Initialize DBSEPS

CCSEventResult = CCRaiseEvent(CCSEvents, "AfterInitialize", Nothing)
'End Initialize Objects

'Execute Components @1-038EFA17
Header.Operations
ExpensesSearch.Operation
Footer.Operations
'End Execute Components

'Go to destination page @1-6D35F4FD
If NOT ( Redirect = "" ) Then
UnloadPage
Response.Redirect Redirect
End If
'End Go to destination page

'Initialize HTML Template @1-0155E1BE
CCSEventResult = CCRaiseEvent(CCSEvents, "OnInitializeView", Nothing)
Set HTMLTemplate = new clsTemplate
Set HTMLTemplate.Cache = TemplatesRepository
HTMLTemplate.LoadTemplate ScriptPath & TemplateFileName
Set Tpl = HTMLTemplate.Block("main")
CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShow", Nothing)
'End Initialize HTML Template

'Show Page @1-C96C3651
Header.Show Tpl, "Header"
ExpensesSearch.Show Tpl
Expenses.Show Tpl
Footer.Show Tpl, "Footer"
HTMLTemplate.PParse "main", False
'End Show Page

'Unload Page @1-CB210C62
UnloadPage
Set Tpl = Nothing
Set HTMLTemplate = Nothing
'End Unload Page

'UnloadPage Sub @1-3B9669BC
Sub UnloadPage()
CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeUnload", Nothing)
If DBSEPS.State = adStateOpen Then _
DBSEPS.Close
Set DBSEPS = Nothing
Set Header = Nothing
Set ExpensesSearch = Nothing
Set Expenses = Nothing
Set Footer = Nothing
End Sub
'End UnloadPage Sub

'Include Page Implementation @30-EB31621C
%>
<!-- #INCLUDE FILE="Header.asp" -->
<%
'End Include Page Implementation

Class clsRecordExpensesSearch 'ExpensesSearch Class @2-E18FB0D7

'Variables @2-CC0E6B8A

' Public variables
Public ComponentName
Public HTMLFormAction
Public PressedButton
Public Errors
Public FormSubmitted
Public EditMode
Public Visible
Public Recordset
Public TemplateBlock

Public CCSEvents
Private CCSEventResult

Public DataSource
Public Command
Private ValidatingControls
Private Controls

' Class variables
Dim s_userid
Dim s_Exptype
Dim s_ExptypeDataSource
Dim DoSearch
'End Variables

'Class_Initialize Event @2-3717D053
Private Sub Class_Initialize()

Visible = True
Set Errors = New clsErrors
Set CCSEvents = CreateObject("Scripting.Dictionary")
Dim Method
Dim OperationMode

If Visible Then
OperationMode = Split(Request.QueryString("ccsForm"), ":")
If UBound(OperationMode) > -1 Then _
FormSubmitted = (OperationMode(0) = "ExpensesSearch")
If UBound(OperationMode) > 0 Then _
EditMode = (OperationMode(1) = "Edit")
ComponentName = "ExpensesSearch"
Method = IIf(FormSubmitted, ccsPost, ccsGet)
Set s_userid = CCCreateControl(ccsHidden, "s_userid",
"s_userid", ccsText, Empty, CCGetRequestParam("s_userid", Method))
s_userid.Required = True
Set s_ExptypeDataSource = CCCreateDataSource(dsTable, DBSEPS,
Array("SELECT * " & _
"FROM Expensetype", "", ""))
Set s_Exptype = CCCreateList(ccsListBox, "s_Exptype",
"s_Exptype", ccsText, CCGetRequestParam("s_Exptype", Method),
s_ExptypeDataSource)
s_Exptype.BoundColumn = "Exptype"
s_Exptype.TextColumn = "Exptype"
Set DoSearch = CCCreateButton("DoSearch")
Set ValidatingControls = new clsControls
ValidatingControls.addControls Array(s_userid, s_Exptype)
If Not FormSubmitted Then
If IsEmpty(s_userid.Value) Then _
s_userid.Value = request.ServerVariables("AUTH_USER")
End If
End If
End Sub
'End Class_Initialize Event

'Class_Terminate Event @2-32B847C9
Private Sub Class_Terminate()
Set Errors = Nothing
End Sub
'End Class_Terminate Event

'Validate Method @2-7AE5264D
Function Validate()
Dim Validation
Validation = ValidatingControls.Validate
CCSEventResult = CCRaiseEvent(CCSEvents, "OnValidate", Me)
Validate = Validation And (Errors.Count = 0)
End Function
'End Validate Method

'Operation Method @2-FCCADCB9
Sub Operation()
If NOT ( Visible AND FormSubmitted ) Then _
Exit Sub

If FormSubmitted Then
PressedButton = "DoSearch"
If Not IsEmpty(CCGetParam("DoSearch", Empty)) Then
PressedButton = "DoSearch"
End If
End If
Redirect = "Expenselistmain.asp?" & CCGetQueryString("Form",
Array("DoSearch","ccsForm"))
If Validate() Then
If PressedButton = "DoSearch" Then
If NOT DoSearch.OnClick() Then
Redirect = ""
Else
Redirect = "Expenselistmain.asp?" &
CCGetQueryString("Form", Array("DoSearch"))
End If
End If
Else
Redirect = ""
End If
End Sub
'End Operation Method

'Show Method @2-03734003
Sub Show(Tpl)

If NOT Visible Then _
Exit Sub

EditMode = False
HTMLFormAction = FileName & "?" &
CCAddParam(Request.ServerVariables("QUERY_STRING"), "ccsForm",
"ExpensesSearch" & IIf(EditMode, ":Edit", ""))
Set TemplateBlock = Tpl.Block("Record " & ComponentName)
Set Controls = new clsControls
Set Controls = CCCreateCollection(TemplateBlock, Null,
ccsParseOverwrite, _
Array(s_userid, s_Exptype, DoSearch))
If Not FormSubmitted Then
End If
If FormSubmitted Then
With TemplateBlock.Block("Error")
.Variable("Error") = ValidatingControls.GetErrors &
Errors.ToString
.Parse False
End With
End If
TemplateBlock.Variable("Action") = HTMLFormAction

CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShow", Me)
If Visible Then _
Controls.Show
End Sub
'End Show Method

End Class 'End ExpensesSearch Class @2-A61BA892

Class clsGridExpenses 'Expenses Class @6-53873548

'Variables @6-5DCBC1CC

' Public variables
Public ComponentName, CCSEvents
Public Visible, Errors
Public DataSource, PageSize
Public PageNumber
Public Command
Public TemplateBlock
Public ActiveSorter, SortingDirection
Public Recordset

Private CCSEventResult

' Grid Controls
Public StaticControls, RowControls
Dim Sorter_expenseitem
Dim Sorter_userid
Dim Sorter_Exptype
Dim Sorter_Request_date
Dim Sorter_Expense_Date
Dim Sorter_Amount
Dim Sorter_Faxed
Dim Sorter_Paid
Dim Sorter_Check_no
Dim expenseitem
Dim userid
Dim Exptype
Dim Request_date
Dim Expense_Date
Dim Amount
Dim Description
Dim Faxed
Dim Paid
Dim Check_no
Dim Expenses_Insert
Dim Navigator
Dim ExpTotal
'End Variables

'Class_Initialize Event @6-E241B15F
Private Sub Class_Initialize()
ComponentName = "Expenses"
Visible = True
Set CCSEvents = CreateObject("Scripting.Dictionary")
Set Errors = New clsErrors
Set DataSource = New clsExpensesDataSource
Set Command = New clsCommand
PageSize = CCGetParam(ComponentName & "PageSize", Empty)
If NOT IsNumeric(PageSize) OR IsEmpty(PageSize) Then _
PageSize = 20 _
Else _
PageSize = CInt(PageSize)
PageNumber = CInt(CCGetParam(ComponentName & "Page", 1))
ActiveSorter = CCGetParam("ExpensesOrder", Empty)
SortingDirection = CCGetParam("ExpensesDir", Empty)
If NOT(SortingDirection = "asc" OR SortingDirection = "desc") Then _
SortingDirection = Empty
Set expenseitem = CCCreateControl(ccsLink, "expenseitem",
"expenseitem", ccsInteger, Empty, CCGetRequestParam("expenseitem", ccsGet))
Set userid = CCCreateControl(ccsLabel, "userid", "userid", ccsText,
Empty, CCGetRequestParam("userid", ccsGet))
Set Exptype = CCCreateControl(ccsLabel, "Exptype", "Exptype",
ccsText, Empty, CCGetRequestParam("Exptype", ccsGet))
Set Request_date = CCCreateControl(ccsLabel, "Request_date",
"Request_date", ccsDate, Array("mm", "/", "dd", "/", "yyyy"),
CCGetRequestParam("Request_date", ccsGet))
Set Expense_Date = CCCreateControl(ccsLabel, "Expense_Date",
"Expense_Date", ccsDate, Array("mm", "/", "dd", "/", "yyyy"),
CCGetRequestParam("Expense_Date", ccsGet))
Set Amount = CCCreateControl(ccsLabel, "Amount", "Amount", ccsFloat,
Array(False, 2, True, False, False, "$", "", 1, True, ""),
CCGetRequestParam("Amount", ccsGet))
Set ExpTotal = CCCreateControl(ccsLabel, "ExpTotal", "ExpTotal",
ccsFloat, Array(False, 2, True, False, False, "$", "", 1, True, ""),
CCGetRequestParam("ExpTotal", ccsGet))
Set Description = CCCreateControl(ccsLabel, "Description",
"Description", ccsText, Empty, CCGetRequestParam("Description", ccsGet))
Set Faxed = CCCreateControl(ccsLabel, "Faxed", "Faxed", ccsBoolean,
Array("Yes", Empty, Empty), CCGetRequestParam("Faxed", ccsGet))
Set Paid = CCCreateControl(ccsLabel, "Paid", "Paid", ccsDate,
Array("mm", "/", "dd", "/", "yyyy"), CCGetRequestParam("Paid", ccsGet))
Set Check_no = CCCreateControl(ccsLabel, "Check_no", "Check_no",
ccsInteger, Empty, CCGetRequestParam("Check_no", ccsGet))
Set Sorter_expenseitem = CCCreateSorter("Sorter_expenseitem", Me,
FileName)
Set Sorter_userid = CCCreateSorter("Sorter_userid", Me, FileName)
Set Sorter_Exptype = CCCreateSorter("Sorter_Exptype", Me, FileName)
Set Sorter_Request_date = CCCreateSorter("Sorter_Request_date", Me,
FileName)
Set Sorter_Expense_Date = CCCreateSorter("Sorter_Expense_Date", Me,
FileName)
Set Sorter_Amount = CCCreateSorter("Sorter_Amount", Me, FileName)
Set Sorter_Faxed = CCCreateSorter("Sorter_Faxed", Me, FileName)
Set Sorter_Paid = CCCreateSorter("Sorter_Paid", Me, FileName)
Set Sorter_Check_no = CCCreateSorter("Sorter_Check_no", Me,
FileName)
Set Expenses_Insert = CCCreateControl(ccsLink, "Expenses_Insert",
"Expenses_Insert", ccsText, Empty, CCGetRequestParam("Expenses_Insert",
ccsGet))
Set Navigator = CCCreateNavigator(ComponentName, "Navigator",
FileName, 10, tpSimple)
End Sub
'End Class_Initialize Event

'Initialize Method @6-2AEA3975
Sub Initialize(objConnection)
If NOT Visible Then Exit Sub

Set DataSource.Connection = objConnection
DataSource.PageSize = PageSize
DataSource.SetOrder ActiveSorter, SortingDirection
DataSource.AbsolutePage = PageNumber
End Sub
'End Initialize Method

'Class_Terminate Event @6-E1528F98
Private Sub Class_Terminate()
Set DataSource = Nothing
Set Command = Nothing
Set Errors = Nothing
End Sub
'End Class_Terminate Event

'Show Method @6-F91E16A0
Sub Show(Tpl)
If NOT Visible Then Exit Sub

Dim RecordCounter, ShownRecords
Dim RowBlock

With DataSource
.Parameters("expr8") = request.ServerVariables("AUTH_USER")
.Parameters("urls_Exptype") = Request.QueryString("s_Exptype")
End With
Set Recordset = DataSource.Open(Command)

Set TemplateBlock = Tpl.Block("Grid " & ComponentName)
Set RowBlock = TemplateBlock.Block("Row")
Set StaticControls = CCCreateCollection(TemplateBlock, Null,
ccsParseOverwrite, _
Array(Sorter_expenseitem, Sorter_userid, Sorter_Exptype,
Sorter_Request_date, Sorter_Expense_Date, Sorter_Amount, Sorter_Faxed,
Sorter_Paid, Sorter_Check_no, Expenses_Insert, Navigator))
Set RowControls = CCCreateCollection(RowBlock, Null,
ccsParseAccumulate, _
Array(expenseitem, userid, Exptype, Request_date, Expense_Date,
Amount, Description, Faxed, Paid, Check_no))

CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShow", Me)
If NOT Visible Then Exit Sub

Errors.AddErrors DataSource.Errors
If Errors.Count > 0 Then
TemplateBlock.HTML = CCFormatError("Grid Expenses", Errors)
Else

' Show NoRecords block if no records are found
If Recordset.EOF Then
TemplateBlock.Block("NoRecords").Parse ccsParseOverwrite
End If
While NOT Recordset.EOF AND ShownRecords < PageSize
expenseitem.SetDBValue Recordset.Fields("expenseitem")
expenseitem.Parameters = CCGetQueryString("QueryString",
Array("ccsForm"))
expenseitem.Parameters = CCAddParam(expenseitem.Parameters,
"expenseitem", Recordset.Fields("expenseitem"))
expenseitem.Page = "Expense.asp"
userid.SetDBValue Recordset.Fields("userid")
Exptype.SetDBValue Recordset.Fields("Exptype")
Request_date.SetDBValue Recordset.Fields("Request_date")
Expense_Date.SetDBValue Recordset.Fields("Expense_Date")
Amount.SetDBValue Recordset.Fields("Amount")
Description.SetDBValue Recordset.Fields("Description")
Faxed.SetDBValue Recordset.Fields("Faxed")
Paid.SetDBValue Recordset.Fields("Paid")
Check_no.SetDBValue Recordset.Fields("Check_no")
CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShowRow",
Me)
RowControls.Show
Recordset.MoveNext
ShownRecords = ShownRecords + 1
Wend
Expenses_Insert.Parameters = CCGetQueryString("QueryString",
Array("expenseitem", "ccsForm"))
Expenses_Insert.Page = "Expense.asp"
Navigator.SetDataSource Recordset
StaticControls.Show
End If

End Sub
'End Show Method

End Class 'End Expenses Class @6-A61BA892

Class clsExpensesDataSource 'ExpensesDataSource Class @6-54B3A9E5

'Variables @6-8E146AD2
Public Errors, Connection, Parameters, CCSEvents

Public Recordset
Public SQL, CountSQL, Order, Where
Public RecordsCount
Public PageSize
Public AbsolutePage
Dim WhereParameters

Private CurrentOperation
Private CCSEventResult, objFields

' Datasource fields
Public expenseitem
Public userid
Public Exptype
Public Request_date
Public Expense_Date
Public Amount
Public Description
Public Faxed
Public Paid
Public Check_no
'End Variables

'Class_Initialize Event @6-13AD6C64
Private Sub Class_Initialize()

Set CCSEvents = CreateObject("Scripting.Dictionary")
Set objFields = New clsFields
Set Recordset = New clsDataSource
Set Errors = New clsErrors
Set expenseitem = CCCreateField("expenseitem", "expenseitem",
ccsInteger, Empty, Recordset)
Set userid = CCCreateField("userid", "userid", ccsText, Empty,
Recordset)
Set Exptype = CCCreateField("Exptype", "Exptype", ccsText, Empty,
Recordset)
Set Request_date = CCCreateField("Request_date", "Request_date",
ccsDate, Array("mm", "/", "dd", "/", "yyyy", " ", "HH", ":", "nn", ":",
"ss"), Recordset)
Set Expense_Date = CCCreateField("Expense_Date", "Expense_Date",
ccsDate, Array("mm", "/", "dd", "/", "yyyy", " ", "HH", ":", "nn", ":",
"ss"), Recordset)
Set Amount = CCCreateField("Amount", "Amount", ccsFloat, Empty,
Recordset)
Set Description = CCCreateField("Description", "Description",
ccsText, Empty, Recordset)
Set Faxed = CCCreateField("Faxed", "Faxed", ccsBoolean, Empty,
Recordset)
Set Paid = CCCreateField("Paid", "Paid", ccsDate, Array("mm", "/",
"dd", "/", "yyyy", " ", "HH", ":", "nn", ":", "ss"), Recordset)
Set Check_no = CCCreateField("Check_no", "Check_no", ccsInteger,
Empty, Recordset)
objFields.AddFields Array(expenseitem, userid, Exptype,
Request_date, Expense_Date, Amount, Description, Faxed, Paid, Check_no)
Set Parameters = Server.CreateObject("Scripting.Dictionary")
Set WhereParameters = Nothing

SQL = "SELECT * " & _
"FROM Expenses"
CountSQL = "SELECT 1 " & _
"FROM Expenses"
Where = ""
Order = "expenseitem"
End Sub
'End Class_Initialize Event

'SetOrder Method @6-B7030EB1
Sub SetOrder(Column, Direction)
Order = Recordset.GetOrder(Order, Column, Direction, _
Array(Array("Sorter_expenseitem", "expenseitem", ""), _
Array("Sorter_userid", "userid", ""), _
Array("Sorter_Exptype", "Exptype", ""), _
Array("Sorter_Request_date", "Request_date", ""), _
Array("Sorter_Expense_Date", "Expense_Date", ""), _
Array("Sorter_Amount", "Amount", ""), _
Array("Sorter_Faxed", "Faxed", ""), _
Array("Sorter_Paid", "Paid", ""), _
Array("Sorter_Check_no", "Check_no", "")))
End Sub
'End SetOrder Method

'BuildTableWhere Method @6-A3FCA420
Public Sub BuildTableWhere()
Dim WhereParams

If Not WhereParameters Is Nothing Then _
Exit Sub
Set WhereParameters = new clsSQLParameters
With WhereParameters
Set .Connection = Connection
Set .ParameterSources = Parameters
Set .DataSource = Me
.AddParameter 1, "expr8", ccsText, Empty, Empty, Empty
.AddParameter 2, "urls_Exptype", ccsText, Empty, Empty, Empty
.Criterion(1) = .Operation(opContains, False, "[userid]",
..getParamByID(1))
.Criterion(2) = .Operation(opContains, False, "[Exptype]",
..getParamByID(2))
.AssembledWhere = .opAND(False, .Criterion(1), .Criterion(2))
WhereParams = .AssembledWhere
If Len(Where) > 0 Then
If Len(WhereParams) > 0 Then _
Where = Where & " AND " & WhereParams
Else
If Len(WhereParams) > 0 Then _
Where = WhereParams
End If
End With
End Sub
'End BuildTableWhere Method

'Open Method @6-02D5CB9A
Function Open(Cmd)
Errors.Clear
Set Recordset.DataSource = Me
Set Cmd.Connection = Connection
Cmd.CommandOperation = cmdOpen
Cmd.PageSize = PageSize
Cmd.ActivePage = AbsolutePage
Cmd.CommandType = dsTable
CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeBuildSelect", Me)
Cmd.SQL = SQL
Cmd.CountSQL = CountSQL
BuildTableWhere
Cmd.Where = Where
Cmd.OrderBy = Order
CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeExecuteSelect", Me)
If Errors.Count = 0 Then _
Set Recordset = Cmd.Exec(Errors)
CCSEventResult = CCRaiseEvent(CCSEvents, "AfterExecuteSelect", Me)
Set Recordset.FieldsCollection = objFields
Set Open = Recordset
End Function
'End Open Method

'Class_Terminate Event @6-41B4B08D
Private Sub Class_Terminate()
If Recordset.State = adStateOpen Then _
Recordset.Close
Set Recordset = Nothing
Set Parameters = Nothing
Set Errors = Nothing
End Sub
'End Class_Terminate Event

End Class 'End ExpensesDataSource Class @6-A61BA892

'Include Page Implementation @31-D3201AFB
%>
<!-- #INCLUDE FILE="Footer.asp" -->
<%
'End Include Page Implementation


%>


--
=Cobra=
email@fastcobra.net
156976322
.
.
"=Cobra=" <fp-newsNO@SPAMfastcobra.net> wrote in message
news:b7ku15$qk2$1@news.codecharge.com...
> I am new to CodeCharge,
>
> I am trying to get a total for a field in a grid, When a report is
created
> and a grid is made, I wish to be able to get a total for "Amount" Either a
> running total.... or a Summary total
>
> I included the code in my next post !
>
> --
> =Cobra=
>codechargengNO@SPAMfastcobra.net
> remove NO and SPAM to email
> 156976322
> .
> .
>
>


   


These are Community Forums for users to exchange information.
If you would like to obtain technical product help please visit http://support.yessoftware.com.

MS Access to Web

Convert MS Access to Web.
Join thousands of Web developers who build Web applications with minimal coding.

CodeCharge.com

Home   |    Search   |    Members   |    Register   |    Login


Powered by UltraApps Forum created with CodeCharge Studio
Copyright © 2003-2004 by UltraApps.com  and YesSoftware, Inc.