El número de valores de la consulta y el número de campos de destino son diferentes. VB 6.0
Estoy dando de alta unos productos...
Tengo este código para dar de alta los productos pero me tira el error del título...
Lo raro es que están todos los campos... No veo que falte ninguno... ¿A ver que ven ustedes? GRACIAS!
StrProductoExistente = "SELECT Cod_Producto FROM PRODUCTOS where Cod_Producto =" & TxtProductos(0).Text
Set RstProductoExistente = New ADODB.Recordset
RstProductoExistente.Open StrProductoExistente, Base, adOpenStatic, adLockOptimistic
With RstProductoExistente
If .BOF = False Or .EOF = False Then
MsgBox "El Código: " & !Cod_Producto & " ya existe. Ingrese un nuevo código ", vbInformation, "ALTA PRODUCTOS."
TxtProductos(0).Text = ""
TxtProductos(0).SetFocus
'txtModAfiliado(0).SetFocus
Exit Sub
Else
If ChkIVA(0).Value Then
Cod_Producto = Trim(TxtProductos(0).Text)
Desc_Producto = TxtProductos(1).Text
Cant_Producto = Val(TxtProductos(2).Text)
Precio_Producto = CDbl(TxtProductos(3).Text)
IVA_Incluido = CDbl(Precio_Producto) + CDbl(Precio_Producto) * 0.105
Set RstProductos = New ADODB.Recordset
StrNuevoProducto = "INSERT INTO PRODUCTOS(Cod_Producto,Desc_Prod,Cantidad,Precio_Unitario,IVA_Incluido) VALUES ('" & Cod_Producto & "','" & Desc_Producto & "'," & Cant_Producto & "," & CDbl(Precio_Producto) & "," & CDbl(IVA_Incluido) & ")"
MsgBox StrNuevoProducto
RstProductos.Open StrNuevoProducto, Base, adOpenStatic, adLockOptimistic
MsgBox RstProductos
MsgBox "El Producto " & frmCompras.TxtProductos(1).Text & " Se ha incorporado al STOCK. ", vbInformation, "ALTA DE PRODUCTOS."
TxtProductos(0).Text = ""
TxtProductos(1).Text = ""
TxtProductos(2).Text = ""
TxtProductos(3).Text = ""
TxtProductos(0).SetFocus
Set RstMaxProducto = New ADODB.Recordset
StrMaxProducto = "Select Max(Cod_Producto) As Maximo From PRODUCTOS"
RstMaxProducto.Open StrMaxProducto, Base, adOpenStatic, adLockBatchOptimistic
End If
If ChkIVA(1).Value Then
Cod_Producto = Trim(TxtProductos(0).Text)
Desc_Producto = TxtProductos(1).Text
Cant_Producto = Val(TxtProductos(2).Text)
Precio_Producto = CDbl(TxtProductos(3).Text)
IVA_Incluido = CDbl(Precio_Producto) + CDbl(Precio_Producto) * 0.21
Set RstProductos = New ADODB.Recordset
StrNuevoProducto = "INSERT INTO PRODUCTOS(Cod_Producto,Desc_Prod,Cantidad,Precio_Unitario,IVA_Incluido) VALUES ('" & Cod_Producto & "','" & Desc_Producto & "'," & Cant_Producto & "," & CDbl(Precio_Producto) & "," & CDbl(IVA_Incluido) & ")"
MsgBox StrNuevoProducto
RstProductos.Open StrNuevoProducto, Base, adOpenStatic, adLockOptimistic
MsgBox RstProductos ' Con este mensaje veo que están todos los campos... Tanto en la consulta como en el número de campos...
MsgBox "El Producto " & frmCompras.TxtProductos(1).Text & " Se ha incorporado al STOCK. ", vbInformation, "ALTA DE PRODUCTOS."
TxtProductos(0).Text = ""
TxtProductos(1).Text = ""
TxtProductos(2).Text = ""
TxtProductos(3).Text = ""
TxtProductos(0).SetFocus
Set RstMaxProducto = New ADODB.Recordset
StrMaxProducto = "Select Max(Cod_Producto) As Maximo From PRODUCTOS"
RstMaxProducto.Open StrMaxProducto, Base, adOpenStatic, adLockBatchOptimistic
End If
End If
If RstMaxProducto.State = adStateOpen Then RstMaxProducto.Close
Set RstMaxProducto = Nothing
End With