Error 13 en tiempo de ejecución

Hola estoy trabajando con una base de datos desde access que tiene 2 claves principales: producto y fecha, ose no puedo comprar las mismas cosas 2 veces el mismo día. Mi problema esta cuando tengo que buscar el registro que contenga ambos datos (***).
Muchas gracias!
Private Sub mnu_Comprar_Click()
Dim nCodigoProducto As Integer
Dim nCodigoBodega As Integer
Dim Fecha_Compra As String
Dim var As Integer
Fecha_Compra = Dtp_Fecha.Value
If Fecha_Compra <> "" And Cmb_Producto.Text <> "" And Txt_Cantidad.Text <> "" And Cmb_Bodega.Text <> "" Then
'Buscamos id producto
Data3.Refresh
Data3.Recordset.MoveFirst
Do While Not Data3.Recordset.EOF
If Data3.Recordset.Fields(1).Value = Cmb_Producto.Text Then
nCodigoProducto = Data3.Recordset.Fields(0).Value
End If
Data3.Recordset.MoveNext
Loop
'Busqueda de registro
(***)Data1.Recordset.FindFirst (" Fecha = # " + Fecha_Compra + " # " And "[id Producto]=" + nCodigoProducto + "")
If Data1.Recordset.NoMatch Then
'Creamos un registro Vacio
Data1.Recordset.AddNew
Data1.Recordset.Fields(0) = Fecha
Data1.Recordset.Fields(2) = Txt_Cantidad.Text
Data1.Recordset.Fields(1) = nCodigoProducto
var = 0
Data4.Refresh
Data4.Recordset.MoveFirst
Do While Not Data4.Recordset.EOF
If Data4.Recordset.Fields(1).Value = Cmb_Bodega.Text Then
nCodigoBodega = Data4.Recordset.Fields(0).Value
var = 1
End If
Data4.Recordset.MoveNext
Loop
If (var = 1) Then
Data1.Recordset.Fields(3) = nCodigoBodega
Data1.Recordset.Update
Data1.Refresh
Data2.Refresh
Else
MsgBox "La bodega indicada no existe", vbCritical, "Mensaje del sistema"
End If
Else
MsgBox "El registro ya existe, verifique la información", vbCritical, "Mensaje del sistema"
End If
Else
MsgBox "Los campos deben contener valores", vbCritical, "Mensaje del sistema"
End If
End Sub

1 respuesta

Respuesta
creo que basta con simple select
select * from tabla where fecha=cvdate(01/01/2008) and codproducto='000001'
if ese select te arroja como resultado mas de 0 registros entonces bloqueas la accion de guardar.
Suerte y disculpa la demora

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas