function Nz(myVar) If myVar = "" then Nz = 0 Else Nz = myVar End If end function function QuickQuote() set frm = document.qq pp = Nz(frm.np.value) if pp = 0 then msgbox "Number of pages cannot be left blank." frm.np.focus() exit function end if if CInt(Nz(frm.ps1.value)) + CInt(Nz(frm.ps2.value)) + CInt(Nz(frm.ps3.value)) + CInt(Nz(frm.ps4.value)) <> 100 then msgbox "Your document size percentages don't add up to 100%. Please adjust." frm.ps1.focus() exit function end if if frm.sq.value = 0 then msgbox "Please select the scan quality." frm.sq.focus() exit function end if qual1 = pp * Nz(frm.ps1.value)/100 * frm.sq.value qual2 = pp * Nz(frm.ps2.value)/100 * frm.sq.value * 3.368 qual3 = pp * Nz(frm.ps3.value)/100 * frm.sq.value * 15.21 qual4 = pp * Nz(frm.ps4.value)/100 * frm.sq.value * 15.737 if CInt(Nz(frm.prep1.value)) + CInt(Nz(frm.prep2.value)) > 100 then msgbox "Your document prep percentages add up to more than 100%. Please adjust." frm.prep1.focus() exit function end if Select Case True Case Nz(frm.prep1.value) <= 25 qual5a = pp * Nz(frm.prep1.value)/100 * 0.015 Case Nz(frm.prep1.value) > 25 and Nz(frm.prep1.value) <= 50 qual5a = pp * Nz(frm.prep1.value)/100 * 0.03 Case Nz(frm.prep1.value) > 50 qual5a = pp * Nz(frm.prep1.value)/100 * 0.045 End Select Select Case True Case (Nz(frm.prep2.value)) >= 0 and (Nz(frm.prep2.value)) <=25 qual5b = pp * Nz(frm.prep2.value)/100 * .25 Case Nz(frm.prep2.value) > 25 and Nz(frm.prep2.value) <=50 qual5b = pp * Nz(frm.prep2.value)/100 * .50 Case Nz(frm.prep2.value) > 50 qual5b = pp * Nz(frm.prep2.value)/100 * .75 End Select Select Case True Case (Nz(frm.prep3.value)) >= 0 and (Nz(frm.prep3.value)) <=25 qual5c = pp * Nz(frm.prep3.value)/100 * 0.0225 Case Nz(frm.prep3.value) > 25 and Nz(frm.prep3.value) <=50 qual5c = pp * Nz(frm.prep3.value)/100 * .045 Case Nz(frm.prep3.value) > 50 qual5c = pp * Nz(frm.prep3.value)/100 * 0.0675 End Select qual5 = qual5a + qual5b + qual5c If frm.reprep1(0).checked = True Then qual6 = qual5a Else qual6 = 0 End If If frm.idxtype.value = 0 then msgbox "Please select an index complexity." frm.idxtype.focus() exit function End If Select Case True ' Case Nz(frm.idxtype.value) = 0 ' qual7 = 0 Case Nz(frm.idxtype.value) = 0.015 qual7 = pp * Nz(frm.idxtype.value) Case Nz(frm.idxtype.value) = 0.06 qual7 = pp * Nz(frm.idxtype.value) Case Nz(frm.idxtype.value) = 0.12 qual7 = pp * Nz(frm.idxtype.value) End Select If frm.OPF.value = 0 then msgbox "Please select the output format." frm.OPF.focus() exit function End If If NOT Nz(frm.OPF.value) = 99 then qual8 = pp * Nz(frm.OPF.value) Else qual8 = 99 End If If frm.Medium.value = 0 then msgbox "Please select the delivery medium." frm.Medium.focus() exit function End If Select Case Nz(frm.Medium.value) Case "99" qual9 = 0 Case "20" small = (CInt(Nz(frm.ps1.value)) + CInt(Nz(frm.ps2.value)))/100 large = (CInt(Nz(frm.ps3.value)) + CInt(Nz(frm.ps4.value)))/100 qual9 = CInt(small*pp/10000 + large*pp/1000 + 1)*20 Case "40" small = (CInt(Nz(frm.ps1.value)) + CInt(Nz(frm.ps2.value)))/100 large = (CInt(Nz(frm.ps3.value)) + CInt(Nz(frm.ps4.value)))/100 qual9 = CInt(small*pp/80000 + large*pp/8000 + 1)*40 Case "60" qual9 = 100 End Select If frm.importscript(0).checked then qual10 = 1000 Else qual10 = 0 End If myquote = formatcurrency(qual1 + qual2 + qual3 + qual4 + qual5a + qual6 + qual7 + qual8 + qual9 + qual10) breakdown = "The breakdown of your quote is as follows: " & vbCrLf & vbCrLf If NOT qual1 = 0 Then breakdown = breakdown & formatcurrency(qual1) & " for normal size documents." & vbCrLf End If If NOT qual2 = 0 Then breakdown = breakdown & formatcurrency(qual2) & " for Ledger sizes." & vbCrLf End If If NOT qual3 = 0 Then breakdown = breakdown & formatcurrency(qual3) & " for Drawing-D sizes." & vbCrLf End If If NOT qual4 = 0 Then breakdown = breakdown & formatcurrency(qual4) & " for Drawing-E sizes." & vbCrLf End If If NOT qual5 = 0 Then breakdown = breakdown & formatcurrency(qual5) & " for prep-work." & vbCrLf End If If NOT qual6 = 0 Then breakdown = breakdown & formatcurrency(qual6) & " for reassembling documents." & vbCrLf End If If NOT qual7 = 0 Then breakdown = breakdown & formatcurrency(qual7) & " for indexing." & vbCrLf End If If NOT qual8 = 99 and NOT qual8 = 0 Then breakdown = breakdown & formatcurrency(qual8) & " for selected output format." & vbCrLf Elseif qual8 = 99 then breakdown = breakdown & "Output format not calculated." & vbCrLf End If If NOT qual9 = 0 Then breakdown = breakdown & formatcurrency(qual9) & " for delivery medium." & vbCrLf End If If NOT qual10 = 0 Then breakdown = breakdown & formatcurrency(qual10) & " for writing import scripts." & vbCrLf & vbCrLf & "Total: " & myquote End If frm.theQuote.value = myquote ' msgbox breakdown frm.theQuote.focus() end function