Must have Field Length

Posted on 2001-07-23
Medium Priority
Last Modified: 2012-05-05
I have the following function returning a newtable "Table1" with definitions from another table "GIS".
The new table contains the table definitions but I don't know the "FieldLength" of the table requested.
Is there any way to revise this code to include the
"Field Length" of the table that i'am requuesting information from.

******* Start of Code
Dim d as database
Set d = CurrentDB

Dim r as recordset
Dim f as Field
Dim t as tabledef
Set t = d.CreateTableDef("setup") 'definition table setup
' definition setup in new table
Set f = t.CreateField("FieldName", dbText, 50)
t.Fields.Append f
Set f = t.CreateField("FieldType", dbText, 15)
t.Fields.Append f
Set f = t.CreateField("Comments", dbText, 150)
t.Fields.Append f
d.TableDefs.Append t
Set t = Nothing

Set r = d.OpenRecordset("Table1") 'NameOfDestTblHere

set t = d.Tabledefs("GIS") ' Requested information from this table

For each f in t.Fields
 r![FieldName] = f.Name
 r![FieldType] = fType(f.Type)
 r![Comments] = f.Properties("Description").Value
Next f
Set f = Nothing
Set t = Nothing
Set d = Nothing
******* End of code

Public Function fType(ByVal f As Long) As String

   Select Case f                                               'Value
       Case dbBoolean:     fType = "Boolean"                   '   1
       Case dbByte:        fType = "Byte"                      '   2
       Case dbInteger:     fType = "Integer"                   '   3
       Case dbLong:        fType = "Long"                      '   4
       Case dbCurrency:    fType = "Currency"                  '   5
       Case dbSingle:      fType = "Single"                    '   6
       Case dbDouble:      fType = "Double"                    '   7
       Case dbDate:        fType = "Date/Time"                 '   8
       Case dbBinary:      fType = "Binary"                    '   9
       Case dbText:        fType = "Text"                      '  10
       Case dbLongBinary:  fType = "Long Binary (OLE Object)"  '  11
       Case dbMemo:        fType = "Memo"                      '  12
       Case dbGUID:        fType = "GUID"                      '  15
       Case dbBigInt:      fType = "Big Integer"               '  16
       Case dbVarBinary:   fType = "VarBinary"                 '  17
       Case dbChar:        fType = "char"                      '  18
       Case dbNumeric:     fType = "Numeric"                   '  19
       Case dbDecimal:     fType = "Decimal"                   '  20
       Case dbFloat:       fType = "Float"                     '  21
       Case dbTime:        fType = "Time"                      '  22
       Case dbTimeStamp:   fType = "Time Stamp"                '  23
       Case Else:          fType = "(Unknown)"
   End Select

End Function

Question by:Fordraiders
  • 2
  • 2
LVL 59
ID: 6309472
What's the end goal here?  To calculate storage requirements?  Not quite sure what your asking for/looking to do.


Author Comment

ID: 6309586
Looking to create a  new table with field definitions, (of another table)
instead of having to go into "Design View" of a table and find all the information about a specific table.
This new table will be constructed  as the code suggests.
However, it does not go out and look at the "field length"
of text fields.

Hope this helps
LVL 59

Accepted Solution

Jim Dettman (Microsoft MVP/ EE MVE) earned 300 total points
ID: 6309872
You want to include the Size property of the field object:

r![Comments] = f.Properties("Description").Value & " Size: " & f.Size


Author Comment

ID: 6309998
I can you the example and expand on the original code now.


Featured Post

7 new features that'll make your work life better

It’s our mission to create a product that solves the huge challenges you face at work every day. In case you missed it, here are 7 delightful things we've added recently to monday to make it even more awesome.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Explore the ways to Unlock VBA Project Password Excel 2010 & 2013 documents. Go through the article and perform the steps carefully to remove VBA Excel .xls file.
If you need to implement application level security in an Access database application or other VBA code, I strongly encourage you to take advantage of Active Directory groups.
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…
How can you see what you are working on when you want to see it while you to save a copy? Add a "Save As" icon to the Quick Access Toolbar, or QAT. That way, when you save a copy of a query, form, report, or other object you are modifying, you…

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question