PDA

View Full Version : [VBScript] Formato VbDecimal (x esperti)


cisky
16-06-2003, 14:09
Ho una SQL che estrae dei dati da un DB ORACLE

SELECT COUNT(tblX.ID) as TotID FROM tblX

Il campo ID della tabella tblX è di tipo NUMBER(11)


Se da VBScript apro un recordset e assegno ad una variabile il valore del campo del recordset...


... vTotID = rs.fields("TotID").Value

Il campo "TotID" del recordset risulta del tipo adVarNumeric (139).

Assegnando il valore del campo alla variabile quest'ultima viene convertita nel tipo vbDecimal (14)

Qualsiasi controllo sulla variabile a questo punto genera un errore perchè il tipo VbDecimal non risulta supportato in VB.


Ad esempio se scrivo:

if vTotID = 0 then
' *** Test
end if

Si genera un errore di tipo non definito.


MA PERCHE' VBSCRIPT CONVERTE LA VARIABILE NEL DATATYPE VBDECIMAL??? :confused:

... Tanto + che non è supportato.

a2000
16-06-2003, 15:25
Tipo di dati Decimal

Le variabili di tipo Decimal sono memorizzate come numeri interi senza segno di 96 bit (12 byte) divisi per una potenza di 10 variabile. La potenza di 10 per cui viene diviso il numero corrisponde al numero di cifre a destra della virgola ed è compresa nell'intervallo fra 0 e 28. Se il fattore di divisione è 0 (nessun decimale), il valore maggiore possibile è +/-79.228.162.514.264.337.593.543.950.335. Con 28 decimali, il valore maggiore è +/-7,9228162514264337593543950335 e il valore minore, diverso da zero, è +/-0,0000000000000000000000000001.

[b]Nota Attualmente il tipo di dati Decimal può essere utilizzato solo con valori Variant, ovvero non è possibile dichiarare il tipo Decimal per una variabile. È tuttavia possibile creare una Variant con sottotipo Decimal tramite la funzione CDec.[/size]

pippo985
17-06-2003, 09:18
Originally posted by "cisky"

Ho una SQL che estrae dei dati da un DB ORACLE

SELECT COUNT(tblX.ID) as TotID FROM tblX

Il campo ID della tabella tblX è di tipo NUMBER(11)


Se da VBScript apro un recordset e assegno ad una variabile il valore del campo del recordset...


... vTotID = rs.fields("TotID").Value

Il campo "TotID" del recordset risulta del tipo adVarNumeric (139).

Assegnando il valore del campo alla variabile quest'ultima viene convertita nel tipo vbDecimal (14)

Qualsiasi controllo sulla variabile a questo punto genera un errore perchè il tipo VbDecimal non risulta supportato in VB.


Ad esempio se scrivo:

if vTotID = 0 then
' *** Test
end if

Si genera un errore di tipo non definito.


MA PERCHE' VBSCRIPT CONVERTE LA VARIABILE NEL DATATYPE VBDECIMAL??? :confused:

... Tanto + che non è supportato.

Scusa, posso chiederti, perchè testi il valore di vTotID?

cisky
17-06-2003, 11:27
Perchè vTotID indica il numero di Record di una tabellla che devo contare.

La SQL che ho scritto è solo di prova x farvi capire.

Praticamente devo verificare se sono stati aggiunti dei record ad una tabella in base a dei criteri ...

se vTotID = 0 significa che non ci sono record individuati dalla SQL.