Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
Using Visual Basic.NET, we would like it so that only when sorting by Project Number would our Accounting reports generate Project Numbers starting with nines. (93154 for example) The code for the whole page is listed below. Any assistance offered would be greatly appreciated.
Imports System.Data
Imports System.Data.SqlClientPublic Class projectsreport
Inherits System.Web.UI.Page
Protected WithEvents lblDate As System.Web.UI.WebControls.Label
Protected WithEvents lblTime As System.Web.UI.WebControls.Label
Protected WithEvents lblTitle As System.Web.UI.WebControls.Label
Protected WithEvents lblReportType As System.Web.UI.WebControls.Label
Protected WithEvents lblBillLevel As System.Web.UI.WebControls.Label
Protected WithEvents dgrdProjectReport As System.Web.UI.WebControls.DataGrid
Private Const yourLength As Int32 = 70 'Constant may be placed here!
Dim SQLConn As SqlConnection
Dim SQLCmd As SqlCommand
Protected DA As SqlDataAdapter
Protected DS As DataSet
Protected dtReport As DataTable
Protected dRow As DataRowProtected oSvrFunc As New SvrFunctions
Protected oCipher As New ProjTaskReaderProtected sProjNum As String = ""
Protected sProjName As String = ""
Protected sTaskDesc As String = ""
Protected sClient_Name As String = ""
Protected sCriteria As String = ""
Protected sActive As String = ""
Protected sLastSortFld As String = ""
Protected sSortFld As String = ""
Protected sSortOrder As String = ""
Protected sStatus As String = ""
Protected sBill_Level As String = ""
Protected sExp As String = ""Protected sRoot As String = ""
Protected sAcctgPath As String = ""#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
Dim User As New SmithUser
GetRoot()
User.PullUserInfo(Page.User.Identity.Name)
If User.AccessViewAccounting Or User.AccessGod Then
lblDate.Text = "Date: " & Today.ToShortDateString
lblTime.Text = "Time: " & Today.ToShortTimeString()
lblBillLevel.Text = "Bill Level: All"sProjNum = oSvrFunc.GetRqFldVal(Me, "ProjNum")
sProjName = oSvrFunc.GetRqFldVal(Me, "ProjName")
sClient_Name = oSvrFunc.GetRqFldVal(Me, "Client_Name")
sTaskDesc = oSvrFunc.GetRqFldVal(Me, "TaskDesc")
sActive = oSvrFunc.GetRqFldVal(Me, "Active")
sBill_Level = oSvrFunc.GetRqFldVal(Me, "Bill_Level")
sExp = oSvrFunc.GetRqFldVal(Me, "Exp")
sCriteria = oSvrFunc.GetRqFldVal(Me, "Criteria")
sSortFld = oSvrFunc.GetRqFldVal(Me, "SortFld")
sLastSortFld = oSvrFunc.GetRqFldVal(Me, "LastSortFld")
sSortOrder = oSvrFunc.GetRqFldVal(Me, "SortOrder")
LoadData()
End If
End If
End SubPrivate Sub GetRoot()
sRoot = Request.ServerVariables("PATH_INFO")
If InStr(sRoot, "Accounting/Projects/") > 0 Then
sRoot = ""
sAcctgPath = "../"
Else
sRoot = "Projects/"
sAcctgPath = ""
End If
End SubPrivate Sub LoadData()
Dim Smith As New SmithGlobals
Dim strSQL As StringDim sAND As String = " WHERE"
If sSortFld = "" Then
sSortFld = "ProjNum"
End IfIf sSortFld = sLastSortFld Then
If sSortOrder = "ASC" Then
sSortOrder = "DESC"
Else
sSortOrder = "ASC"
End If
Else
sSortOrder = "ASC"
End If
sLastSortFld = sSortFldlblReportType.Text = "Project Detail Report By "
strSQL = "SELECT p.ProjectsID As ProjectsID, p.ProjNum As ProjNum, t.ProjNum As TaskNum, p.ProjName As ProjName, t.Description As Description," & _
" p.Status As Status, t.Status As tStatus, p.Exp, p.Bill_Level As Bill_Level, t.Bill_Level As tBill_Level," & _
" p.Prin As Prin, p.PM As PM, p.PSM As PSM, t.Prin As tPrin, t.PM As tPM, t.PSM As tPSM, Left(c.Client_Name, 45) As Client_Name, p.Exp AS Exp" & _
" FROM ((Projects p LEFT JOIN Clients c ON p.ClientID = c.ClientID)" & _
" LEFT JOIN Tasks t ON p.ProjectsID = t.ProjectID)"
If sProjNum <> "" Then
strSQL &= sAND & " (p.ProjNum LIKE '" & sProjNum & "%' OR t.ProjNum LIKE '" & sProjNum & "%')"
sAND = " AND"
End IfIf sProjName <> "" Then
strSQL &= sAND & " p.ProjName LIKE '" & oSvrFunc.FixSQLStr(sProjName) & "%'"
sAND = " AND"
End IfIf sClient_Name <> "" Then
strSQL &= sAND & " c.Client_Name LIKE '" & oSvrFunc.FixSQLStr(sClient_Name) & "%'"
sAND = " AND"
End IfIf sTaskDesc <> "" Then
strSQL &= sAND & " (p.ProjName LIKE '%" & oSvrFunc.FixSQLStr(sTaskDesc) & "%'" & _
" OR t.Description LIKE '%" & oSvrFunc.FixSQLStr(sTaskDesc) & "%')"
sAND = " AND"
End IfIf sBill_Level <> "" Then
strSQL &= sAND & " ((p.Bill_Level Is Null AND t.Bill_Level = " & sBill_Level & ") OR"
strSQL &= " (t.Bill_Level Is Null AND p.Bill_Level = " & sBill_Level & ") OR"
strSQL &= " (p.Bill_Level = " & sBill_Level & " AND t.Bill_Level = " & sBill_Level & "))"
sAND = " AND"
End IfIf sExp <> "" Then
strSQL &= sAND & " p.Exp = " & sExp
sAND = " AND"
End IfSelect Case sActive
Case "A"
strSQL &= sAND & " (t.Status = 'A')"
Case "I"
strSQL &= sAND & " (t.Status = 'I')"
End SelectSelect Case sSortFld
Case "ProjName"
lblReportType.Text &= "Project Name"
strSQL &= " ORDER BY p.ProjName " & sSortOrder
Case "prin"
lblReportType.Text &= "Principal"
strSQL &= " ORDER BY p.Prin " & sSortOrder
Case "pm"
lblReportType.Text &= "PM"
strSQL &= " ORDER BY p.PM " & sSortOrder
Case "pls"
lblReportType.Text &= "PLS"
strSQL &= " ORDER BY p.PSM " & sSortOrder
Case "Client_Name"
lblReportType.Text &= "Client Name"
strSQL &= " ORDER BY c.Client_Name " & sSortOrder
Case "Bill_Level"
lblReportType.Text &= "Billing Level"
strSQL &= " ORDER BY p.Bill_Level " & sSortOrder
Case "Status"
lblReportType.Text &= "Status"
strSQL &= " ORDER BY p.Status " & sSortOrder & ", t.Status " & sSortOrder
Case "Exp"
lblReportType.Text &= "Exp"
strSQL &= " ORDER BY p.Exp " & sSortOrder
Case Else
lblReportType.Text &= "Project Number"
strSQL &= " ORDER BY ProjNum " & sSortOrder & ", TaskNum " & sSortOrder
sSortFld = "ProjNum"
End Select
Select Case sStatus
Case "A"
lblReportType.Text &= " (Actives)"
Case "I"
lblReportType.Text &= " (Inactives)"
Case Else
lblReportType.Text &= " (All)"
End SelectSQLConn = New SqlConnection(Smith.ConnectionString)
Try
DA = New SqlDataAdapter(strSQL, SQLConn)
DS = New DataSet()
DA.Fill(DS)
dtReport = DS.Tables(0)
dtReport = oCipher.SortReport(dtReport, sSortFld, sSortOrder)
dtReport = oCipher.Sort9sOnTop(dtReport)
Catch SQLExc As SqlException
Response.Redirect("../Error.aspx?page=Accounting\ProjectsReport.aspx&problem=SQL Error")
End Try
End SubFunction GetProjNum(ByVal dRow As DataRow) As String
Dim sProjNum As String, sTaskNum As StringGetProjNum = ""
If Not (dRow("TaskNum") Is DBNull.Value) Then
sTaskNum = dRow("TaskNum").ToString()
If sTaskNum = "" Then
GetProjNum = sTaskNum
Else
sProjNum = dRow("ProjNum").ToString()
GetProjNum = sProjNum
End If
ElseIf Not (dRow("ProjNum") Is DBNull.Value) Then
sProjNum = dRow("ProjNum").ToString()
GetProjNum = sProjNum
End If
End FunctionFunction GetProjDesc(ByVal dRow As DataRow)
Dim sProjDesc As String = ""If Not (dRow("ProjName") Is DBNull.Value) Then
sProjDesc = Trim(dRow("ProjName").ToString()) & " "
End If
If Not (dRow("ProjTaskDesc") Is DBNull.Value) Then
sProjDesc &= Trim(dRow("ProjTaskDesc").ToString()) & " "
End If
If Not (dRow("TaskDesc") Is DBNull.Value) Then
sProjDesc &= Trim(dRow("TaskDesc").ToString())
End If
If Len(sProjDesc) > 75 Then
sProjDesc = Left(sProjDesc, 75)
End If
GetProjDesc = sProjDesc
End FunctionFunction GetStatus(ByVal dRow As DataRow) As String
Dim sStatus As String = ""If Not (dRow("TaskStatus") Is DBNull.Value) Then
sStatus = dRow("TaskStatus").ToString()
End If
If sStatus = "" Then
If Not (dRow("ProjStatus") Is DBNull.Value) Then
sStatus = dRow("ProjStatus").ToString()
End If
End IfIf sStatus = "A" Then
sStatus = "A"
ElseIf sStatus = "I" Then
sStatus = "I"
End If
GetStatus = sStatus
End FunctionProtected Function GetFld(ByVal dRow As DataRow, ByVal sFld As String, ByVal sType As String) As String
Dim dDate As DateTime, sVal As StringIf dRow(sFld) Is DBNull.Value Then
GetFld = ""
Exit Function
End If
If sType = "D" Then
dDate = CDate(dRow(sFld))
GetFld = dDate.ToString("d")
Else
sVal = dRow(sFld).ToString()
If sFld = "Client_Name" Then
If Len(sVal) > 50 Then
sVal = Left(sVal, 50)
End If
End If
GetFld = sVal
End If
End FunctionProtected Function GetProjName(ByVal dRow As DataRow)
Dim sName As String
If Not dRow("ProjName") Is DBNull.Value Then
sName = dRow("ProjName").ToString().Trim
End If
If Not dRow("TaskDesc") Is DBNull.Value Then
sName &= dRow("TaskDesc").ToString().Trim
End If
If Len(sName) > 44 Then
sName = Left(sName, 44)
End If
GetProjName = sName
End Function
End Class

![]() |
multiple submit in one fo...
|
Search Ranking and DNS ch...
|

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.
| Ads by Google |