From: | Andrei <andyk(at)commandprompt(dot)com> |
---|---|
To: | bret_stern(at)machinemanagement(dot)com |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Numeric Type and VB/ODBC |
Date: | 2009-11-11 06:49:27 |
Message-ID: | 4AFA5E77.1020702@commandprompt.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
You can try
If (IsNumeric(varToTest) And 0 = CDbl(varToTest)) Then IsNothing = True
Bret wrote:
> This may not be the right group, if so, just let me know.
>
> I have a table with a type [numeric].
>
> When executing queries, I get the data which happens to
> be (6.5) in this case, but my VB6 function which traps
> for nulls (below) returns a null.
>
> If I change it to type [real]. No problems
>
>
> Function IsNothing(varToTest As Variant) As Integer
> ' Tests for a "logical" nothing based on data type
> ' Empty and Null = Nothing
> ' Number = 0 is Nothing
> ' Zero length string is Nothing
> ' Date/Time is never Nothing
>
> IsNothing = True
>
> Select Case VarType(varToTest)
> Case vbEmpty
> Exit Function
> Case vbNull
> Exit Function
> Case vbBoolean
> If varToTest Then IsNothing = False
> Case vbByte, vbInteger, vbLong, vbSingle, vbDouble, vbCurrency
> If varToTest <> 0 Then IsNothing = False
> Case vbDate
> IsNothing = False
> Case vbString
> If (Len(varToTest) <> 0 And varToTest <> " ") Then IsNothing =
> False
> End Select
>
> End Function
>
>
> Bret Stern
>
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Thom Brown | 2009-11-11 09:27:43 | Re: Dynamically-sized WAL files |
Previous Message | Bret | 2009-11-11 06:07:16 | Numeric Type and VB/ODBC |