Visual Basic and Visual FoxPro text delimiters
'single' or "double" quotes or [square brackets]
Common Syntax Notes
Neither FoxPro nor VBA distinguish between a string of text and a
character. They use the same data type and delimiters for both.
Visual Basic Syntax Notes
VBA only supports the double quote as a string delimiter so you often find
yourself having to use the ASCII code Chr(34)
when you want to use the double quote inside a string, typically when wanting
to use an SQL command:
"SELECT * FROM Customer WHERE name="
& Chr(34) &
"O'Leary" & Chr(34)
set rst = rst.openrecordset(strSQL)
Visual FoxPro Syntax Notes
The variety of delimiters in Visual FoxPro make it easy to embed
strings inside other strings. Paradoxically, FoxPro needs this flexibility less than
Visual Basic because Fox accepts SQL commands as part of its native syntax. There's no
need to wrap the SQL and pass it as a string to a DAO method, FoxPro will just
execute it directly as a command:
SELECT * FROM
WHERE name = "O'Leary"
You might however want to set the where clause of an SQL statement at runtime and then
assign that SQL statement to the RowSource property of a control. We've used two types of
quote in the SQL already but we can use the third delimiter around the entire string:
[SELECT * FROM Customer WHERE name = "O'Leary"]
There's no hierarchy between the three delimiters in FoxPro so this alternative would be
"SELECT * FROM Customer WHERE name = [O'Leary]"