%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%'This is the function. You can place it at the top of your page or in an include file if you are going to use it on several pages
Function TrimDescription(str)
str = str
'Set the maximum characters we want to display
iTrim = 250
'If there is a value in the field, do our calculations
If str <> "" Then
'If the description is less than the amount we want to display, then we can show the whole description
If Len(str) < iTrim Then
strTemp = str
'Otherwise we do our calculations
Else
'Set the starting position
iPos = iTrim
'Perform until we get to the beginning (this stops infinate looping if the description is all one word)
Do While iPos > 0
'If the character at the position we're in is either a space, full stop or carriage return then we can stop the loop
'and trim the description and add the dots to the end
If mid(str,iPos,1)=" " or mid(str,iPos,1)="." or mid(str,iPos,1)=chr(13) Then
strTemp=left(str,iPos) & "... (more)"
Exit Do
'Otherwise move back along the string one place and check again
Else
iPos = iPos-1
End If
Loop
End If
'There is nothing in the field that we've passed through, so show the no description text
Else
strTemp = "No description available..."
End If
TrimDescription = strTemp
End Function
%>
<%
Dim Recordset1
Dim Recordset1_numRows
Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_bqsm_STRING
Recordset1.Source = "SELECT TOP 1 * FROM News WHERE fshow like 'Show' ORDER BY fid DESC"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()
Recordset1_numRows = 0
%>
<%
Dim Recordset2
Dim Recordset2_numRows
Set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_bqsm_STRING
Recordset2.Source = "SELECT * FROM QSIQSIndividual WHERE QSIQSCategory = '02' AND QSIQSStatus = 'Active'"
Recordset2.CursorType = 0
Recordset2.CursorLocation = 2
Recordset2.LockType = 1
Recordset2.Open()
Recordset2_numRows = 0
%>
<%
' *** Recordset Stats, Move To Record, and Go To Record: declare stats variables
Dim Recordset2_total
Dim Recordset2_first
Dim Recordset2_last
' set the record count
Recordset2_total = Recordset2.RecordCount
' set the number of rows displayed on this page
If (Recordset2_numRows < 0) Then
Recordset2_numRows = Recordset2_total
Elseif (Recordset2_numRows = 0) Then
Recordset2_numRows = 1
End If
' set the first and last displayed record
Recordset2_first = 1
Recordset2_last = Recordset2_first + Recordset2_numRows - 1
' if we have the correct record count, check the other stats
If (Recordset2_total <> -1) Then
If (Recordset2_first > Recordset2_total) Then
Recordset2_first = Recordset2_total
End If
If (Recordset2_last > Recordset2_total) Then
Recordset2_last = Recordset2_total
End If
If (Recordset2_numRows > Recordset2_total) Then
Recordset2_numRows = Recordset2_total
End If
End If
%>
<%
' *** Recordset Stats: if we don't know the record count, manually count them
If (Recordset2_total = -1) Then
' count the total records by iterating through the recordset
Recordset2_total=0
While (Not Recordset2.EOF)
Recordset2_total = Recordset2_total + 1
Recordset2.MoveNext
Wend
' reset the cursor to the beginning
If (Recordset2.CursorType > 0) Then
Recordset2.MoveFirst
Else
Recordset2.Requery
End If
' set the number of rows displayed on this page
If (Recordset2_numRows < 0 Or Recordset2_numRows > Recordset2_total) Then
Recordset2_numRows = Recordset2_total
End If
' set the first and last displayed record
Recordset2_first = 1
Recordset2_last = Recordset2_first + Recordset2_numRows - 1
If (Recordset2_first > Recordset2_total) Then
Recordset2_first = Recordset2_total
End If
If (Recordset2_last > Recordset2_total) Then
Recordset2_last = Recordset2_total
End If
End If
%>
<%
Dim Recordset3
Dim Recordset3_numRows
Set Recordset3 = Server.CreateObject("ADODB.Recordset")
Recordset3.ActiveConnection = MM_bqsm_STRING
Recordset3.Source = "SELECT * FROM QSIQSIndividual WHERE QSIQSCategory = '01' AND QSIQSStatus = 'Active'"
Recordset3.CursorType = 0
Recordset3.CursorLocation = 2
Recordset3.LockType = 1
Recordset3.Open()
Recordset3_numRows = 0
%>
<%
Dim Recordset4
Dim Recordset4_numRows
Set Recordset4 = Server.CreateObject("ADODB.Recordset")
Recordset4.ActiveConnection = MM_bqsm_STRING
Recordset4.Source = "SELECT * FROM QSFQSFirm WHERE QSFFirmRegNo <> 'dummy' AND QSFFirmStatus = 'Active'"
Recordset4.CursorType = 0
Recordset4.CursorLocation = 2
Recordset4.LockType = 1
Recordset4.Open()
Recordset4_numRows = 0
%>
<%
Dim Recordset5
Dim Recordset5_numRows
Set Recordset5 = Server.CreateObject("ADODB.Recordset")
Recordset5.ActiveConnection = MM_bqsm_STRING
Recordset5.Source = "SELECT * FROM query_news WHERE fshow = 'Show' And fid <> 34 ORDER BY fid DESC"
Recordset5.CursorType = 0
Recordset5.CursorLocation = 2
Recordset5.LockType = 1
Recordset5.Open()
Recordset5_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index
Repeat1__numRows = 5
Repeat1__index = 0
Recordset5_numRows = Recordset5_numRows + Repeat1__numRows
%>
<%
' *** Recordset Stats, Move To Record, and Go To Record: declare stats variables
Dim Recordset3_total
Dim Recordset3_first
Dim Recordset3_last
' set the record count
Recordset3_total = Recordset3.RecordCount
' set the number of rows displayed on this page
If (Recordset3_numRows < 0) Then
Recordset3_numRows = Recordset3_total
Elseif (Recordset3_numRows = 0) Then
Recordset3_numRows = 1
End If
' set the first and last displayed record
Recordset3_first = 1
Recordset3_last = Recordset3_first + Recordset3_numRows - 1
' if we have the correct record count, check the other stats
If (Recordset3_total <> -1) Then
If (Recordset3_first > Recordset3_total) Then
Recordset3_first = Recordset3_total
End If
If (Recordset3_last > Recordset3_total) Then
Recordset3_last = Recordset3_total
End If
If (Recordset3_numRows > Recordset3_total) Then
Recordset3_numRows = Recordset3_total
End If
End If
%>
<%
' *** Recordset Stats: if we don't know the record count, manually count them
If (Recordset3_total = -1) Then
' count the total records by iterating through the recordset
Recordset3_total=0
While (Not Recordset3.EOF)
Recordset3_total = Recordset3_total + 1
Recordset3.MoveNext
Wend
' reset the cursor to the beginning
If (Recordset3.CursorType > 0) Then
Recordset3.MoveFirst
Else
Recordset3.Requery
End If
' set the number of rows displayed on this page
If (Recordset3_numRows < 0 Or Recordset3_numRows > Recordset3_total) Then
Recordset3_numRows = Recordset3_total
End If
' set the first and last displayed record
Recordset3_first = 1
Recordset3_last = Recordset3_first + Recordset3_numRows - 1
If (Recordset3_first > Recordset3_total) Then
Recordset3_first = Recordset3_total
End If
If (Recordset3_last > Recordset3_total) Then
Recordset3_last = Recordset3_total
End If
End If
%>
<%
' *** Recordset Stats, Move To Record, and Go To Record: declare stats variables
Dim Recordset4_total
Dim Recordset4_first
Dim Recordset4_last
' set the record count
Recordset4_total = Recordset4.RecordCount
' set the number of rows displayed on this page
If (Recordset4_numRows < 0) Then
Recordset4_numRows = Recordset4_total
Elseif (Recordset4_numRows = 0) Then
Recordset4_numRows = 1
End If
' set the first and last displayed record
Recordset4_first = 1
Recordset4_last = Recordset4_first + Recordset4_numRows - 1
' if we have the correct record count, check the other stats
If (Recordset4_total <> -1) Then
If (Recordset4_first > Recordset4_total) Then
Recordset4_first = Recordset4_total
End If
If (Recordset4_last > Recordset4_total) Then
Recordset4_last = Recordset4_total
End If
If (Recordset4_numRows > Recordset4_total) Then
Recordset4_numRows = Recordset4_total
End If
End If
%>
<%
' *** Recordset Stats: if we don't know the record count, manually count them
If (Recordset4_total = -1) Then
' count the total records by iterating through the recordset
Recordset4_total=0
While (Not Recordset4.EOF)
Recordset4_total = Recordset4_total + 1
Recordset4.MoveNext
Wend
' reset the cursor to the beginning
If (Recordset4.CursorType > 0) Then
Recordset4.MoveFirst
Else
Recordset4.Requery
End If
' set the number of rows displayed on this page
If (Recordset4_numRows < 0 Or Recordset4_numRows > Recordset4_total) Then
Recordset4_numRows = Recordset4_total
End If
' set the first and last displayed record
Recordset4_first = 1
Recordset4_last = Recordset4_first + Recordset4_numRows - 1
If (Recordset4_first > Recordset4_total) Then
Recordset4_first = Recordset4_total
End If
If (Recordset4_last > Recordset4_total) Then
Recordset4_last = Recordset4_total
End If
End If
%>
<%
Dim MM_paramName
%>
<%
' *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters
Dim MM_keepNone
Dim MM_keepURL
Dim MM_keepForm
Dim MM_keepBoth
Dim MM_removeList
Dim MM_item
Dim MM_nextItem
' create the list of parameters which should not be maintained
MM_removeList = "&index="
If (MM_paramName <> "") Then
MM_removeList = MM_removeList & "&" & MM_paramName & "="
End If
MM_keepURL=""
MM_keepForm=""
MM_keepBoth=""
MM_keepNone=""
' add the URL parameters to the MM_keepURL string
For Each MM_item In Request.QueryString
MM_nextItem = "&" & MM_item & "="
If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
MM_keepURL = MM_keepURL & MM_nextItem & Server.URLencode(Request.QueryString(MM_item))
End If
Next
' add the Form variables to the MM_keepForm string
For Each MM_item In Request.Form
MM_nextItem = "&" & MM_item & "="
If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
MM_keepForm = MM_keepForm & MM_nextItem & Server.URLencode(Request.Form(MM_item))
End If
Next
' create the Form + URL string and remove the intial '&' from each of the strings
MM_keepBoth = MM_keepURL & MM_keepForm
If (MM_keepBoth <> "") Then
MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1)
End If
If (MM_keepURL <> "") Then
MM_keepURL = Right(MM_keepURL, Len(MM_keepURL) - 1)
End If
If (MM_keepForm <> "") Then
MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1)
End If
' a utility function used for adding additional parameters to these strings
Function MM_joinChar(firstItem)
If (firstItem <> "") Then
MM_joinChar = "&"
Else
MM_joinChar = ""
End If
End Function
%>
BQSM l Towards the Development of Quantity Surveying Profession
<%
MM_authorizedUsers=""
MM_grantAccess=false
If Session("MM_Username") <> "" Then
If (true Or CStr(Session("MM_UserAuthorization"))="") Or _
(InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
MM_grantAccess = true
End If
End If
If Not MM_grantAccess Then ' *** Show If User Not Logged In
%>
<%
End If ' *** Show If User Not Logged In
%><%
MM_authorizedUsers=""
MM_grantAccess=false
If Session("MM_Username") <> "" Then
If (true Or CStr(Session("MM_UserAuthorization"))="") Or _
(InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
MM_grantAccess = true
End If
End If
If MM_grantAccess Then ' *** Show If User Logged In
%>
A
quantity surveyor is a construction project consultant who is
trained in all aspects of construction costs
as well as financial and contractual administration.
They will advise architects and engineers
on the cost implications of their design,
ensuring the clients’ interests are
always safeguarded.
Quantity Surveyors’
expertise includes estimating project costs,
preparing tender documents, assessing work
payments and variation of works, administering
the contract and settlement of final account.
These skills place quantity surveyors in a
strong position to take a leading managerial
role throughout the development of a project.
Quantity Surveyors may work
in a variety of sectors viz., private consultancies,
government agencies, educational institutions,
construction companies, property developers,
banks and financial institutions and other
commercial organizations.The following universities
offer the Bachelor’s degree in Quantity
Surveying, duly recognized by the Board of
Quantity Surveyors Malaysia – Universiti
Sains Malaysia (USM), Universiti Malaya (UM),
Universiti Teknologi Malaysia (UTM), Universiti
Teknologi MARA (UiTM), Universiti Islam Antarabangsa
Malaysia (UIAM) and Universiti Tunku Abdul
Rahman (UTAR).
The Government of Malaysia and the Board of Quantity Surveyors Malaysia are not responsible for any loss or damage caused by the usage of any information obtained from this website.
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
<%
Recordset2.Close()
Set Recordset2 = Nothing
%>
<%
Recordset3.Close()
Set Recordset3 = Nothing
%>
<%
Recordset4.Close()
Set Recordset4 = Nothing
%>
<%
Recordset5.Close()
Set Recordset5 = Nothing
%>