Visual Basic - establecer precisión

Life is soft - evento anual de software empresarial
 
Vista:

establecer precisión

Publicado por wladimir (54 intervenciones) el 15/02/2006 15:53:40
hola primero que nada, a ver si puede ayudarme.

necesito establecer precisión para poder ocupar adNumeric con Microsoft Jet 4.0 si alguien puede ayudarme lo agradeceria mucho.

se despide un amigo de chile.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:establecer precisión

Publicado por jimmito (39 intervenciones) el 15/02/2006 17:20:52
Saludos.!! que quieres Utilizar un Adnumeric en acces..?
necesito saber el mensaje del error.. si no es inconveniente y parte del dcodigo pk no me ayudas mucho.!! con el mensaje!!
bye
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:establecer precisión

Publicado por wladimir (54 intervenciones) el 15/02/2006 17:29:40
este es el error

error '-2147217862(80040e3a) en tiempo de ejecucion
precision no valida

Dim tbl As New ADOX.Table
Dim cat As New ADOX.Catalog

cat.ActiveConnection = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\temp;" & _
"Extended Properties=dBase IV;"


tbl.Name = "catalogo"
tbl.Columns.Append "fecha", adDate, 25
tbl.Columns.Append "cantidad", adNumeric, 5
tbl.Columns.Append "name", adWChar, 30
cat.Tables.Append tbl

oaja que te sirva para que me ayudes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:establecer precisión

Publicado por ivan (463 intervenciones) el 15/02/2006 18:05:24
Este es un ejemplo de como lo tengo yo....

cat.Create "Provider=" & DataProvider & ";" & _
"Data Source=" & sBase & ";" & _
";Jet OLEDB:Database Password=sinaloa"

Set tbl = New ADOX.Table
' NOMBRE DE LA TABLA
sTabla = NomTabla
With tbl
.Name = sTabla
Set Col = New ADOX.Column
With Col
.Name = "campo1"
.Type = adInteger
.Attributes = adColNullable
.NumericScale = 0
Set .ParentCatalog = cat
End With
.Columns.Append Col
.Columns.Append "campo2", adVarWChar, 20
.Columns.Append "campo3", adDouble
.Columns.Append "campo4", adSmallInt
'.Columns.Append "campo5", adLongVarWChar ' Una cadena larga, (Memo)
End With
' Añadir la nueva tabla a la base de datos
cat.Tables.Append tbl
Set idx = Nothing
Set tbl = Nothing
Set cat = Nothing

Los tipos que yo manejo son adInteger, adVarWChar, adDouble, adSmallInt, adLongVarWChar..

Pero el tipo adNumeric no se si sea válido...

Espero esto te sirva, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:establecer precisión

Publicado por Juan_K (181 intervenciones) el 15/02/2006 20:42:20
Aun q ya te envie la respuesta a tu mail la ponga aqui para los demas miembro del foro la vean.
Cuando usa tipos adNumeric y adDecimal tienes q asignar la propiedad Precision de la columna
=================================================
tbl.Columns.Append "cantidad", adNumeric, 5
tbl.Columns.Item("cantidad").Precision = 2
=====================================================
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:establecer precisión

Publicado por wladimir (54 intervenciones) el 15/02/2006 21:25:30
hola, me sigue tirando decimal porque sera me tira 4,00000 cuando deberia tirarme 4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:establecer precisión

Publicado por Juan_K (181 intervenciones) el 16/02/2006 19:45:57
Usa el driver dBase 5.0
=====================================================================
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dbf;Extended Properties=dBASE 5.0;User ID=Admin;Password="

y crea los los campos de la siguiente forma
ttbl.Columns.Append "cantidad", adNumeric
tbl.Columns.Item("cantidad").NumericScale = 2 'numero de decimales
tbl.Columns.Item("cantidad").Precision = 15 'total de digitos

=====================================================================
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar