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.