[AccessD] A2003: Plot a Vertical Line on a fuel gauge

Darren DICK d.dick at tripledee.com.au
Sun Oct 23 18:39:48 CDT 2005


Thanks heaps Rocky
I'll give it a go

Darren
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin -
Beach Access Software
Sent: Monday, 24 October 2005 2:02 AM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] A2003: Plot a Vertical Line on a fuel gauge

Darren:

I had to make a rather complicated bar graph for an app years ago and what I
decided to do, instead of drawing the lines was to start with the maximum
length line and adjust the length in the Detail_Format event.  You could do
the same by making all the lines in the report, set them to Visible No, and
visiblizing the ones you want. That's the easy way.

You can also draw stuff like this using .Line:

    ' Draw up-pointing triangle for txt box
    rptBigOne.DrawWidth = 10
    rptBigOne.Line (txtParticipantAverage.Left - 30,
txtParticipantAverage.Top + 40)- _
        (txtParticipantAverage.Left, txtParticipantAverage.Top + 100),
QBColor(0)
    rptBigOne.Line (txtParticipantAverage.Left, txtParticipantAverage.Top +
100)- _
        (txtParticipantAverage.Left + 30, txtParticipantAverage.Top + 40),
QBColor(0)
    rptBigOne.Line (txtParticipantAverage.Left - 30,
txtParticipantAverage.Top + 40)- _
        (txtParticipantAverage.Left + 30, txtParticipantAverage.Top + 40),
QBColor(0)
    rptBigOne.DrawWidth = 1

    ' Draw down-pointing triangle for txt box
    rptBigOne.DrawWidth = 10
    rptBigOne.Line (txtOrganizationAverage.Left, txtOrganizationAverage.Top 
+ 120)- _
        (txtOrganizationAverage.Left + 30, txtOrganizationAverage.Top + 60),
QBColor(0)
    rptBigOne.Line (txtOrganizationAverage.Left + 60,
txtOrganizationAverage.Top + 120)- _
        (txtOrganizationAverage.Left + 30, txtOrganizationAverage.Top + 60),
QBColor(0)
    rptBigOne.Line (txtOrganizationAverage.Left, txtOrganizationAverage.Top 
+ 120)- _
        (txtOrganizationAverage.Left + 60, txtOrganizationAverage.Top +
120), QBColor(0)
    rptBigOne.DrawWidth = 1
End If

where rptBigOne is set to the name of the report.

You can use CurrentX and CurrentY properties of the report which is a lot of
fun and print something at the current location:

    rptBigOne.CurrentY = Text109.Top + (intJ - 1) * 142
    rptBigOne.CurrentX = intLeft - 75 + intK * 1.5 / intPointMax * 1440 If
Nz(gintGraph2(ItemNumber, intJ, intK)) <> 0 Then
    rptBigOne.Print Str(gintGraph2(ItemNumber, intJ, intK)) Else
    rptBigOne.CurrentX = rptBigOne.CurrentX + 60
    rptBigOne.CurrentY = rptBigOne.CurrentY - 60
    rptBigOne.Print "."
'     MsgBox "X=" & rptBigOne.CurrentX & " " & "Y=" & rptBigOne.CurrentY & "

" & "gintgraph2=" & gintgraph2(ItemNumber, intJ, intK) End If

But I think making the lines you want to show visible in the Format event is
probably the easiest way I know of.

HTH

Rocky

----- Original Message -----
From: "Darren DICK" <d.dick at tripledee.com.au>
To: "'Access Developers discussion and problem solving'" 
<accessd at databaseadvisors.com>
Sent: Sunday, October 23, 2005 6:39 AM
Subject: [AccessD] A2003: Plot a Vertical Line on a fuel gauge


> Hi Team
> I am trying to get the syntax right to plot a vertical line on a 
> horizontal
> "fuel gauge"
> Fuel gauge looks something like |___|___|___|___|
>
> Fuel gauge is made up of 5 vertical lines representing (from L to R)
> Empty(Minimum), 1/4, 1/2, 3/4, and Full (Maximum)
> With a long line underneath the 5 vertical lines representing the plane
>
> User enters 3 values into controls on a form
> 1 = MIN
> 2 = MAX
> 3 = Desired (Is always going to fall somewhere between min and max - 
> handled
> by data entry rules)
>
> The 1st and 2nd values entered indicate what the max and min are to be IE
> Empty and Full
> EG Min = 100,000
> Eg Max = 300,000
> EG "Desired" = 200,000
>
> So I should see (Using the above example) the vertical line indicating
> "Desired" sit above the Half Full vertical line
> But so far I am doing something wrong - 'cause when I enter 1 as a min 3 
> as
> a max and 2 as desired the vertical line plots perfectly
>
> But when I use 100 as min 300 as max and 200 as "desired" I get a slight
> shift of the "Desired" vertical line to the right
> And it increases (I think exponetially) as I increase the Min and Max by
> increments of say...thousands
>
> So...Any tips on the logic I should use?
>
> Anyone wanna see the demo - lemme know
>
> Many thanks in advance
>
> Darren
>
>
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 

-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com





More information about the AccessD mailing list