Minggu, 26 Juli 2015

RE: [MS_AccessPros] Re: What does the colon do in the ELSE: statement?

 

That's how I correct it, too. Sometimes even decompiling won't fix it.

 

Regards,

Bill

 

From: MS_Access_Professionals@yahoogroups.com [mailto:MS_Access_Professionals@yahoogroups.com]
Sent: Sunday, July 26, 2015 4:23 AM
To: MS_Access_Professionals@yahoogroups.com
Subject: RE: [MS_AccessPros] Re: What does the colon do in the ELSE: statement?

 

 

Yeah, that it the one big flaw in our approach.

 

Do you ever get the situation arising where some keywords get case-modified? I have often seen this, and the only way I know to correct it is to temporarily Dim a variable with the correct case structure, then delete it.

 

From: MS_Access_Professionals@yahoogroups.com [mailto:MS_Access_Professionals@yahoogroups.com]
Sent: 26 July 2015 01:30
To: MS_Access_Professionals@yahoogroups.com
Subject: RE: [MS_AccessPros] Re: What does the colon do in the ELSE: statement?

 

 

The editor autocorrect does strange things with used defined enums, however. Regardless of the case used in the declaration, autocorrect changes the case of the name in the declaration to whatever you type.

 

Glenn

 

From: MS_Access_Professionals@yahoogroups.com [mailto:MS_Access_Professionals@yahoogroups.com]
Sent: Saturday, July 25, 2015 6:50 PM
To: MS_Access_Professionals@yahoogroups.com
Subject: RE: [MS_AccessPros] Re: What does the colon do in the ELSE: statement?

 

 

Bob

 

I like that the editor has lots of "AutoCorrect" features. I do that lower case variable thing, too. It makes it so easy to catch typos.

Another thing that might eventually go away if VBA gets to be more like more mainstream syntax is the assumption of "True" as in:

If Me.Dirty Then Me.Dirty = False

 

Not only is that a single line code but the use of "Me.Dirty = True" can be written as I did above. The compiler gets that I mean True without typing it.

 

Regards,

Bill

 

From: MS_Access_Professionals@yahoogroups.com [mailto:MS_Access_Professionals@yahoogroups.com]
Sent: Saturday, July 25, 2015 3:47 AM
To: MS_Access_Professionals@yahoogroups.com
Subject: RE: [MS_AccessPros] Re: What does the colon do in the ELSE: statement?

 

 

It will compile Bill, but I don't like it J

 

I never use multiple statements with an Else. I used to be very 'correct' with no else and code it like

If suit = spades Then

 

    MsgBox "I win!"

End If

But I admit I prefer single lines and that is what I use now (does cause some small problems when trying to check back on multiple nested Ifs when there is one without an End If, but nesting usually helps here).

 

BTW, typing endif and getting End If is great in my view, I always do it and love that VBA corrects it (in the same way that I never type my variables in the define came-case, I type them lower-case and if they don't get corrected I know I have typed it incorrectly – we need all the help we can get), but I just wish it would work with endwith as well!

 

From: MS_Access_Professionals@yahoogroups.com [mailto:MS_Access_Professionals@yahoogroups.com]
Sent: 24 July 2015 17:29
To: MS_Access_Professionals@yahoogroups.com
Subject: RE: [MS_AccessPros] Re: What does the colon do in the ELSE: statement?

 

 

Bob - It's a non-nonsensical example made worse by being syntactically incorrect to start with.But my example is correct and will compile as it should.

 

While multiple statement lines are out of the ordinary, they are used from time to time. It's a matter of style. I tend to use them in If blocks if the Else line is short. Offhand, I can't think of any other place I'd use them.

 

Then there is the one-line If statement:

If suit = spades  Then MsgBox "I win!"

 

No End If needed.

Another funny thing about VBA, you can type endif and the editor will fix it for you.

 

-Bill



---In MS_Access_Professionals@yahoogroups.com, <bob.phillips@dsl.pipex.com> wrote :

Surely, it should be

 

 

   If 1 > 4 Then

      MsgBox "1 is greater than 4"

  Else

      MsgBox "1 is less than 4"

  End If

 

Or even

 

  MsgBox "1 is " & IIf(1 > 4, "greater", "less") & " than 4"

 

Multiple statement lines just don't feel right to me.

 

From: MS_Access_Professionals@yahoogroups.com [mailto:MS_Access_Professionals@yahoogroups.com]
Sent: 24 July 2015 16:24
To: MS_Access_Professionals@yahoogroups.com
Subject: [MS_AccessPros] Re: What does the colon do in the ELSE: statement?

 

 

Phucon

 

As per Duane's explanation, the code should have been written:

 

   If 1 > 4 Then

      MsgBox "1 is greater than 4"

  Else: MsgBox "1 is less than 4"

  End If

 

Regards,

Bill Mosca, Founder - MS_Access_Professionals

Microsoft Office Access MVP

My nothing-to-do-with-Access blog

 



---In MS_Access_Professionals@yahoogroups.com, <duanehookom@hotmail.com> wrote :

I found this while searching the web http://stackoverflow.com/questions/7649101/excel-vba-pound-and-colon-signs-meaning
 
"The colon (:) is a statement delimiter. It would be equivalent to a new line in VBA, or a semicolon in C (just to quote a random example). It allows you to write several instructions on a single line rather than going to a new line each time."
 
Since your example code has not instruction on the same line after the ":" it serves no purpose.
 
Duane Hookom, MVP
MS Access
 


To: MS_Access_Professionals@yahoogroups.com
From: MS_Access_Professionals@yahoogroups.com
Date: Thu, 23 Jul 2015 08:21:06 -0700
Subject: [MS_AccessPros] What does the colon do in the ELSE: statement?



 
Hello
 
I am trying to understand the "ELSE:". Why is the colon necessary? What does it do there?
 
Thank you
 
Phucon
 
Sub IF_ELSEIF_FUNCTION()
  If 1 > 4 Then
      MsgBox "1 is greater than 4"
  Else:
      MsgBox "1 is less than 4"
  End If
End Sub





 

 

__._,_.___

Posted by: "Bill Mosca" <wrmosca@comcast.net>
Reply via web post Reply to sender Reply to group Start a New Topic Messages in this topic (15)

.

__,_._,___

Tidak ada komentar:

Posting Komentar