diff options
-rw-r--r-- | AssemblyInfo.cs | 32 | ||||
-rw-r--r-- | CSV.cs | 59 | ||||
-rw-r--r-- | Config.cs | 76 | ||||
-rw-r--r-- | Config.xml | 27 | ||||
-rw-r--r-- | DefaultNamespace.MainForm.resources | bin | 0 -> 4190 bytes | |||
-rw-r--r-- | MainForm.cs | 300 | ||||
-rw-r--r-- | TLReader.MainForm.resources | bin | 0 -> 5283 bytes | |||
-rw-r--r-- | TLReader.cmbx | 16 | ||||
-rw-r--r-- | TLReader.prjx | 33 | ||||
-rw-r--r-- | TugTable.cs | 114 | ||||
-rw-r--r-- | Util.cs | 40 | ||||
-rw-r--r-- | table.txt | 87 |
12 files changed, 784 insertions, 0 deletions
diff --git a/AssemblyInfo.cs b/AssemblyInfo.cs new file mode 100644 index 0000000..af4e275 --- /dev/null +++ b/AssemblyInfo.cs @@ -0,0 +1,32 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// Information about this assembly is defined by the following +// attributes. +// +// change them to the information which is associated with the assembly +// you compile. + +[assembly: AssemblyTitle("")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has following format : +// +// Major.Minor.Build.Revision +// +// You can specify all values by your own or you can build default build and revision +// numbers with the '*' character (the default): + +[assembly: AssemblyVersion("1.0.*")] + +// The following attributes specify the key for the sign of your assembly. See the +// .NET Framework documentation for more information about signing. +// This is not required, if you don't want signing let these attributes like they're. +[assembly: AssemblyDelaySign(false)] +[assembly: AssemblyKeyFile("")] @@ -0,0 +1,59 @@ +// TLReader - reads access database containing tug info +// Copyright (C) 2004 Ian Cowburn +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +using System; +using System.IO; + +namespace TLReader +{ + /// <summary> + /// Description of CSV. + /// </summary> + public class CSV + { + public CSV(StreamWriter w) + { + m_str=w; + m_first=true; + } + + public void Value(string s) + { + s=s.Replace("\r\n"," "); + s=s.Replace("\n\r"," "); + s=s.Replace('\n',' '); + s=s.Replace('"','\''); + + if (!m_first) + { + m_str.Write(','); + } + + m_str.Write("\""+s+"\""); + m_first=false; + } + + public void EndLine() + { + m_str.WriteLine(); + m_first=true; + } + + private StreamWriter m_str; + private bool m_first; + } +} diff --git a/Config.cs b/Config.cs new file mode 100644 index 0000000..72dd455 --- /dev/null +++ b/Config.cs @@ -0,0 +1,76 @@ +// TLReader - reads access database containing tug info +// Copyright (C) 2004 Ian Cowburn +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +using System; +using System.IO; +using System.Xml; +using System.Xml.Serialization; + +namespace TLReader +{ + public class Config + { + public static TLConfig Load() + { + string fn="config.xml"; + + if (!File.Exists(fn)) + { + fn="..\\..\\config.xml"; + } + + XmlSerializer xml = new XmlSerializer(typeof(TLConfig)); + FileStream fs = new FileStream(fn,FileMode.Open); + + TLConfig conf=(TLConfig)xml.Deserialize(fs); + + fs.Close(); + + return conf; + } + + private Config() + { + } + } + + public class Table + { + public Table() + { + } + + public string Name; + public string Fields; + } + + public class TLConfig + { + public TLConfig() + { + } + + public string Connect; + public Table Intro; + public Table Landcode; + public Table Owners; + public Table TugDetails; + public Table Wharves; + public Table TugList; + public string Query; + } +} diff --git a/Config.xml b/Config.xml new file mode 100644 index 0000000..f2723cb --- /dev/null +++ b/Config.xml @@ -0,0 +1,27 @@ +<TLConfig> +<Connect>Driver={Microsoft Access Driver (*.mdb)};DBQ=E:\\tuglist00.mdb</Connect> +<Intro> + <Name>intro</Name> + <Fields>LastUpdate,Names,Ships,TitelText</Fields> +</Intro> +<Landcode> + <Name>LANDCODE</Name> + <Fields>CODE,COUNTRY,NAT</Fields> +</Landcode> +<Owners> + <Name>owners</Name> + <Fields>OwnerNR,Short,NAT,Description,Adres,Colors NR</Fields> +</Owners> +<TugDetails> + <Name>tugdetails</Name> + <Fields>TugNR,Specifications,Link,WharfNR</Fields> +</TugDetails> +<Wharves> + <Name>Wharves</Name> + <Fields>WharfNR,Short,NAT,Description,Adres</Fields> +</Wharves> +<TugList> + <Name>tuglist00</Name> + <Fields>NR,NAME,NAT,BUILD,SCRAP,BRT,PK,YardNR,ONAMES,PicNR,SITE,TugNR,OwnerNR,RegNR,EuroNR,CallSign</Fields> +</TugList> +</TLConfig> diff --git a/DefaultNamespace.MainForm.resources b/DefaultNamespace.MainForm.resources Binary files differnew file mode 100644 index 0000000..02accf8 --- /dev/null +++ b/DefaultNamespace.MainForm.resources diff --git a/MainForm.cs b/MainForm.cs new file mode 100644 index 0000000..c6d6cb4 --- /dev/null +++ b/MainForm.cs @@ -0,0 +1,300 @@ +// TLReader - reads access database containing tug info +// Copyright (C) 2004 Ian Cowburn +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +using System; +using System.Windows.Forms; +using System.Data; +using System.Data.Common; +using System.Data.Odbc; +using System.Collections; +using System.IO; + +namespace TLReader +{ + /// <summary> + /// Description of MainForm. + /// </summary> + public class MainForm : System.Windows.Forms.Form + { + private System.Windows.Forms.Label label; + private System.Windows.Forms.ComboBox m_tableSelect; + private System.Windows.Forms.Button m_quitButton; + private System.Windows.Forms.ListView m_list; + private System.Windows.Forms.ProgressBar m_progress; + private System.Windows.Forms.Button m_csvButton; + + private OdbcConnection m_dbase; + private TLConfig m_config; + private TugTable m_intro; + private TugTable m_landcode; + private TugTable m_owners; + private TugTable m_tdetails; + private TugTable m_wharves; + private TugTable m_tlist; + + private Hashtable m_tables; + + public MainForm() + { + // + // The InitializeComponent() call is required for Windows Forms designer support. + // + InitializeComponent(); + + m_config=Config.Load(); + + m_dbase=new OdbcConnection(m_config.Connect); + + m_dbase.Open(); + + Text+=" - "+m_dbase.Database; + + m_intro=new TugTable(m_dbase,m_config.Intro); + m_landcode=new TugTable(m_dbase,m_config.Landcode); + m_owners=new TugTable(m_dbase,m_config.Owners); + m_tdetails=new TugTable(m_dbase,m_config.TugDetails); + m_wharves=new TugTable(m_dbase,m_config.Wharves); + m_tlist=new TugTable(m_dbase,m_config.TugList); + + m_tables=new Hashtable(); + + m_tables.Add("Intro",m_intro); + m_tables.Add("Landcode",m_landcode); + m_tables.Add("Owners",m_owners); + m_tables.Add("Tugdetails",m_tdetails); + m_tables.Add("Tuglist",m_tlist); + m_tables.Add("Wharves",m_wharves); + + m_tableSelect.SelectedIndex=0; + + FillList(); + } + + [STAThread] + public static void Main(string[] args) + { + try + { + Application.Run(new MainForm()); + } + catch(Exception e) + { + Util.Error(e.ToString()); + } + } + + #region Windows Forms Designer generated code + /// <summary> + /// This method is required for Windows Forms designer support. + /// Do not change the method contents inside the source code editor. The Forms designer might + /// not be able to load this method if it was changed manually. + /// </summary> + private void InitializeComponent() { + this.m_csvButton = new System.Windows.Forms.Button(); + this.m_progress = new System.Windows.Forms.ProgressBar(); + this.m_list = new System.Windows.Forms.ListView(); + this.m_quitButton = new System.Windows.Forms.Button(); + this.m_tableSelect = new System.Windows.Forms.ComboBox(); + this.label = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // m_csvButton + // + this.m_csvButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.m_csvButton.Location = new System.Drawing.Point(448, 504); + this.m_csvButton.Name = "m_csvButton"; + this.m_csvButton.Size = new System.Drawing.Size(104, 32); + this.m_csvButton.TabIndex = 1; + this.m_csvButton.Text = "Export as CSV"; + this.m_csvButton.Click += new System.EventHandler(this.OnExportCSV); + // + // m_progress + // + this.m_progress.Location = new System.Drawing.Point(8, 504); + this.m_progress.Name = "m_progress"; + this.m_progress.Size = new System.Drawing.Size(424, 32); + this.m_progress.TabIndex = 3; + // + // m_list + // + this.m_list.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.m_list.FullRowSelect = true; + this.m_list.GridLines = true; + this.m_list.HideSelection = false; + this.m_list.Location = new System.Drawing.Point(8, 40); + this.m_list.Name = "m_list"; + this.m_list.Size = new System.Drawing.Size(664, 456); + this.m_list.TabIndex = 2; + this.m_list.View = System.Windows.Forms.View.Details; + // + // m_quitButton + // + this.m_quitButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.m_quitButton.Location = new System.Drawing.Point(568, 504); + this.m_quitButton.Name = "m_quitButton"; + this.m_quitButton.Size = new System.Drawing.Size(104, 32); + this.m_quitButton.TabIndex = 0; + this.m_quitButton.Text = "Quit"; + this.m_quitButton.Click += new System.EventHandler(this.OnQuit); + // + // m_tableSelect + // + this.m_tableSelect.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.m_tableSelect.Items.AddRange(new object[] { + "Intro", + "Landcode", + "Owners", + "Tugdetails", + "Tuglist", + "Wharves"}); + this.m_tableSelect.Location = new System.Drawing.Point(64, 8); + this.m_tableSelect.Name = "m_tableSelect"; + this.m_tableSelect.Size = new System.Drawing.Size(200, 21); + this.m_tableSelect.Sorted = true; + this.m_tableSelect.TabIndex = 4; + this.m_tableSelect.SelectedIndexChanged += new System.EventHandler(this.OnSelectTable); + // + // label + // + this.label.Location = new System.Drawing.Point(16, 8); + this.label.Name = "label"; + this.label.Size = new System.Drawing.Size(40, 24); + this.label.TabIndex = 5; + this.label.Text = "Table:"; + this.label.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // MainForm + // + this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); + this.ClientSize = new System.Drawing.Size(680, 541); + this.Controls.Add(this.label); + this.Controls.Add(this.m_tableSelect); + this.Controls.Add(this.m_progress); + this.Controls.Add(this.m_list); + this.Controls.Add(this.m_csvButton); + this.Controls.Add(this.m_quitButton); + this.MinimumSize = new System.Drawing.Size(320, 200); + this.Name = "MainForm"; + this.Text = "Tuglist Reader"; + this.ResumeLayout(false); + } + #endregion + + void OnQuit(object sender, System.EventArgs e) + { + Close(); + } + + void OnExportCSV(object sender, System.EventArgs e) + { + TugTable t=(TugTable)m_tables[m_tableSelect.Text]; + SaveFileDialog fsel=new SaveFileDialog(); + + fsel.Filter="CSV files (*.csv)|*.csv|All files (*.*)|*.*"; + fsel.RestoreDirectory=true; + + if(fsel.ShowDialog()==DialogResult.OK) + { + StreamWriter str=File.CreateText(fsel.FileName); + + if(str!=null) + { + m_progress.Maximum=m_list.Items.Count+1; + m_progress.Step=1; + m_progress.Value=0; + + CSV csv=new CSV(str); + + foreach (string s in t.Fields) + { + csv.Value(s); + } + + csv.EndLine(); + m_progress.PerformStep(); + + foreach (ListViewItem i in m_list.Items) + { + //csv.Value(i.Text); + + foreach (ListViewItem.ListViewSubItem si in i.SubItems) + { + csv.Value(si.Text); + } + + csv.EndLine(); + m_progress.PerformStep(); + } + + str.Close(); + } + else + { + Util.Error("Failed to open "+fsel.FileName); + } + } + + m_progress.Value=0; + } + + private void FillList() + { + TugTable t=(TugTable)m_tables[m_tableSelect.Text]; + int f; + + m_list.Columns.Clear(); + m_list.Items.Clear(); + + foreach (string s in t.Fields) + { + m_list.Columns.Add(s,100,HorizontalAlignment.Left); + } + + for(f=0;f<t.Count;f++) + { + ArrayList l=new ArrayList(); + + foreach (string s in t.Row(f)) + { + l.Add(s); + } + + AddRow(l); + } + } + + private void AddRow(ArrayList l) + { + ListViewItem i=new ListViewItem((string)l[0]); + + for(int f=1;f<l.Count;f++) + { + i.SubItems.Add((string)l[f]); + } + + m_list.Items.Add(i); + } + + void OnSelectTable(object sender, System.EventArgs e) + { + FillList(); + } + + } +} diff --git a/TLReader.MainForm.resources b/TLReader.MainForm.resources Binary files differnew file mode 100644 index 0000000..6f03156 --- /dev/null +++ b/TLReader.MainForm.resources diff --git a/TLReader.cmbx b/TLReader.cmbx new file mode 100644 index 0000000..aa12666 --- /dev/null +++ b/TLReader.cmbx @@ -0,0 +1,16 @@ +<Combine fileversion="1.0" name="TLReader" description=""> + <StartMode startupentry="TLReader" single="True"> + <Execute entry="TLReader" type="None" /> + </StartMode> + <Entries> + <Entry filename=".\.\TLReader.prjx" /> + </Entries> + <Configurations active="Debug"> + <Configuration name="Release"> + <Entry name="TLReader" configurationname="Debug" build="False" /> + </Configuration> + <Configuration name="Debug"> + <Entry name="TLReader" configurationname="Debug" build="False" /> + </Configuration> + </Configurations> +</Combine>
\ No newline at end of file diff --git a/TLReader.prjx b/TLReader.prjx new file mode 100644 index 0000000..a7463aa --- /dev/null +++ b/TLReader.prjx @@ -0,0 +1,33 @@ +<Project name="TLReader" standardNamespace="TLReader" description="" newfilesearch="None" enableviewstate="True" version="1.1" projecttype="C#"> + <Contents> + <File name=".\MainForm.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> + <File name=".\AssemblyInfo.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> + <File name=".\DefaultNamespace.MainForm.resources" subtype="Code" buildaction="EmbedAsResource" dependson="" data="" /> + <File name=".\TLReader.MainForm.resources" subtype="Code" buildaction="EmbedAsResource" dependson="" data="" /> + <File name=".\TugTable.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> + <File name=".\Config.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> + <File name=".\Config.xml" subtype="Code" buildaction="Nothing" dependson="" data="" /> + <File name=".\Util.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> + <File name=".\CSV.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> + <File name=".\table.txt" subtype="Code" buildaction="Nothing" dependson="" data="" /> + </Contents> + <References /> + <DeploymentInformation target="" script="" strategy="File" /> + <Configuration runwithwarnings="True" name="Release"> + <CodeGeneration runtime="MsNet" compiler="Csc" compilerversion="" warninglevel="4" nowarn="" includedebuginformation="False" optimize="True" unsafecodeallowed="False" generateoverflowchecks="False" mainclass="" target="WinExe" definesymbols="" generatexmldocumentation="False" win32Icon="" /> + <Execution commandlineparameters="" consolepause="False" /> + <Output directory="..\bin\Release" assembly="TLReader" executeScript="" executeBeforeBuild="" executeAfterBuild="" /> + </Configuration> + <Configurations active="Release"> + <Configuration runwithwarnings="False" name="Debug"> + <CodeGeneration runtime="MsNet" compiler="Csc" compilerversion="" warninglevel="4" nowarn="" includedebuginformation="True" optimize="False" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="WinExe" definesymbols="" generatexmldocumentation="False" win32Icon="" /> + <Execution commandlineparameters="" consolepause="False" /> + <Output directory="..\bin\Debug" assembly="TLReader" executeScript="" executeBeforeBuild="" executeAfterBuild="" /> + </Configuration> + <Configuration runwithwarnings="True" name="Release"> + <CodeGeneration runtime="MsNet" compiler="Csc" compilerversion="" warninglevel="4" nowarn="" includedebuginformation="False" optimize="True" unsafecodeallowed="False" generateoverflowchecks="False" mainclass="" target="WinExe" definesymbols="" generatexmldocumentation="False" win32Icon="" /> + <Execution commandlineparameters="" consolepause="False" /> + <Output directory="..\bin\Release" assembly="TLReader" executeScript="" executeBeforeBuild="" executeAfterBuild="" /> + </Configuration> + </Configurations> +</Project>
\ No newline at end of file diff --git a/TugTable.cs b/TugTable.cs new file mode 100644 index 0000000..3b77c1f --- /dev/null +++ b/TugTable.cs @@ -0,0 +1,114 @@ +// TLReader - reads access database containing tug info +// Copyright (C) 2004 Ian Cowburn +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +using System; +using System.Data; +using System.Data.Common; +using System.Data.Odbc; +using System.Collections; +using System.Collections.Specialized; +using System.Windows.Forms; + +namespace TLReader +{ + /// <summary> + /// Description of TugTable. + /// </summary> + public class TugTable + { + public TugTable(OdbcConnection con, Table t) + { + string sql="select "; + bool first=true; + + m_fields=new StringCollection(); + m_fields.AddRange(t.Fields.Split(new char[] {','})); + + foreach (string s in m_fields) + { + if (first) + { + sql+="["+s+"]"; + } + else + { + sql+=", ["+s+"]"; + } + + first=false; + } + + sql+=" from "+t.Name; + + OdbcCommand cmd=new OdbcCommand(sql,con); + OdbcDataReader r=cmd.ExecuteReader(); + + m_data=new ArrayList(); + + while(r.Read()) + { + StringCollection row=new StringCollection(); + + for(int f=0;f<m_fields.Count;f++) + { + string val="No data"; + + if (!r.IsDBNull(f)) + { + val=r.GetValue(f).ToString(); + } + + row.Add(val); + } + + m_data.Add(row); + } + + r.Close(); + } + + public int Count + { + get {return m_data.Count;} + } + + public StringCollection Fields + { + get {return m_fields;} + } + + public string Get(string field,int index) + { + StringCollection d=(StringCollection)m_data[index]; + + return d[m_fields.IndexOf(field)]; + } + + public string Get(string field,string index_as_string) + { + return Get(field,Convert.ToInt32(index_as_string)); + } + + public StringCollection Row(int row) + { + return (StringCollection)m_data[row]; + } + + private ArrayList m_data; + private StringCollection m_fields; + } +} @@ -0,0 +1,40 @@ +// TLReader - reads access database containing tug info +// Copyright (C) 2004 Ian Cowburn +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +using System; +using System.Windows.Forms; + +namespace TLReader +{ + /// <summary> + /// Description of Util. + /// </summary> + public class Util + { + public static void Error(string msg) + { + MessageBox.Show(msg,"Error", + MessageBoxButtons.OK,MessageBoxIcon.Error); + } + + public static void Notice(string msg) + { + MessageBox.Show(msg,"Notice", + MessageBoxButtons.OK,MessageBoxIcon.Information); + } + } +} diff --git a/table.txt b/table.txt new file mode 100644 index 0000000..18fddbf --- /dev/null +++ b/table.txt @@ -0,0 +1,87 @@ +DROP TABLE intro; +CREATE TABLE intro + ( + LastUpdate DateTime (Short) (8), + Names Long Integer (4), + Ships Long Integer (4), + TitelText Text (60) + +); +-- CREATE ANY INDEXES ... + +DROP TABLE LANDCODE; +CREATE TABLE LANDCODE + ( + CODE Text (8), + COUNTRY Text (80), + NAT Text (6) + +); +-- CREATE ANY INDEXES ... + +DROP TABLE Owners; +CREATE TABLE Owners + ( + OwnerNR Long Integer (4), + Short Text (200), + NAT Text (6), + Description Memo/Hyperlink, + Adres Memo/Hyperlink, + Colors NR Long Integer (4) + +); +-- CREATE ANY INDEXES ... + +DROP TABLE tugdetails; +CREATE TABLE tugdetails + ( + TugNR Long Integer (4), + Specifications Memo/Hyperlink, + Link Text (510), + WharfNR Long Integer (4) + +); +-- CREATE ANY INDEXES ... + +DROP TABLE Wharves; +CREATE TABLE Wharves + ( + WharfNR Long Integer (4), + Short Text (200), + NAT Text (6), + Description Memo/Hyperlink, + Adres Memo/Hyperlink + +); +-- CREATE ANY INDEXES ... + +DROP TABLE tuglist00; +CREATE TABLE tuglist00 + ( + NR Long Integer (4), + NAME Text (100), + NAT Text (6), + BUILD Text (20), + SCRAP Text (20), + BRT Text (20), + PK Text (40), + YardNR Text (28), + ONAMES Text (400), + PicNR Text (20), + SITE Memo/Hyperlink, + TugNR Long Integer (4), + OwnerNR Long Integer (4), + RegNR Text (48), + EuroNR Text (48), + CallSign Text (28) + +); +-- CREATE ANY INDEXES ... + + + +-- CREATE ANY Relationships ... + +relationships are not supported for access +relationships are not supported for access +relationships are not supported for access |