Access in other countries

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Does anyone know if there is a WEB site which lists the differences of
MSAccess between the U.S. and Germany? I have a database which was created
in the U.S. and sent to Germany to be used, but not everything works there.
Such as a graph which needs to be previewed doesn't work there. I'm
wondering if it's because I created the scale programmatically in inches and
the German version may only understand millimeters. Any ideas?

Thank you,

Sarah
 
Could be a case of different build as opposed to a country issue.

What version of Access was the application created in and what version are
they trying to run it with? As a for instance, Pivot charts work fine with
the 2003 runtime but not with the 2000 runtime.

Might pay to test it on an earlier version of Access if you can to eliminate
the difering build issue.

Hope it helps,
Regards,
Nick.
 
Hi Biz,

Thanks for your comments, but I know it's not the build. The versions of
Access vary from 2000, 2002 and 2003. All with different service packs. I
have users here in the U.S. who also work in different versions and
everything works fine for them.

Any other ideas?

Thanks,

Sarah
 
Okay, lets look for commonalities.
Do the offending components all use date values? If so how are these set.
Are the problems restricted to graphs or reports only?
Do they all relate to a specific table or set of queries?

If we can narrow down the problem to a particular feature of set of
features, then we may be able to programmatically change those parameters
based on the regional settings of the computer running the database.
 
I know the date value is not an issue. The reason why I brought up the
inches vs. millimeters issue is because there's only one report that they
cannot preview and that's the report which I coded a graph on the report
using inches. Here is some of my code which is executed at the Detail On
format: I know it's hard to follow, but it's to give you an idea of how I'm
using inches in my code. I guess I need to find out if their regional
settings handle inches or not. I don't know if this even the problem. Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale = txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False: EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) - NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) + NullToZero(TotalTime)) >
CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) - NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And NewStart > 0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) - NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) + TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) + TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255, 0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255, 255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0, 255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0, 255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC = CPath) Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width) <=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
sngLeft = rpt.ScaleLeft
sngWidth = (txtover * TheScale) + TheMarg
sngHeight = rpt.ScaleHeight
txtendtime = CycleTime + txtover
Me!EndTime2.Visible = txtover <> 0
If ((sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
StartTime2.Visible = True
End If
Me!StartTime2.Left = (sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime2.Width) <= Me.Width
Then
Me!EndTime2.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime2.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime2.Width * Me!txtMinus)
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
End If
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
End Sub
 
If anything, I think it would have to be setting the scalemode that is
causing it. You could set this as a variable based on country. although it is
going to entail a bit of work adjusting the VB to compensate for the change.

However, you could test the theory by writing a small application running a
simple graph and setting the scalemode to 6 or 7 and seeing if that wil work
for the Germans. I would do two graphs using the same data but set one for
inches the other for millimetres. That would give you the comparitive data to
make a decision on whether the metric/imperial issue is the real issue or
just a red herring.

Alternatively, you could convert the U.S. to work in metric. Living in New
Zealand (a metric country) ,I have to go with the Germans on this!

Regards,
Nick.

Sarah said:
I know the date value is not an issue. The reason why I brought up the
inches vs. millimeters issue is because there's only one report that they
cannot preview and that's the report which I coded a graph on the report
using inches. Here is some of my code which is executed at the Detail On
format: I know it's hard to follow, but it's to give you an idea of how I'm
using inches in my code. I guess I need to find out if their regional
settings handle inches or not. I don't know if this even the problem. Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale = txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False: EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) - NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) + NullToZero(TotalTime)) >
CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) - NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And NewStart > 0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) - NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) + TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) + TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255, 0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255, 255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0, 255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0, 255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC = CPath) Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width) <=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
sngLeft = rpt.ScaleLeft
sngWidth = (txtover * TheScale) + TheMarg
sngHeight = rpt.ScaleHeight
txtendtime = CycleTime + txtover
Me!EndTime2.Visible = txtover <> 0
If ((sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
StartTime2.Visible = True
End If
Me!StartTime2.Left = (sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime2.Width) <= Me.Width
Then
Me!EndTime2.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime2.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime2.Width * Me!txtMinus)
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
End If
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
End Sub

Biz Enhancer said:
Okay, lets look for commonalities.
Do the offending components all use date values? If so how are these set.
Are the problems restricted to graphs or reports only?
Do they all relate to a specific table or set of queries?

If we can narrow down the problem to a particular feature of set of
features, then we may be able to programmatically change those parameters
based on the regional settings of the computer running the database.
 
It might be related to paper size. Users in Germany - or just about anywhere
outside of the US - are probably not using US paper sizes. Have you tested
the report with other paper sizes?

What happens when the users try to preview this report?

--
Brendan Reynolds
Access MVP

Sarah said:
I know the date value is not an issue. The reason why I brought up the
inches vs. millimeters issue is because there's only one report that they
cannot preview and that's the report which I coded a graph on the report
using inches. Here is some of my code which is executed at the Detail On
format: I know it's hard to follow, but it's to give you an idea of how
I'm
using inches in my code. I guess I need to find out if their regional
settings handle inches or not. I don't know if this even the problem.
Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale = txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False:
EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) -
NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) + NullToZero(TotalTime)) >
CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) - NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And NewStart > 0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) - NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) + TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) + TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255, 0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255, 255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0, 255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0, 255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC = CPath)
Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width) <=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
sngLeft = rpt.ScaleLeft
sngWidth = (txtover * TheScale) + TheMarg
sngHeight = rpt.ScaleHeight
txtendtime = CycleTime + txtover
Me!EndTime2.Visible = txtover <> 0
If ((sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
StartTime2.Visible = True
End If
Me!StartTime2.Left = (sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime2.Width) <= Me.Width
Then
Me!EndTime2.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime2.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime2.Width * Me!txtMinus)
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
End If
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
End Sub

Biz Enhancer said:
Okay, lets look for commonalities.
Do the offending components all use date values? If so how are these set.
Are the problems restricted to graphs or reports only?
Do they all relate to a specific table or set of queries?

If we can narrow down the problem to a particular feature of set of
features, then we may be able to programmatically change those parameters
based on the regional settings of the computer running the database.
 
I started to do that, but couldn't get the code to work when I converted
everything to millimeters. The only value I couldn't figure out how to
convert is the 1440 that I am using in the coded. What number would I change
this to if I was dealing with millimeters?

Biz Enhancer said:
If anything, I think it would have to be setting the scalemode that is
causing it. You could set this as a variable based on country. although it is
going to entail a bit of work adjusting the VB to compensate for the change.

However, you could test the theory by writing a small application running a
simple graph and setting the scalemode to 6 or 7 and seeing if that wil work
for the Germans. I would do two graphs using the same data but set one for
inches the other for millimetres. That would give you the comparitive data to
make a decision on whether the metric/imperial issue is the real issue or
just a red herring.

Alternatively, you could convert the U.S. to work in metric. Living in New
Zealand (a metric country) ,I have to go with the Germans on this!

Regards,
Nick.

Sarah said:
I know the date value is not an issue. The reason why I brought up the
inches vs. millimeters issue is because there's only one report that they
cannot preview and that's the report which I coded a graph on the report
using inches. Here is some of my code which is executed at the Detail On
format: I know it's hard to follow, but it's to give you an idea of how I'm
using inches in my code. I guess I need to find out if their regional
settings handle inches or not. I don't know if this even the problem. Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale = txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False: EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) - NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) + NullToZero(TotalTime)) >
CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) - NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And NewStart > 0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) - NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) + TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) + TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255, 0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255, 255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0, 255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0, 255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC = CPath) Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width) <=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
sngLeft = rpt.ScaleLeft
sngWidth = (txtover * TheScale) + TheMarg
sngHeight = rpt.ScaleHeight
txtendtime = CycleTime + txtover
Me!EndTime2.Visible = txtover <> 0
If ((sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
StartTime2.Visible = True
End If
Me!StartTime2.Left = (sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime2.Width) <= Me.Width
Then
Me!EndTime2.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime2.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime2.Width * Me!txtMinus)
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
End If
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
End Sub

Biz Enhancer said:
Okay, lets look for commonalities.
Do the offending components all use date values? If so how are these set.
Are the problems restricted to graphs or reports only?
Do they all relate to a specific table or set of queries?

If we can narrow down the problem to a particular feature of set of
features, then we may be able to programmatically change those parameters
based on the regional settings of the computer running the database.

:

Hi Biz,

Thanks for your comments, but I know it's not the build. The versions of
Access vary from 2000, 2002 and 2003. All with different service packs. I
have users here in the U.S. who also work in different versions and
everything works fine for them.

Any other ideas?

Thanks,

Sarah

:

Could be a case of different build as opposed to a country issue.

What version of Access was the application created in and what version are
they trying to run it with? As a for instance, Pivot charts work fine with
the 2003 runtime but not with the 2000 runtime.

Might pay to test it on an earlier version of Access if you can to eliminate
the difering build issue.

Hope it helps,
Regards,
Nick.

:

Does anyone know if there is a WEB site which lists the differences of
MSAccess between the U.S. and Germany? I have a database which was created
in the U.S. and sent to Germany to be used, but not everything works there.
Such as a graph which needs to be previewed doesn't work there. I'm
wondering if it's because I created the scale programmatically in inches and
the German version may only understand millimeters. Any ideas?

Thank you,

Sarah
 
I also thought of tghe paper size. They use A4 and my options are 11X17,
8.5X11 and 8.5X14, but they do have the capability to change this in the page
setup after the report is previewed. Although it never gets to that point.
Whagt happens is that they click the preview button, the screen goesw blank
and looks like it's generating something and then the blank screen closes and
goes back to the original screen with the preview button. I was thinking of
creating a report that was just set to the A4 paper size and see if that does
anything.

Brendan Reynolds said:
It might be related to paper size. Users in Germany - or just about anywhere
outside of the US - are probably not using US paper sizes. Have you tested
the report with other paper sizes?

What happens when the users try to preview this report?

--
Brendan Reynolds
Access MVP

Sarah said:
I know the date value is not an issue. The reason why I brought up the
inches vs. millimeters issue is because there's only one report that they
cannot preview and that's the report which I coded a graph on the report
using inches. Here is some of my code which is executed at the Detail On
format: I know it's hard to follow, but it's to give you an idea of how
I'm
using inches in my code. I guess I need to find out if their regional
settings handle inches or not. I don't know if this even the problem.
Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale = txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False:
EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) -
NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) + NullToZero(TotalTime)) >
CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) - NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And NewStart > 0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) - NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) + TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) + TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255, 0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255, 255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0, 255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0, 255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC = CPath)
Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width) <=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
sngLeft = rpt.ScaleLeft
sngWidth = (txtover * TheScale) + TheMarg
sngHeight = rpt.ScaleHeight
txtendtime = CycleTime + txtover
Me!EndTime2.Visible = txtover <> 0
If ((sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
StartTime2.Visible = True
End If
Me!StartTime2.Left = (sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime2.Width) <= Me.Width
Then
Me!EndTime2.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime2.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime2.Width * Me!txtMinus)
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
End If
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
End Sub

Biz Enhancer said:
Okay, lets look for commonalities.
Do the offending components all use date values? If so how are these set.
Are the problems restricted to graphs or reports only?
Do they all relate to a specific table or set of queries?

If we can narrow down the problem to a particular feature of set of
features, then we may be able to programmatically change those parameters
based on the regional settings of the computer running the database.

:

Hi Biz,

Thanks for your comments, but I know it's not the build. The versions
of
Access vary from 2000, 2002 and 2003. All with different service
packs. I
have users here in the U.S. who also work in different versions and
everything works fine for them.

Any other ideas?

Thanks,

Sarah

:

Could be a case of different build as opposed to a country issue.

What version of Access was the application created in and what
version are
they trying to run it with? As a for instance, Pivot charts work fine
with
the 2003 runtime but not with the 2000 runtime.

Might pay to test it on an earlier version of Access if you can to
eliminate
the difering build issue.

Hope it helps,
Regards,
Nick.

:

Does anyone know if there is a WEB site which lists the differences
of
MSAccess between the U.S. and Germany? I have a database which was
created
in the U.S. and sent to Germany to be used, but not everything
works there.
Such as a graph which needs to be previewed doesn't work there.
I'm
wondering if it's because I created the scale programmatically in
inches and
the German version may only understand millimeters. Any ideas?

Thank you,

Sarah
 
I did find that code hard to follow, so I can't be sure about this, but it
seems to me to be at least possible that your code may be attempting to
print something outside of the printable area of an A4 sheet of paper. There
are two ways that you can test this theory ...

Try to preview the report on your system using A4. If your current printer
driver doesn't give you that option, try a different driver. Remember, you
don't need the physical printer, just the driver, to preview the report.

Alternatively, ask the users in Germany to see if they can preview the
report using your paper size.

I have a HP LaserJet driver installed on this PC for testing purposes. This
is the HP LaserJet driver that came with Windows XP. The paper size options
for that driver include A4, Letter, and Legal, so you should be able to use
that driver for testing.

--
Brendan Reynolds
Access MVP

Sarah said:
I also thought of tghe paper size. They use A4 and my options are 11X17,
8.5X11 and 8.5X14, but they do have the capability to change this in the
page
setup after the report is previewed. Although it never gets to that
point.
Whagt happens is that they click the preview button, the screen goesw
blank
and looks like it's generating something and then the blank screen closes
and
goes back to the original screen with the preview button. I was thinking
of
creating a report that was just set to the A4 paper size and see if that
does
anything.

Brendan Reynolds said:
It might be related to paper size. Users in Germany - or just about
anywhere
outside of the US - are probably not using US paper sizes. Have you
tested
the report with other paper sizes?

What happens when the users try to preview this report?

--
Brendan Reynolds
Access MVP

Sarah said:
I know the date value is not an issue. The reason why I brought up the
inches vs. millimeters issue is because there's only one report that
they
cannot preview and that's the report which I coded a graph on the
report
using inches. Here is some of my code which is executed at the Detail
On
format: I know it's hard to follow, but it's to give you an idea of
how
I'm
using inches in my code. I guess I need to find out if their regional
settings handle inches or not. I don't know if this even the problem.
Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale = txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False:
EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) -
NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) + NullToZero(TotalTime))

CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) -
NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And NewStart >
0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) -
NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) +
TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) +
TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255, 0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255,
255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0, 255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0,
255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC =
CPath)
Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width) <=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
sngLeft = rpt.ScaleLeft
sngWidth = (txtover * TheScale) + TheMarg
sngHeight = rpt.ScaleHeight
txtendtime = CycleTime + txtover
Me!EndTime2.Visible = txtover <> 0
If ((sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
StartTime2.Visible = True
End If
Me!StartTime2.Left = (sngWidth - (NullToZero(txtover) *
TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime2.Width) <=
Me.Width
Then
Me!EndTime2.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime2.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime2.Width * Me!txtMinus)
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
End If
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
End Sub

:

Okay, lets look for commonalities.
Do the offending components all use date values? If so how are these
set.
Are the problems restricted to graphs or reports only?
Do they all relate to a specific table or set of queries?

If we can narrow down the problem to a particular feature of set of
features, then we may be able to programmatically change those
parameters
based on the regional settings of the computer running the database.

:

Hi Biz,

Thanks for your comments, but I know it's not the build. The
versions
of
Access vary from 2000, 2002 and 2003. All with different service
packs. I
have users here in the U.S. who also work in different versions and
everything works fine for them.

Any other ideas?

Thanks,

Sarah

:

Could be a case of different build as opposed to a country issue.

What version of Access was the application created in and what
version are
they trying to run it with? As a for instance, Pivot charts work
fine
with
the 2003 runtime but not with the 2000 runtime.

Might pay to test it on an earlier version of Access if you can to
eliminate
the difering build issue.

Hope it helps,
Regards,
Nick.

:

Does anyone know if there is a WEB site which lists the
differences
of
MSAccess between the U.S. and Germany? I have a database which
was
created
in the U.S. and sent to Germany to be used, but not everything
works there.
Such as a graph which needs to be previewed doesn't work there.
I'm
wondering if it's because I created the scale programmatically
in
inches and
the German version may only understand millimeters. Any ideas?

Thank you,

Sarah
 
I am able to print to A4 and the Germany folks can print onther reports in
the database to A4 eventhough I have them set up to 8.5X11. That's why I'm
not sure the paper size is an issue. The report in question can be printed
on 8.5X11. So you would think when they chose that report, they would at
least be able to view it sinced they can view other reports set up that way.
That's why I think it's the inches vs millimeters in the code. I just don't
know how to convert the 1440 to a millimeter number. That's used for the
twips.

Brendan Reynolds said:
I did find that code hard to follow, so I can't be sure about this, but it
seems to me to be at least possible that your code may be attempting to
print something outside of the printable area of an A4 sheet of paper. There
are two ways that you can test this theory ...

Try to preview the report on your system using A4. If your current printer
driver doesn't give you that option, try a different driver. Remember, you
don't need the physical printer, just the driver, to preview the report.

Alternatively, ask the users in Germany to see if they can preview the
report using your paper size.

I have a HP LaserJet driver installed on this PC for testing purposes. This
is the HP LaserJet driver that came with Windows XP. The paper size options
for that driver include A4, Letter, and Legal, so you should be able to use
that driver for testing.

--
Brendan Reynolds
Access MVP

Sarah said:
I also thought of tghe paper size. They use A4 and my options are 11X17,
8.5X11 and 8.5X14, but they do have the capability to change this in the
page
setup after the report is previewed. Although it never gets to that
point.
Whagt happens is that they click the preview button, the screen goesw
blank
and looks like it's generating something and then the blank screen closes
and
goes back to the original screen with the preview button. I was thinking
of
creating a report that was just set to the A4 paper size and see if that
does
anything.

Brendan Reynolds said:
It might be related to paper size. Users in Germany - or just about
anywhere
outside of the US - are probably not using US paper sizes. Have you
tested
the report with other paper sizes?

What happens when the users try to preview this report?

--
Brendan Reynolds
Access MVP

I know the date value is not an issue. The reason why I brought up the
inches vs. millimeters issue is because there's only one report that
they
cannot preview and that's the report which I coded a graph on the
report
using inches. Here is some of my code which is executed at the Detail
On
format: I know it's hard to follow, but it's to give you an idea of
how
I'm
using inches in my code. I guess I need to find out if their regional
settings handle inches or not. I don't know if this even the problem.
Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale = txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False:
EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) -
NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) + NullToZero(TotalTime))

CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) -
NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And NewStart >
0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) -
NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) +
TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) +
TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255, 0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255,
255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0, 255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0,
255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC =
CPath)
Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width) <=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
sngLeft = rpt.ScaleLeft
sngWidth = (txtover * TheScale) + TheMarg
sngHeight = rpt.ScaleHeight
txtendtime = CycleTime + txtover
Me!EndTime2.Visible = txtover <> 0
If ((sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
StartTime2.Visible = True
End If
Me!StartTime2.Left = (sngWidth - (NullToZero(txtover) *
TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime2.Width) <=
Me.Width
Then
Me!EndTime2.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime2.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime2.Width * Me!txtMinus)
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
End If
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
End Sub

:

Okay, lets look for commonalities.
Do the offending components all use date values? If so how are these
set.
Are the problems restricted to graphs or reports only?
Do they all relate to a specific table or set of queries?

If we can narrow down the problem to a particular feature of set of
features, then we may be able to programmatically change those
parameters
based on the regional settings of the computer running the database.

:

Hi Biz,

Thanks for your comments, but I know it's not the build. The
versions
of
Access vary from 2000, 2002 and 2003. All with different service
packs. I
have users here in the U.S. who also work in different versions and
everything works fine for them.
 
OK, well at least we've eliminated one possibility.

1440 twips = 1 inch = 25.4 millimetres.

--
Brendan Reynolds
Access MVP

Sarah said:
I am able to print to A4 and the Germany folks can print onther reports in
the database to A4 eventhough I have them set up to 8.5X11. That's why
I'm
not sure the paper size is an issue. The report in question can be
printed
on 8.5X11. So you would think when they chose that report, they would at
least be able to view it sinced they can view other reports set up that
way.
That's why I think it's the inches vs millimeters in the code. I just
don't
know how to convert the 1440 to a millimeter number. That's used for the
twips.

Brendan Reynolds said:
I did find that code hard to follow, so I can't be sure about this, but
it
seems to me to be at least possible that your code may be attempting to
print something outside of the printable area of an A4 sheet of paper.
There
are two ways that you can test this theory ...

Try to preview the report on your system using A4. If your current
printer
driver doesn't give you that option, try a different driver. Remember,
you
don't need the physical printer, just the driver, to preview the report.

Alternatively, ask the users in Germany to see if they can preview the
report using your paper size.

I have a HP LaserJet driver installed on this PC for testing purposes.
This
is the HP LaserJet driver that came with Windows XP. The paper size
options
for that driver include A4, Letter, and Legal, so you should be able to
use
that driver for testing.

--
Brendan Reynolds
Access MVP

Sarah said:
I also thought of tghe paper size. They use A4 and my options are
11X17,
8.5X11 and 8.5X14, but they do have the capability to change this in
the
page
setup after the report is previewed. Although it never gets to that
point.
Whagt happens is that they click the preview button, the screen goesw
blank
and looks like it's generating something and then the blank screen
closes
and
goes back to the original screen with the preview button. I was
thinking
of
creating a report that was just set to the A4 paper size and see if
that
does
anything.

:

It might be related to paper size. Users in Germany - or just about
anywhere
outside of the US - are probably not using US paper sizes. Have you
tested
the report with other paper sizes?

What happens when the users try to preview this report?

--
Brendan Reynolds
Access MVP

I know the date value is not an issue. The reason why I brought up
the
inches vs. millimeters issue is because there's only one report that
they
cannot preview and that's the report which I coded a graph on the
report
using inches. Here is some of my code which is executed at the
Detail
On
format: I know it's hard to follow, but it's to give you an idea of
how
I'm
using inches in my code. I guess I need to find out if their
regional
settings handle inches or not. I don't know if this even the
problem.
Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart
As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As
Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale =
txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False:
EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) -
NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) +
NullToZero(TotalTime))

CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) -
NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And
NewStart >
0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) -
NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) +
TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) +
TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255,
0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255,
255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0,
255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0,
255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC =
CPath)
Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime)
*
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width)
<=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime)
*
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
sngLeft = rpt.ScaleLeft
sngWidth = (txtover * TheScale) + TheMarg
sngHeight = rpt.ScaleHeight
txtendtime = CycleTime + txtover
Me!EndTime2.Visible = txtover <> 0
If ((sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
StartTime2.Visible = True
End If
Me!StartTime2.Left = (sngWidth - (NullToZero(txtover) *
TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime2.Width) <=
Me.Width
Then
Me!EndTime2.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime2.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime2.Width * Me!txtMinus)
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
End If
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
End Sub

:

Okay, lets look for commonalities.
Do the offending components all use date values? If so how are
these
set.
Are the problems restricted to graphs or reports only?
Do they all relate to a specific table or set of queries?

If we can narrow down the problem to a particular feature of set of
features, then we may be able to programmatically change those
parameters
based on the regional settings of the computer running the
database.

:

Hi Biz,

Thanks for your comments, but I know it's not the build. The
versions
of
Access vary from 2000, 2002 and 2003. All with different service
packs. I
have users here in the U.S. who also work in different versions
and
everything works fine for them.
 
I went to Regional Options in the Control Panel and changed the Measurement
System to Metrics which changed the Report form to Centimeters. Then I
converted the inches to centimeters in my code. I did a small test and I can
now preview part of the report. It looks like I will just have to have a
different report for Germany using centimeters instead of inches in my code.
I still can't quite figure out the conversion. When I changed everything
from inches to centimeters and then used the conversion you gave me below,
but for centimeters... I still don't get the right numbers.

Brendan Reynolds said:
OK, well at least we've eliminated one possibility.

1440 twips = 1 inch = 25.4 millimetres.

--
Brendan Reynolds
Access MVP

Sarah said:
I am able to print to A4 and the Germany folks can print onther reports in
the database to A4 eventhough I have them set up to 8.5X11. That's why
I'm
not sure the paper size is an issue. The report in question can be
printed
on 8.5X11. So you would think when they chose that report, they would at
least be able to view it sinced they can view other reports set up that
way.
That's why I think it's the inches vs millimeters in the code. I just
don't
know how to convert the 1440 to a millimeter number. That's used for the
twips.

Brendan Reynolds said:
I did find that code hard to follow, so I can't be sure about this, but
it
seems to me to be at least possible that your code may be attempting to
print something outside of the printable area of an A4 sheet of paper.
There
are two ways that you can test this theory ...

Try to preview the report on your system using A4. If your current
printer
driver doesn't give you that option, try a different driver. Remember,
you
don't need the physical printer, just the driver, to preview the report.

Alternatively, ask the users in Germany to see if they can preview the
report using your paper size.

I have a HP LaserJet driver installed on this PC for testing purposes.
This
is the HP LaserJet driver that came with Windows XP. The paper size
options
for that driver include A4, Letter, and Legal, so you should be able to
use
that driver for testing.

--
Brendan Reynolds
Access MVP

I also thought of tghe paper size. They use A4 and my options are
11X17,
8.5X11 and 8.5X14, but they do have the capability to change this in
the
page
setup after the report is previewed. Although it never gets to that
point.
Whagt happens is that they click the preview button, the screen goesw
blank
and looks like it's generating something and then the blank screen
closes
and
goes back to the original screen with the preview button. I was
thinking
of
creating a report that was just set to the A4 paper size and see if
that
does
anything.

:

It might be related to paper size. Users in Germany - or just about
anywhere
outside of the US - are probably not using US paper sizes. Have you
tested
the report with other paper sizes?

What happens when the users try to preview this report?

--
Brendan Reynolds
Access MVP

I know the date value is not an issue. The reason why I brought up
the
inches vs. millimeters issue is because there's only one report that
they
cannot preview and that's the report which I coded a graph on the
report
using inches. Here is some of my code which is executed at the
Detail
On
format: I know it's hard to follow, but it's to give you an idea of
how
I'm
using inches in my code. I guess I need to find out if their
regional
settings handle inches or not. I don't know if this even the
problem.
Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart
As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As
Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale =
txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False:
EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) -
NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) +
NullToZero(TotalTime))

CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) -
NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And
NewStart >
0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) -
NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) +
TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) +
TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255,
0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255,
255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0,
255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0,
255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC =
CPath)
Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime)
*
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width)
<=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime)
*
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
 
Brendan I just got the conversion to work. Looks great. Thanks for all your
help! Now the real test is to test this in Germany. I won't be able to do
this until Monday, but I have a lot of confidence that this will work.
Thanks again.

Brendan Reynolds said:
OK, well at least we've eliminated one possibility.

1440 twips = 1 inch = 25.4 millimetres.

--
Brendan Reynolds
Access MVP

Sarah said:
I am able to print to A4 and the Germany folks can print onther reports in
the database to A4 eventhough I have them set up to 8.5X11. That's why
I'm
not sure the paper size is an issue. The report in question can be
printed
on 8.5X11. So you would think when they chose that report, they would at
least be able to view it sinced they can view other reports set up that
way.
That's why I think it's the inches vs millimeters in the code. I just
don't
know how to convert the 1440 to a millimeter number. That's used for the
twips.

Brendan Reynolds said:
I did find that code hard to follow, so I can't be sure about this, but
it
seems to me to be at least possible that your code may be attempting to
print something outside of the printable area of an A4 sheet of paper.
There
are two ways that you can test this theory ...

Try to preview the report on your system using A4. If your current
printer
driver doesn't give you that option, try a different driver. Remember,
you
don't need the physical printer, just the driver, to preview the report.

Alternatively, ask the users in Germany to see if they can preview the
report using your paper size.

I have a HP LaserJet driver installed on this PC for testing purposes.
This
is the HP LaserJet driver that came with Windows XP. The paper size
options
for that driver include A4, Letter, and Legal, so you should be able to
use
that driver for testing.

--
Brendan Reynolds
Access MVP

I also thought of tghe paper size. They use A4 and my options are
11X17,
8.5X11 and 8.5X14, but they do have the capability to change this in
the
page
setup after the report is previewed. Although it never gets to that
point.
Whagt happens is that they click the preview button, the screen goesw
blank
and looks like it's generating something and then the blank screen
closes
and
goes back to the original screen with the preview button. I was
thinking
of
creating a report that was just set to the A4 paper size and see if
that
does
anything.

:

It might be related to paper size. Users in Germany - or just about
anywhere
outside of the US - are probably not using US paper sizes. Have you
tested
the report with other paper sizes?

What happens when the users try to preview this report?

--
Brendan Reynolds
Access MVP

I know the date value is not an issue. The reason why I brought up
the
inches vs. millimeters issue is because there's only one report that
they
cannot preview and that's the report which I coded a graph on the
report
using inches. Here is some of my code which is executed at the
Detail
On
format: I know it's hard to follow, but it's to give you an idea of
how
I'm
using inches in my code. I guess I need to find out if their
regional
settings handle inches or not. I don't know if this even the
problem.
Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart
As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As
Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale =
txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False:
EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) -
NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) +
NullToZero(TotalTime))

CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) -
NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And
NewStart >
0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) -
NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) +
TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) +
TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255,
0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255,
255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0,
255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0,
255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC =
CPath)
Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime)
*
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width)
<=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime)
*
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
 
Thanks for all your help Biz. You were absolutely right about the scalemode
and the conversion. It worked great. I just have to test it in Germany on
Monday. Thanks again.

Biz Enhancer said:
If anything, I think it would have to be setting the scalemode that is
causing it. You could set this as a variable based on country. although it is
going to entail a bit of work adjusting the VB to compensate for the change.

However, you could test the theory by writing a small application running a
simple graph and setting the scalemode to 6 or 7 and seeing if that wil work
for the Germans. I would do two graphs using the same data but set one for
inches the other for millimetres. That would give you the comparitive data to
make a decision on whether the metric/imperial issue is the real issue or
just a red herring.

Alternatively, you could convert the U.S. to work in metric. Living in New
Zealand (a metric country) ,I have to go with the Germans on this!

Regards,
Nick.

Sarah said:
I know the date value is not an issue. The reason why I brought up the
inches vs. millimeters issue is because there's only one report that they
cannot preview and that's the report which I coded a graph on the report
using inches. Here is some of my code which is executed at the Detail On
format: I know it's hard to follow, but it's to give you an idea of how I'm
using inches in my code. I guess I need to find out if their regional
settings handle inches or not. I don't know if this even the problem. Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale = txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False: EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) - NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) + NullToZero(TotalTime)) >
CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) - NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And NewStart > 0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) - NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) + TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) + TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255, 0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255, 255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0, 255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0, 255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC = CPath) Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width) <=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
sngLeft = rpt.ScaleLeft
sngWidth = (txtover * TheScale) + TheMarg
sngHeight = rpt.ScaleHeight
txtendtime = CycleTime + txtover
Me!EndTime2.Visible = txtover <> 0
If ((sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
StartTime2.Visible = True
End If
Me!StartTime2.Left = (sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime2.Width) <= Me.Width
Then
Me!EndTime2.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime2.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime2.Width * Me!txtMinus)
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
End If
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
End Sub

Biz Enhancer said:
Okay, lets look for commonalities.
Do the offending components all use date values? If so how are these set.
Are the problems restricted to graphs or reports only?
Do they all relate to a specific table or set of queries?

If we can narrow down the problem to a particular feature of set of
features, then we may be able to programmatically change those parameters
based on the regional settings of the computer running the database.

:

Hi Biz,

Thanks for your comments, but I know it's not the build. The versions of
Access vary from 2000, 2002 and 2003. All with different service packs. I
have users here in the U.S. who also work in different versions and
everything works fine for them.

Any other ideas?

Thanks,

Sarah

:

Could be a case of different build as opposed to a country issue.

What version of Access was the application created in and what version are
they trying to run it with? As a for instance, Pivot charts work fine with
the 2003 runtime but not with the 2000 runtime.

Might pay to test it on an earlier version of Access if you can to eliminate
the difering build issue.

Hope it helps,
Regards,
Nick.

:

Does anyone know if there is a WEB site which lists the differences of
MSAccess between the U.S. and Germany? I have a database which was created
in the U.S. and sent to Germany to be used, but not everything works there.
Such as a graph which needs to be previewed doesn't work there. I'm
wondering if it's because I created the scale programmatically in inches and
the German version may only understand millimeters. Any ideas?

Thank you,

Sarah
 
Glad to hear it is looking good for you. Hope it works out on Monday. Re
your earlier comment about not getting the right numbers. Access/VBA always
use twips internally, so there's some slight rounding that happens when
converting between metric and twips. If the differences you're seeing are
very small, that rounding is probably the cause.

--
Brendan Reynolds
Access MVP


Sarah said:
Brendan I just got the conversion to work. Looks great. Thanks for all
your
help! Now the real test is to test this in Germany. I won't be able to
do
this until Monday, but I have a lot of confidence that this will work.
Thanks again.

Brendan Reynolds said:
OK, well at least we've eliminated one possibility.

1440 twips = 1 inch = 25.4 millimetres.

--
Brendan Reynolds
Access MVP

Sarah said:
I am able to print to A4 and the Germany folks can print onther reports
in
the database to A4 eventhough I have them set up to 8.5X11. That's why
I'm
not sure the paper size is an issue. The report in question can be
printed
on 8.5X11. So you would think when they chose that report, they would
at
least be able to view it sinced they can view other reports set up that
way.
That's why I think it's the inches vs millimeters in the code. I just
don't
know how to convert the 1440 to a millimeter number. That's used for
the
twips.

:


I did find that code hard to follow, so I can't be sure about this,
but
it
seems to me to be at least possible that your code may be attempting
to
print something outside of the printable area of an A4 sheet of paper.
There
are two ways that you can test this theory ...

Try to preview the report on your system using A4. If your current
printer
driver doesn't give you that option, try a different driver. Remember,
you
don't need the physical printer, just the driver, to preview the
report.

Alternatively, ask the users in Germany to see if they can preview the
report using your paper size.

I have a HP LaserJet driver installed on this PC for testing purposes.
This
is the HP LaserJet driver that came with Windows XP. The paper size
options
for that driver include A4, Letter, and Legal, so you should be able
to
use
that driver for testing.

--
Brendan Reynolds
Access MVP

I also thought of tghe paper size. They use A4 and my options are
11X17,
8.5X11 and 8.5X14, but they do have the capability to change this in
the
page
setup after the report is previewed. Although it never gets to that
point.
Whagt happens is that they click the preview button, the screen
goesw
blank
and looks like it's generating something and then the blank screen
closes
and
goes back to the original screen with the preview button. I was
thinking
of
creating a report that was just set to the A4 paper size and see if
that
does
anything.

:

It might be related to paper size. Users in Germany - or just about
anywhere
outside of the US - are probably not using US paper sizes. Have you
tested
the report with other paper sizes?

What happens when the users try to preview this report?

--
Brendan Reynolds
Access MVP

I know the date value is not an issue. The reason why I brought
up
the
inches vs. millimeters issue is because there's only one report
that
they
cannot preview and that's the report which I coded a graph on the
report
using inches. Here is some of my code which is executed at the
Detail
On
format: I know it's hard to follow, but it's to give you an idea
of
how
I'm
using inches in my code. I guess I need to find out if their
regional
settings handle inches or not. I don't know if this even the
problem.
Just
guessing at this point. What do you think or do you still need
more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double,
TheStart
As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As
Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale =
txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False:
EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) -
NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) +
NullToZero(TotalTime))

CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) -
NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And
NewStart >
0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0
Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) -
NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale)
+
TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) +
TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255,
0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0,
255,
255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0,
255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255,
0,
255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC =
CPath)
Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth -
(NullToZero(txttotaltime)
*
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) +
Me!CycleTime1.Width)
<=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) *
1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth -
(NullToZero(txttotaltime)
*
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width)
<=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight),
lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
 
Glad I could be of assistance.
Thankfully there are some great brains out there to help us all. (like
Brendan for instance!)

Sarah said:
Thanks for all your help Biz. You were absolutely right about the scalemode
and the conversion. It worked great. I just have to test it in Germany on
Monday. Thanks again.

Biz Enhancer said:
If anything, I think it would have to be setting the scalemode that is
causing it. You could set this as a variable based on country. although it is
going to entail a bit of work adjusting the VB to compensate for the change.

However, you could test the theory by writing a small application running a
simple graph and setting the scalemode to 6 or 7 and seeing if that wil work
for the Germans. I would do two graphs using the same data but set one for
inches the other for millimetres. That would give you the comparitive data to
make a decision on whether the metric/imperial issue is the real issue or
just a red herring.

Alternatively, you could convert the U.S. to work in metric. Living in New
Zealand (a metric country) ,I have to go with the Germans on this!

Regards,
Nick.

Sarah said:
I know the date value is not an issue. The reason why I brought up the
inches vs. millimeters issue is because there's only one report that they
cannot preview and that's the report which I coded a graph on the report
using inches. Here is some of my code which is executed at the Detail On
format: I know it's hard to follow, but it's to give you an idea of how I'm
using inches in my code. I guess I need to find out if their regional
settings handle inches or not. I don't know if this even the problem. Just
guessing at this point. What do you think or do you still need more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double, TheStart As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale = txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False: EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) - NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) + NullToZero(TotalTime)) >
CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) - NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And NewStart > 0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) - NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) * CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale) + TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) + TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255, 0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0, 255, 255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0, 255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255, 0, 255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC = CPath) Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
End If
Me!linect1.Left = ((CycleTime * TheScale) + TheMarg) * 1440
If NullToZero(txttotaltime) > 0 Then
If ((sngWidth - (NullToZero(txttotaltime) * TheScale) -
((Me!StartTime.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
Me!StartTime.Visible = True
End If
If iswrap Then
Me!CycleTime1.Visible = True
EndTime.Visible = False
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!CycleTime1.Width) <=
Me.Width Then
Me!CycleTime1.Left = (sngWidth + TheScale) * 1440
Else
Me!CycleTime1.Left = ((sngWidth + TheScale) * 1440) -
(Me!CycleTime1.Width * Me!txtMinus)
End If
Else
Me!EndTime.Visible = txttotaltime <> 0
Me!StartTime.Left = (sngWidth - (NullToZero(txttotaltime) *
TheScale) - ((Me!StartTime.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime.Width) <=
Me.Width Then
Me!EndTime.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime.Width * Me!txtMinus)
End If
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
If iswrap Then
NewStart = StartTime2
sngTop = TheMarg
sngLeft = rpt.ScaleLeft
sngWidth = (txtover * TheScale) + TheMarg
sngHeight = rpt.ScaleHeight
txtendtime = CycleTime + txtover
Me!EndTime2.Visible = txtover <> 0
If ((sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440) > (txtMarg * 1440) Then
StartTime2.Visible = True
End If
Me!StartTime2.Left = (sngWidth - (NullToZero(txtover) * TheScale) -
((Me!StartTime2.Width) / 1440)) * 1440
If (((sngWidth + TheScale) * 1440) + Me!EndTime2.Width) <= Me.Width
Then
Me!EndTime2.Left = (sngWidth + TheScale) * 1440
Else
Me!EndTime2.Left = ((sngWidth + TheScale) * 1440) -
(Me!EndTime2.Width * Me!txtMinus)
End If
rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), lngColor, B
End If
Else
Me!StartTime.Visible = False: Me!EndTime.Visible = False
End If
End Sub

:

Okay, lets look for commonalities.
Do the offending components all use date values? If so how are these set.
Are the problems restricted to graphs or reports only?
Do they all relate to a specific table or set of queries?

If we can narrow down the problem to a particular feature of set of
features, then we may be able to programmatically change those parameters
based on the regional settings of the computer running the database.

:

Hi Biz,

Thanks for your comments, but I know it's not the build. The versions of
Access vary from 2000, 2002 and 2003. All with different service packs. I
have users here in the U.S. who also work in different versions and
everything works fine for them.

Any other ideas?

Thanks,

Sarah

:

Could be a case of different build as opposed to a country issue.

What version of Access was the application created in and what version are
they trying to run it with? As a for instance, Pivot charts work fine with
the 2003 runtime but not with the 2000 runtime.

Might pay to test it on an earlier version of Access if you can to eliminate
the difering build issue.

Hope it helps,
Regards,
Nick.

:

Does anyone know if there is a WEB site which lists the differences of
MSAccess between the U.S. and Germany? I have a database which was created
in the U.S. and sent to Germany to be used, but not everything works there.
Such as a graph which needs to be previewed doesn't work there. I'm
wondering if it's because I created the scale programmatically in inches and
the German version may only understand millimeters. Any ideas?

Thank you,

Sarah
 
Sarah said:
I went to Regional Options in the Control Panel and changed the Measurement
System to Metrics which changed the Report form to Centimeters. Then I
converted the inches to centimeters in my code. I did a small test and I can
now preview part of the report. It looks like I will just have to have a
different report for Germany using centimeters instead of inches in my code.
I still can't quite figure out the conversion.

Maintaining multiple reports can be a real pain.

If you are familiar with VBA code then you should be able to use an
API call to get the Measurement System and adjust your code
accordingly.

If you aren't familiar with VBA code then I'd suggest using two
reports.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 
Just an update on what happened Monday with the testing in Germany. It turns
out that the scalemode and the inches vs metrics was not the problem after
all. In my code I do a dLookup as follows:

DLookup("TheJPH", "qryWorstCaseJPH01", "TheJPH=" & [WorstJPH])

This is where it was getting hung up. It works fine here in the U.S., but
for some strange reason it would not work in Germany. If I removed the
criteria, it worked, but didn't get the result I wanted. If I converted the
THJPH and WorstJPH to strings, then it would also work. This was my
workaround. I tried everything to make the criteria work with the number
values for TheJPH and WorstJPH, but nothing worked. It would never get
passed that line. I even looked in their Help screen and the syntax is the
same as what I have above. I don't get it. At least I was able to work
around the problem and know that almost everything converted.

Just thought I'd let you know in case you are or will be dealing with anyone
in another country.

Brendan Reynolds said:
Glad to hear it is looking good for you. Hope it works out on Monday. Re
your earlier comment about not getting the right numbers. Access/VBA always
use twips internally, so there's some slight rounding that happens when
converting between metric and twips. If the differences you're seeing are
very small, that rounding is probably the cause.

--
Brendan Reynolds
Access MVP


Sarah said:
Brendan I just got the conversion to work. Looks great. Thanks for all
your
help! Now the real test is to test this in Germany. I won't be able to
do
this until Monday, but I have a lot of confidence that this will work.
Thanks again.

Brendan Reynolds said:
OK, well at least we've eliminated one possibility.

1440 twips = 1 inch = 25.4 millimetres.

--
Brendan Reynolds
Access MVP

I am able to print to A4 and the Germany folks can print onther reports
in
the database to A4 eventhough I have them set up to 8.5X11. That's why
I'm
not sure the paper size is an issue. The report in question can be
printed
on 8.5X11. So you would think when they chose that report, they would
at
least be able to view it sinced they can view other reports set up that
way.
That's why I think it's the inches vs millimeters in the code. I just
don't
know how to convert the 1440 to a millimeter number. That's used for
the
twips.

:


I did find that code hard to follow, so I can't be sure about this,
but
it
seems to me to be at least possible that your code may be attempting
to
print something outside of the printable area of an A4 sheet of paper.
There
are two ways that you can test this theory ...

Try to preview the report on your system using A4. If your current
printer
driver doesn't give you that option, try a different driver. Remember,
you
don't need the physical printer, just the driver, to preview the
report.

Alternatively, ask the users in Germany to see if they can preview the
report using your paper size.

I have a HP LaserJet driver installed on this PC for testing purposes.
This
is the HP LaserJet driver that came with Windows XP. The paper size
options
for that driver include A4, Letter, and Legal, so you should be able
to
use
that driver for testing.

--
Brendan Reynolds
Access MVP

I also thought of tghe paper size. They use A4 and my options are
11X17,
8.5X11 and 8.5X14, but they do have the capability to change this in
the
page
setup after the report is previewed. Although it never gets to that
point.
Whagt happens is that they click the preview button, the screen
goesw
blank
and looks like it's generating something and then the blank screen
closes
and
goes back to the original screen with the preview button. I was
thinking
of
creating a report that was just set to the A4 paper size and see if
that
does
anything.

:

It might be related to paper size. Users in Germany - or just about
anywhere
outside of the US - are probably not using US paper sizes. Have you
tested
the report with other paper sizes?

What happens when the users try to preview this report?

--
Brendan Reynolds
Access MVP

I know the date value is not an issue. The reason why I brought
up
the
inches vs. millimeters issue is because there's only one report
that
they
cannot preview and that's the report which I coded a graph on the
report
using inches. Here is some of my code which is executed at the
Detail
On
format: I know it's hard to follow, but it's to give you an idea
of
how
I'm
using inches in my code. I guess I need to find out if their
regional
settings handle inches or not. I don't know if this even the
problem.
Just
guessing at this point. What do you think or do you still need
more
information?

' Call the Drawline procedure
Select Case ReportScale
Case "100"
Call DrawLine(9.0417, 0.075)
Call RenameTitle(1, 11, 10)
Me!txtMinus = 1.075
Case "50"
Call DrawLine(9.0417, 0.15)
Call RenameTitle(1, 11, 5)
Me!txtMinus = 1.015
Case "250"
Call DrawLine(9.0417, 0.03)
Call RenameTitle(1, 11, 25)
Me!txtMinus = 1.03
End Select

Sub DrawLine(txtMarg As Double, txtScale As Double)
Dim rpt As Report, lngColor As Long, TheMarg As Double,
TheStart
As
Double, TheScale As Double
Dim sngTop As Single, sngLeft As Single, tempAC As String
Dim sngWidth As Single, sngHeight As Single
Dim txtendtime As Double, txttotaltime As Double, iswrap As
Variant,
txtover As Double

If NullToZero(TotalTime) > 0 Then
TheStart = txtMarg - 0.1042: TheMarg = txtMarg: TheScale =
txtScale:
txtendtime = EndTime: txttotaltime = TotalTime: iswrap = False
CycleTime1.Visible = False: StartTime2.Visible = False:
EndTime2.Visible
= False: StartTime2 = CycleTime: CycleTime1 = CycleTime
Set rpt = Me
' Set scale to inches.
rpt.ScaleMode = 5
' Top inside edge.
If NullToZero(StartTime) <= NewStart Then NewStart = NewStart2
If (NullToZero(StartTime)) > 0 And ((NullToZero(StartTime)) <=
CycleTime) Then
NewStart = 0
If NullToZero(EndTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
iswrap = True
txtendtime = CycleTime
txttotaltime = CycleTime - NullToZero(StartTime)
txtover = NullToZero(TotalTime) - txttotaltime
End If
ElseIf NullToZero(StartTime) > 0 And ((NullToZero(StartTime) -
NewStart)
<= CycleTime) And [Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(StartTime) - NewStart) +
NullToZero(TotalTime))

CycleTime Then
iswrap = True
txttotaltime = CycleTime - (NullToZero(StartTime) -
NewStart)
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
Else
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(StartTime) > CycleTime And
[Forms]![frmScale]![frmDisplay] = 1 Then
If ((NullToZero(EndTime) - NewStart)) > CycleTime And
NewStart >
0
Then
iswrap = True
txttotaltime = CycleTime - ((StartTime - NewStart))
txtendtime = NullToZero(StartTime) + txttotaltime
txtover = NullToZero(TotalTime) - txttotaltime
CycleTime1 = txtendtime
StartTime2 = txtendtime
ElseIf NullToZero(EndTime) > CycleTime And NewStart = 0
Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
ElseIf NullToZero(EndTime) > 0 And (((NullToZero(EndTime) -
NewStart) >
CycleTime)) And [Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = NullToZero(StartTime)
ElseIf (NullToZero(StartTime) < NewStart) And
[Forms]![frmScale]![frmDisplay] = 1 Then
NewStart = Fix(NullToZero(StartTime) / CycleTime) *
CycleTime
End If
NewStart2 = NewStart
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngTop = ((NullToZero(StartTime) - CycleTime) * TheScale)
+
TheMarg
Else
sngTop = ((NullToZero(StartTime) - NewStart) * TheScale) +
TheMarg
End If
' Left inside edge.
sngLeft = rpt.ScaleLeft
' Width inside edge.
If (NullToZero(StartTime) - NewStart) < 0 And
[Forms]![frmScale]![frmDisplay] = 1 Then
sngWidth = (((NullToZero(StartTime) - CycleTime) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
Else
sngWidth = (((NullToZero(StartTime) - NewStart) +
NullToZero(txttotaltime)) * TheScale) + TheMarg
End If
' Height inside edge.
sngHeight = rpt.ScaleHeight
' Draw line as a box.
rpt.DrawWidth = 6: rpt.FillStyle = 0
Select Case FuncCode.Column(3)
Case "H"
lngColor = rgb(0, 255, 0): rpt.FillColor = rgb(0, 255,
0):
rpt.FillStyle = 4
Case "F"
lngColor = rgb(0, 255, 255): rpt.FillColor = rgb(0,
255,
255):
rpt.FillStyle = 7
Case "R"
lngColor = rgb(0, 0, 255): rpt.FillColor = rgb(0, 0,
255):
rpt.FillStyle = 3
Case "C"
lngColor = rgb(255, 0, 255): rpt.FillColor = rgb(255,
0,
255):
rpt.FillStyle = 5
End Select
If Not IsNull(ActionCode) Then
If Right(Trim([ActionCode]), 2) = "PB" Then
tempAC = Left([ActionCode], InStr([ActionCode], "PB") - 1)
Else
tempAC = Trim([ActionCode])
End If
Else
tempAC = ""
End If
If (Len(CPath) <= 8 And Len(CPath) > 0 And Not BT And tempAC =
CPath)
Then
rpt.FillStyle = 0
ElseIf (Len(CPath) > 8 And FuncCode1.Column(2) = CPath) Then
rpt.FillStyle = 0
 
Sarah said:
It works fine here in the U.S., but
for some strange reason it would not work in Germany. If I removed the
criteria, it worked, but didn't get the result I wanted. If I converted the
THJPH and WorstJPH to strings, then it would also work.

Just curious, what data type was TheJPH and WorstJPH before you converted
them to strings? Currency? Decimal?

Thanks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top