This example uses the NumericScale and Precision properties to display the numeric scale and precision of fields in the Discounts table of the Pubs database.
'BeginNumericScaleVB 'To integrate this code 'replace the data source and initial catalog values 'in the connection string Public Sub Main() On Error GoTo ErrorHandler ' connection and recordset variables Dim rstDiscounts As ADODB.Recordset Dim Cnxn As ADODB.Connection Dim fldTemp As ADODB.Field Dim strCnxn As String Dim strSQLDiscounts As String ' Open connection Set Cnxn = New ADODB.Connection strCnxn = "Provider='sqloledb';Data Source='MySqlServer';" & _ "Initial Catalog='Pubs';Integrated Security='SSPI';" Cnxn.Open strCnxn ' Open recordset Set rstDiscounts = New ADODB.Recordset strSQLDiscounts = "Discounts" rstDiscounts.Open strSQLDiscounts, Cnxn, adOpenStatic, adLockReadOnly, adCmdTable ' Display numeric scale and precision of ' numeric and small integer fields For Each fldTemp In rstDiscounts.Fields If fldTemp.Type = adNumeric Or fldTemp.Type = adSmallInt Then MsgBox "Field: " & fldTemp.Name & vbCr & _ "Numeric scale: " & _ fldTemp.NumericScale & vbCr & _ "Precision: " & fldTemp.Precision End If Next fldTemp ' clean up rstDiscounts.Close Cnxn.Close Set rstDiscounts = Nothing Set Cnxn = Nothing Exit Sub ErrorHandler: ' clean up If Not rstDiscounts Is Nothing Then If rstDiscounts.State = adStateOpen Then rstDiscounts.Close End If Set rstDiscounts = Nothing If Not Cnxn Is Nothing Then If Cnxn.State = adStateOpen Then Cnxn.Close End If Set Cnxn = Nothing If Err <> 0 Then MsgBox Err.Source & "-->" & Err.Description, , "Error" End If End Sub 'EndNumericScaleVB
Field Object | NumericScale Property | Parameter Object | Precision Property