title: Fix the difference between Float and Numeric field types
body: <p>I have two dbf tables and must compare them by column (field) types. For example:</p>
  
  <p>Table1: <code>Id (Numeric) | Name (Character) | Salary (Numeric)</code><br>
  Table2: <code>Id (Numeric) | Name (Character) | Salary (Float)</code></p>
  
  <p>With these two tables program should display message like (types do not match in field <code>SALARY [F &lt;&gt; N]</code>) where F is float and N is numeric.</p>
  
  <p>So I can't find the difference between this fields because for both tables</p>
  
  <pre><code>    Using cmd2 As New OleDb.OleDbCommand("select * from Table1", connection)
                      Dim reader As OleDb.OleDbDataReader
                      reader = cmd2.ExecuteReader()
  
      reader.GetDataTypeName(2) 'returns DBTYPE_NUMERIC
      reader.GetFieldType(2) 'returns System.Decimal
  End Using
  
      Using cmd3 As New OleDb.OleDbCommand("select * from Table2", connection)
                      Dim reader2 As OleDb.OleDbDataReader
                      reader2 = cmd3.ExecuteReader()
  
      reader2.GetDataTypeName(2) 'returns DBTYPE_NUMERIC
      reader2.GetFieldType(2) 'returns System.Decimal
  End Using
  </code></pre>
  
  <p>I can view 'F' and 'N' characters in dbf header by opening dbf file in Notepad but can't read it to VB and I don't think it's good idea too.</p>
  
  <p>What can I do with this problem?</p>