Martin Reid
mwp.reid at qub.ac.uk
Tue Oct 28 04:45:21 CST 2003
David
Have a look at this. Create a simple chart using ASP and HTML. Of the web.
Creates a simple bar chart. So it is possible. More complex examples are
available using .NET and there are lots of third party controls etc
available.
For the reports have a look at this
http://www.ssw.com.au/ssw/AccessReporterForIIS/
I am not unbaised re this companies software as they provide me with free
licences for some of thier products.
-------------------------------------------------------
Chart script.
-------------------------------------------------------
<%@ LANGUAGE="VBSCRIPT" %>
<% Option Explicit %>
<!--#include virtual="/adovbs.inc"-->
<%
'How many pixels high we want our bar graph
Const graphHeight = 300
Const graphWidth = 450
Const barImage = "bluebar.gif"
sub BarChart(data, labels, title, axislabel)
'Print heading
Response.Write("<TABLE CELLSPACING=0 CELLPADDING=1 BORDER=0 WIDTH=" &
graphWidth & ">" & chr(13))
Response.Write("<TR><TH COLSPAN=" & UBound(data) - LBound(data) + 2 & ">")
Response.Write("<FONT SIZE=+2>" & title & "</FONT></TH></TR>" & chr(13))
Response.Write("<TR><TD VALIGN=TOP ALIGN=RIGHT>" & chr(13))
'Find the highest value
Dim hi
hi = data(LBound(data))
Dim i
for i = LBound(data) to UBound(data) - 1
if data(i) > hi then hi = data(i)
next
'Print out the highest value at the top of the chart
Response.Write(hi & "</TD>")
Dim widthpercent
widthpercent = CInt((1 / (UBound(data) - LBound(data) + 1)) * 100)
For i = LBound(data) to UBound(data) - 1
Response.Write(" <TD VALIGN=BOTTOM ROWSPAN=2 WIDTH=" & widthpercent & "%
>" & chr(13))
Response.Write(" <IMG SRC=""" & barImage & """ WIDTH=100% HEIGHT=" &
CInt(data(i)/hi * graphHeight) & ">" & chr(13))
Response.Write(" </TD>" & chr(13))
Next
Response.Write("</TR>")
Response.Write("<TR><TD VALIGN=BOTTOM ALIGN=RIGHT>0</TD></TR>")
'Write footer
Response.Write("<TR><TD ALIGN=RIGHT VALIGN=BOTTOM>" & axislabel & "</TD>" &
chr(13))
for i = LBound(labels) to UBound(labels) - 1
Response.Write("<TD VALIGN=BOTTOM ALIGN=CENTER>" & labels(i) & "</TD>" &
chr(13))
next
Response.Write("</TR>" & chr(13))
Response.Write("</TABLE>")
end sub
'Open connection to database
Dim objConnection
Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.Open "DSN=Products"
Dim strSQL
strSQL = "SELECT Name,UnitsSold FROM Products"
Dim rsProducts
Set rsProducts = Server.CreateObject("ADODB.Recordset")
rsProducts.Open strSQL, objConnection, adOpenStatic
Dim numRecords
numRecords = rsProducts.RecordCount
Dim unitsSoldArray(), labelArray()
Redim unitsSoldArray(numRecords)
Redim labelArray(numRecords)
Dim i
for i = 0 to numRecords-1
unitsSoldArray(i) = rsProducts("UnitsSold")
labelArray(i) = rsProducts("Name")
rsProducts.MoveNext
next
%>
<HTML>
<BODY>
<CENTER>
<% BarChart unitsSoldArray,labelArray,"Units Sold","Product" %>
</CENTER>
</BODY>
</HTML>
<%
rsProducts.Close
Set rsProducts = Nothing
objConnection.Close
Set objConnection = Nothing
%>
----- Original Message -----
From: "David Emerson" <davide at dalyn.co.nz>
To: "Drew Wutka" <DWUTKA at marlow.com>; <accessd at databaseadvisors.com>
Sent: Monday, October 27, 2003 7:00 PM
Subject: Re: [AccessD] Web based Project
> Thanks Drew, I might need to take a different approach to solve the
> problem. If I could make the updating easier for the users this would go
a
> long way. Currently they need to go to a web site, click on a file and
> save it to their local drive, then click on a shortcut to install the
update.
>
> Can anyone give me pointers/HTML code for automating this into one step -
> they just click on the web site link and the file is downloaded to the
> local drive (always to the same location on every ones machine), then an
> installation file is started which handles the updating.
>
> Regards
>
> David Emerson
> DALYN Software Ltd
> 25b Cunliffe St, Johnsonville
> Wellington, New Zealand
> Ph/Fax (877) 456-1205
>
> At 27/10/2003, you wrote:
> >Okay David, I took at look at that database, finally, sorry, had a long
> >week. The data entry portion would be a snap to convert to ASP pages.
Rough
> >estimate of 6 hours. The reports are DEFINITELY going to be a problem
> >though. Some look pretty simple, and those could be converted to
HTML/ASP.
> >However, I saw one with a graph. Oh, those are show stoppers when it
comes
> >to HTML, because just plain HTML doesn't play well with graphs. Now, you
> >could still create those reports in access, and possible use scripting to
> >force print them. There are two possibilities there. One, messing with
> >printers/printing with client side scripting on the web is a pain. There
> >are ActiveX controls out there that make life a lot easier, but they cost
> >money...not sure how much, probably at least one or two hundred. Another
> >possibility would be to create a VB FE, that runs on the clients
machines.
> >It's a snap to make a browser in VB, so it could just interact with the
> >webpages, just like IE would. But then when it came time for the
reports,
> >you run them from the server, VB 'downloads' them, and VB can then
display
> >or print them. Just a thought....and a wild one at that, because I've
never
> >done that, but 95% of what I do in VB I've never done before! <grin>
> >
> >Drew
> >
> >-----Original Message-----
> >From: David Emerson [mailto:davide at dalyn.co.nz]
> >Sent: Tuesday, October 21, 2003 2:01 PM
> >To: Drew Wutka
> >Subject: Web based Project (Dalyn Software)
> >
> >
> >Drew,
> >
> >Thanks for your time today.
> >
> >Here is the file. If you unzip it to a folder called C:\BWS then the FE
> >will link to the BE.
> >
> >Call me if you have any questions (below is a free phone number to NZ).
> >
> >
> >Regards
> >
> >David Emerson
> >DALYN Software Ltd
> >25b Cunliffe St, Johnsonville
> >Wellington, New Zealand
> >Ph/Fax (877) 456-1205
>
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>