PdcDatabase.CreateUserTable: Difference between revisions

From External Bemet Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 7: Line 7:
<br />
<br />
<br />
<br />
The FieldData parameter is the most important and complex parameter in this method. It consists of 7 elements, separated by ~.<br />
The FieldData parameter is the most important and complex parameter in this method. It consists of 8 elements, separated by ~.<br />
* Field Name:<br />
* Field Name:<br />
:text value, cannot be empty, cannot exist in UF_FIELDNAME or VELDNAAM.<br />
:text value, cannot be empty, cannot exist in UF_FIELDNAME or VELDNAAM.<br />
Line 29: Line 29:
* Choices:<br />
* Choices:<br />
: text value, separated by #.<br />
: text value, separated by #.<br />
* Indexed:<br />
: text value, true or false.<br />




Line 42: Line 44:
dim strFieldData
dim strFieldData


   strFieldData = "UT_TEXT~Tekstveld~TEXT~99~Default~0~"
   strFieldData = "UT_TEXT~Tekstveld~TEXT~99~Default~0~~TRUE"
   strFieldData = strFieldData & "~UT_CHOICE~Keuzelijst~CHOICE~99~Yes~0~Yes#No#DontKnow"
   strFieldData = strFieldData & "~UT_CHOICE~Keuzelijst~CHOICE~99~Yes~0~Yes#No#DontKnow~FALSE"
   strFieldData = strFieldData & "~UT_NUMERIC~Getal~NUMERIC~0~99~4~"
   strFieldData = strFieldData & "~UT_NUMERIC~Getal~NUMERIC~0~99~4~~FALSE"
   strFieldData = strFieldData & "~UT_CURRENCY~Valuta~CURRENCY~0~99,99~2~"
   strFieldData = strFieldData & "~UT_CURRENCY~Valuta~CURRENCY~0~99,99~2~~FALSE"
   strFieldData = strFieldData & "~UT_DATE~Datum~DATE~0~~0~"
   strFieldData = strFieldData & "~UT_DATE~Datum~DATE~0~~0~~FALSE"
   strFieldData = strFieldData & "~UT_YESNO~Checkbox~YESNO~0~TRUE~~"
   strFieldData = strFieldData & "~UT_YESNO~Checkbox~YESNO~0~TRUE~~~FALSE"
   strFieldData = strFieldData & "~UT_MEMO~Memo~MEMO~0~~~"
   strFieldData = strFieldData & "~UT_MEMO~Memo~MEMO~0~~~~FALSE"
   strFieldData = strFieldData & "~UT_TIMESTAMP~Datum/Tijd~TIMESTAMP~0~~~"
   strFieldData = strFieldData & "~UT_TIMESTAMP~Datum/Tijd~TIMESTAMP~0~~~~FALSE"


   if not pdc.Database.UserTableExists("UT_TEST") then
   if not pdc.Database.UserTableExists("UT_TEST") then

Revision as of 13:41, 11 May 2017

Declaration

CreateUserTable(TableName: String, TableDescription: String, FieldData: String) as boolean

Description

Using this method you can create a usertable inclusive all fields without any reorganization of the database.
This is only possible if the table doesn't exist already. To determine this use the method 'UserTableExists'.


The FieldData parameter is the most important and complex parameter in this method. It consists of 8 elements, separated by ~.

  • Field Name:
text value, cannot be empty, cannot exist in UF_FIELDNAME or VELDNAAM.
  • Field Description:
text value. This text will be stored in the long fieldname in the user's language in the VELDNAAM table.
  • Field Type:
TEXT: Length >0, number of decimals = 0 and the length of the default value <= length.
CHOICE: text value, length >0, number of decimals = 0, and the length of the default value <= length, choices are separated by #. If a default value is provided it needs to exists in the list of choices.
NUMERIC: fieldlength = 0, number of decimals <= 99, if a default value is provided it needs to be numeric.
CURRENCY: fieldlength = 0, number of decimals <= 99, if a default value is provided it needs to be numeric.
DATE: fieldlength = 0, number of decimals = 0, default value is emtpy.
YESNO: fieldlength = 0, number of decimals = 0, default value is empty (will be created as false), FALSE, TRUE.
MEMO: fieldlength = 0, number of decimals = 0, default value is emtpy.
TIMESTAMP: fieldlength = 0, number of decimals = 0, default value is emtpy.
  • Field length:
see specifics per field type above.
  • Default value:
see specifics per field type above.
  • Number of decimals:
see specifics per field type above.
  • Choices:
text value, separated by #.
  • Indexed:
text value, true or false.



Notes

After creating a table with this method, you have to restart PdC, to have the new table shown in the menu of PdC.

Code example

sub sCreateUserTable
dim strFieldData

  strFieldData = "UT_TEXT~Tekstveld~TEXT~99~Default~0~~TRUE"
  strFieldData = strFieldData & "~UT_CHOICE~Keuzelijst~CHOICE~99~Yes~0~Yes#No#DontKnow~FALSE"
  strFieldData = strFieldData & "~UT_NUMERIC~Getal~NUMERIC~0~99~4~~FALSE"
  strFieldData = strFieldData & "~UT_CURRENCY~Valuta~CURRENCY~0~99,99~2~~FALSE"
  strFieldData = strFieldData & "~UT_DATE~Datum~DATE~0~~0~~FALSE"
  strFieldData = strFieldData & "~UT_YESNO~Checkbox~YESNO~0~TRUE~~~FALSE"
  strFieldData = strFieldData & "~UT_MEMO~Memo~MEMO~0~~~~FALSE"
  strFieldData = strFieldData & "~UT_TIMESTAMP~Datum/Tijd~TIMESTAMP~0~~~~FALSE"

  if not pdc.Database.UserTableExists("UT_TEST") then
    if pdc.Database.CreateUserTable("UT_TEST", "UT_TEST", strFieldData) then
      msgbox "Success"
    else
      msgbox "Error: " & pdc.LastError
    end if 'pdc.Database.CreateUserTable("UT_TEST", "UT_TEST", strFieldData)
  else
    msgbox "Table already exists."
  end if 'pdc.Database.UserTableExists("UT_TEST")

end sub 'sCreateUserTable

Availability

Available since 11-12-2015 (from version 5.1 onwards)