Drew Wutka
DWUTKA at Marlow.com
Wed Jun 24 17:15:14 CDT 2009
I am going to replace 'a bunch of code' with Step X.
Which is easier to follow?:
Step 1
If SomeCondition Then
Step 2
Else
Step 1
Step 2
End if
If Another Contition Then
Step 3
Else
Step 2
Step 3
End if
If FinalCondition Then
Step 4
Else
Step 1
Step 2
Step 3
Step 4
End if
OR
Step1:
Step 1
If SomeCondition Then Goto Step1
Step2:
Step 2
If Not Another Condition Then Goto Step2
Step3:
Step 3
If Not FinalCondition Then Goto Step1
Step4:
Step 4
Which is cleaner? The first method could have you repeating code over
and over, the second method has the code once, and simple (and what
should be well labeled) 'jump points' to make complex 'logic' simpler.
Drew
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart
McLachlan
Sent: Wednesday, June 24, 2009 4:47 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Learning .Net -- PHP Instead?
What's wrong with
Do
... initial code here....
If <condition1> then 'else goto loop
...more code here....
If <condition2> then 'else goto loop
...more code here...
End If
End if
Loop
Again, the indentation from the IF...End IF makes the code much easier
to follow that a flat
sequence with a series of GOTOs hidden throughout.
--
Stuart
On 24 Jun 2009 at 13:54, Drew Wutka wrote:
> A Do Loop cannot have extra 'loop' statements.
>
> Ie:
>
> Do
>
> 'some condition is met: then Loop
>
> Loop
>
> Can't do that. You can do that with a Goto statement.
>
> Drew
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte
> Foust
> Sent: Wednesday, June 24, 2009 11:52 AM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] Learning .Net -- PHP Instead?
>
> A Do...Loop would be preferable to Goto.
>
> Charlotte
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Drew Wutka
> Sent: Wednesday, June 24, 2009 8:27 AM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] Learning .Net -- PHP Instead?
>
> I think it should be said that you shouldn't use GOTO to prevent
> breaking your code into more logical parts. Errorhandling is a
> situation which would allow Goto then. There is another situation.
> Let's use an imaginary 'Phone' object that is going to make a call,
and
> it needs to try 20 times unless successful:
>
> Dim obj as Phone
> Dim intTries as Long
> Dim blFailed as Boolean
> intTries=0
> Set obj=New Phone
>
> StartOfCall:
>
> blFailed=True
> intTries=intTries+1
> If intTries=21 then Goto
>
> The information contained in this transmission is intended only for
the person or entity
> to which it is addressed and may contain II-VI Proprietary and/or
II-VI Business
> Sensitive material. If you are not the intended recipient, please
contact the sender
> immediately and destroy the material in its entirety, whether
electronic or hard copy.
> You are notified that any review, retransmission, copying, disclosure,
dissemination,
> or other use of, or taking of any action in reliance upon this
information by persons
> or entities other than the intended recipient is prohibited.
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
The information contained in this transmission is intended only for the person or entity
to which it is addressed and may contain II-VI Proprietary and/or II-VI Business
Sensitive material. If you are not the intended recipient, please contact the sender
immediately and destroy the material in its entirety, whether electronic or hard copy.
You are notified that any review, retransmission, copying, disclosure, dissemination,
or other use of, or taking of any action in reliance upon this information by persons
or entities other than the intended recipient is prohibited.