Problemas ADO
Hola compañeros
Este es mi primer mensaje en el foro... Estoy haciendo una base de datos en access de control de consumibles.
He creado tres tablas:
PLAQUETES : CODPMSA (texto y clave), stock(integer), descripción texto... Entre otras
MovArticles: CODPMSA(clave),quantitat(integer),tipusmoviment(combo tres opciones:entrada,salida,corregir_stock)...entre otras
Mi problema es que no se como, cuando desde el formulario vinculado a MovArticles le añado un registro y después de darle a la cantidad con la opción me haga los cálculos según opción y me modifique el campo cantidad de la tabla PLAQUETES.
He visto en el forum un mensaje de la experta Marciana y he intentado adaptarlo pero me da problemas de conexión.
He modificado la función que la tengo en el Modulo1 y la llamo al evento actualizar del campo quantitat de MovArticles.Lo llamo desde el formulario después de actualizar cantidad lo llamo desde aquí:
Private Sub quantitat_AfterUpdate()
Dim i As Variant
i = ActualitzaStock(CODPMSA, tipusmoviment, quantitat)
End Sub
La funcion es la siguiente:
Public Function ActualitzaStock(CODPMSA As String, tipusmoviment As String, Stock As Integer)
'Dim rsOut As New ADODB.Recorset
Dim i As Integer
Dim mov As String
'carregarem els datos
rsOut.Open "Plaquetes", CurrentProjectConnection, adOpenDynamic, adLockPessimistic
rsOut.Find "CODPMSA=&CODPMSA"
MsgBox "codi" & CODPMSA 'mostrarem el codi
If rsOut.EOF Then
MsgBox CODPMSA & "no existe"
Exit Function
End If
If tipusmoviment = "entrada" Then
rsOut!Stock = rsOut!Stock + quantitat 'suponemos que hacemos una entrada
MsgBox ("Stock:" & Stock)
If tipusmoviment = "salida" Then 'suponemos que hacemos una salida
rsOut!Stock = rsOut!Stock - quantitat
MsgBox ("Stock:" & Stock)
If tipusmoviment = "corregir_stock" Then ''suponemos que hacemos una entrada
rsOut!Stock = rsOut!Stock + quantitat
MsgBox ("Stock:" & Stock)
End If
rsOut.Update
rsOut.Close
End Function
Estoy liado.. ¿alguien me puede ayudar?
Gracias
Este es mi primer mensaje en el foro... Estoy haciendo una base de datos en access de control de consumibles.
He creado tres tablas:
PLAQUETES : CODPMSA (texto y clave), stock(integer), descripción texto... Entre otras
MovArticles: CODPMSA(clave),quantitat(integer),tipusmoviment(combo tres opciones:entrada,salida,corregir_stock)...entre otras
Mi problema es que no se como, cuando desde el formulario vinculado a MovArticles le añado un registro y después de darle a la cantidad con la opción me haga los cálculos según opción y me modifique el campo cantidad de la tabla PLAQUETES.
He visto en el forum un mensaje de la experta Marciana y he intentado adaptarlo pero me da problemas de conexión.
He modificado la función que la tengo en el Modulo1 y la llamo al evento actualizar del campo quantitat de MovArticles.Lo llamo desde el formulario después de actualizar cantidad lo llamo desde aquí:
Private Sub quantitat_AfterUpdate()
Dim i As Variant
i = ActualitzaStock(CODPMSA, tipusmoviment, quantitat)
End Sub
La funcion es la siguiente:
Public Function ActualitzaStock(CODPMSA As String, tipusmoviment As String, Stock As Integer)
'Dim rsOut As New ADODB.Recorset
Dim i As Integer
Dim mov As String
'carregarem els datos
rsOut.Open "Plaquetes", CurrentProjectConnection, adOpenDynamic, adLockPessimistic
rsOut.Find "CODPMSA=&CODPMSA"
MsgBox "codi" & CODPMSA 'mostrarem el codi
If rsOut.EOF Then
MsgBox CODPMSA & "no existe"
Exit Function
End If
If tipusmoviment = "entrada" Then
rsOut!Stock = rsOut!Stock + quantitat 'suponemos que hacemos una entrada
MsgBox ("Stock:" & Stock)
If tipusmoviment = "salida" Then 'suponemos que hacemos una salida
rsOut!Stock = rsOut!Stock - quantitat
MsgBox ("Stock:" & Stock)
If tipusmoviment = "corregir_stock" Then ''suponemos que hacemos una entrada
rsOut!Stock = rsOut!Stock + quantitat
MsgBox ("Stock:" & Stock)
End If
rsOut.Update
rsOut.Close
End Function
Estoy liado.. ¿alguien me puede ayudar?
Gracias
1 respuesta
Respuesta de jjreina44
1