[AccessD] Trouble creating a memo field

William Benson (VBACreations.Com) vbacreations at gmail.com
Wed Jul 27 15:35:50 CDT 2011


I sometimes try to create new tables using SQL but not using CREATETABLE.
Example:	Select 'Test' as Field1 Into Tbl1

One problem I had recently was, how can one make a MEMO field this way? (I
can't find a way, not even with
     MyDB.Execute ("Select '" & string(257,"a") & "' as Field1 Into
Tbl1"),DBFailonError
When I do that I get only 255 characters and the field is Text.

Another problem is that I often like the table to be created without a first
row in it.  So I might write something like
      	Select 'Test' as Field1 Into Tbl1 From Tbl2 WHERE 1 = 2
Trouble is, What if there is no table named Tbl2? (Obviously it fails). But
I can't seem to get the WHERE clause to be acceptable when I do not specify
a valid table in the FROM clause, unlike the first example.

Now, I might be able to solve the latter problem by specifying a system
table as the FROM table, something I know will always be present... such as:
      	Select 'Test' as Field1 Into Tbl1 From MSysObjects WHERE 1 = 2

But then that code probably would not work in other (non-MSAccess)
databases. In fact, I am not sure this process of using Select Into works in
non-Access databases anyway (does it?)

So... I am now leaning towards using CREATE TABLE always and forever as my
choice for the best performing method of creating a table using inline SQL.

Does anyone beg to differ with this and/or have a way to resolve the issues
I have found?




More information about the AccessD mailing list