Visual Basic - fallo de tipos....AYUDAAAAAAAAA

Life is soft - evento anual de software empresarial
 
Vista:

fallo de tipos....AYUDAAAAAAAAA

Publicado por rafa (7 intervenciones) el 05/05/2009 10:06:41
Buenos dias tengo un problema con un programilla que estoy haciendo; accedo a una base de datos y quiero actuar sobre ella cambiando algunos valores en los campos pero al decrementar unos campos me da fallo de tipo, porque me da ese fallo y porque no actuo sobre la base de datos???os pongo el codigo y gracias por vuestra ayuda de antemano:

Dim BDD As Database
Dim TBL1 As Recordset
Dim INV As String
Dim CANTINV As String
Dim REFERENCIA As String
Dim cant As Integer
Dim cantidadnueva As String

Public Sub AMOSALLA()

Dim BDD As Database
Dim TBL1 As Recordset

Set BDD = OpenDatabase("C:Documents and SettingsWindInertiaEscritorioRAFAprueba base de datosase de datos.mdb")

Set TBL1 = BDD.OpenRecordset("INVENTARIO")

REFERENCIA = (InputBox("referencia del componente:", "retirada de material", "INTRODUCE ALGO COÑO"))
cant = (InputBox("cantidad del componente:", "retirada de material", "INTRODUCE ALGO COÑO"))

CANTINV = "SELECT TBL1.CANTIDAD FROM TBL1 WHERE TBL1.IDENTIFICADOR=referencia"
cantidadnueva = CANTINV - cant ' AQUI ME DA EL PROBLEMA'
MODIFICOCANT = "UPDATE TBL1 SET CANTIDAD=cantidadnueva WHERE IDENTIFICADOR= referencia "
BDD.Execute MODIFICOCANT

If CANTINV <= 0 Then
INCORRECTO = MsgBox("placa no realizable", vbCritical, " SYSTEM")
End If

End Sub
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:fallo de tipos....VAAAAAAAA

Publicado por P3L30N2009 (699 intervenciones) el 05/05/2009 11:01:48
cantidadnueva = Val(CANTINV) - Val(cant)
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

gracias y una cosa mas

Publicado por rafa (7 intervenciones) el 05/05/2009 12:16:19
Gracias amig@ por tu ayuda pero si puedes contestama porque no estoy seguro si estoy accediendo bien a la base de datos, cuando le es puesto lo de val() no me daba pbs pero no me lee bien la base de datos veo en la ventana de datos que cree que los datos de mi tabla son cero por eso creo k no accede bien a la base de datos, no se si estoy en dao o en ado, ¿como puedo arreglar esto?
gracias y un saludo
rafa de sevilla, españa
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:gracias y una cosa mas

Publicado por P3L30N2009 (699 intervenciones) el 05/05/2009 13:29:42
Bueno, primero por la forma de abrir la BD 'estás en dao'

Segundo. La variable "CANTINV" te devuelve cero porque es una cadena y no un número. Creo que intentas hacer una consulta SQL pero no se la aplicas a ningún recordset.

Tercero. Aunque aplicaras la sentencia a un recordset, ésta fallaría ya que estás incluyendo dento de la consulta la variable "referencia" como un campo de la tabla, cuando no lo es.

Cuarto. La forma sencilla sería hacer un Update a la tabla sin necesidad de recordsets:
"UPDATE inventario SET cantidad = cantidad - Val(cant) WHERE identificador = '" & referencia & "'"
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