This is the latest version of a script that is discussed in several other threads. This script creates a worksheet listing all of the possible fields of the first selected PIO on the active layer. It does not work on objects in walls, you will have to put a sample object directly on the layer. The text in column B is exactly what needs to be pasted into a database header cell (preceeded by an equals sign "=") to put the formula into that column. This version has been modified to individually quote the record name and field name so names with spaces will work properly. It also now display the default field name if not localized name is available. A menu item version (put it in your user datafolder (see below)) is available for download at: Pat (***** Copy script from here down & paste into a VS Editor window ******) Procedure GetPIORecordFields; {Creates a worksheet showing the display and field names} {for the first selected object on the active layer} {Useful for determining the record.field names required} {for use in a worksheet.} {January 30, 2008} {? 2008, Coviana, Inc - Pat Stanford} {Licensed under the GNU Lesser General Public License} {Modified 8/19/08 Pat Stanford} {Now puts quotes around both record and field instead of both combined} {Modified 8/19/08 Pat Stanford} {Now displays non-localized field names if no localization} Var H1 ,H2 :Handle; S1,S2,S3,S4,S5 :String; N1,N2 :Integer; WSH :Handle; B1 :Boolean; Begin H1:=FSActLayer; H2:=GetRecord(H1,NumRecords(H1)); {get a handle to the first record} If H2 <> Nil then Begin {If a record exists then create worksheet} S1:=GetName(H2); N1:=NumFields(H2); N2:=1; S3:=''; WSH:=CreateWS(Concat(S1,' ',Date(2,1)),N1+2,2); SetWSPlacement(WSH,200,200,800,700); SetWSColumnWidth(WSH,1,1,200); SetWSColumnWidth(WSH,2,2,200); SetWSCellFormula(WSH,1,1,1,1,Concat('Parameter Fields for PIO: ',S1)); SetWSCellFormula(WSH,3,1,3,1,'Display Name'); SetWSCellFormula(WSH,3,2,3,2,'Cell Formula'); While N2<=N1 Do Begin {populate the worksheet with all the fields} S2:=GetFldName(H2,N2); S3:=Concat(Chr(39),S1,CHR(39),'.',CHR(39),S2,Chr(39)); SetWSCellFormula(WSH,N2+3,2,N2+3,2,S3); B1:=GetLocalizedPluginParameter(S1,S2,S4); if S4='' then S5:=S2 else S5:=S4; SetWSCellFormula(WSH,N2+3,1,N2+3,1,S5); N2:=N2+1; end; ShowWS(WSH,True); SetTopVisibleWS(WSH); end; End; Run(GetPIORecordFields); (***** Stop copying here *****)