Visual Basic - Sumar un campo según condición dentro de consulta. VB 6.0

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 19
Ha aumentado su posición en 2 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Sumar un campo según condición dentro de consulta. VB 6.0

Publicado por Daniel (4 intervenciones) el 07/03/2019 20:22:39
Les comento lo que quiero hacer... Tengo una tabla donde almaceno productos y otra donde almaceno las facturas...

Cuando ya ingresé un registro a la tabla facturas lo que quiero es ir sumando los campos que tienen un IVA igual (10.5 ó 21)y los quiero ir poniendo en dos textbox... Para eso hice esta consulta pero no me funciona... No me va mostrando en las cajas de texto las sumas y no sé porqué...

Esta es la parte donde doy de alta el Producto en la factura:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
StrIngresaCompra = "INSERT INTO Temporal_Factura(Num_Factura,Cod_Producto,Num_Cliente,Cantidad,Precio_Parcial,Subtotal,IVA_Incluido,Importe,Tipo_IVA) VALUES (" & Num_Factura & ",'" & Trim(TxtCodigo.Text) & "'," & Num_Cliente & "," & CInt(Cantidad_Vendida) & ",'$ " & Str(Precio_Parcial) & "','$ " & SubTotal & "','$ " & IVA_Incluido & "','$ " & Importe & "','" & Tipo_IVA & "')"
Set RstIngresaCompra = New ADODB.Recordset
RstIngresaCompra.Open StrIngresaCompra, Base, adOpenStatic, adLockBatchOptimistic
MsgBox "Producto Ingresado con éxito", vbInformation, "INGRESO DE COMPRA A FACTURA."
CmdFinalizarVenta.Enabled = True
 
MuestraProductosEnVentas ' PROCEDIMIENTO QUE ME MUESTRA LOS PRODUCTOS QUE HAY DISPONIBLES.
 
FormatoGrillaTemporal 'PROCEDIMIENTO PÚBLICO QUE ME MUESTRA LOS PRODUCTOS QUE VAN INGRESANDO A LA FACTURA:
 
Public Sub FormatoGrillaTemporal() 'Está en un módulo .bas.
 
Dim strTemporal_Factura As String
Dim RstTemporal_Factura As New ADODB.Recordset
strTemporal_Factura = "select TF.Num_Factura,TF.Cod_Producto,P.Desc_Prod,TF.Cantidad,TF.Precio_Parcial,TF.IVA_Incluido,TF.SubTotal,TF.Importe,P.Tipo_IVA from Temporal_Factura as TF, Productos as P where Num_Factura =" & frmFacturacion.txtNum_Factura.Text & " And P.Cod_Producto = TF.Cod_Producto " & ""
Set RstTemporal_Factura = New ADODB.Recordset
RstTemporal_Factura.Open strTemporal_Factura, Base, adOpenStatic, adLockOptimistic
Set frmFacturacion.dtaDetalleFactura.DataSource = RstTemporal_Factura
 
End Sub
 
'****ESTA ES LA PARTE DONDE QUIERO HACER LA SUMA DE LOS PRODUCTOS QUE TIENEN IVA 10,5 Y PASARLA A LOS TEXTBOX Pero no me muestra nada...
 
StrSUMSUB105 = "SELECT SUM(SubTotal) AS SUBT,SUM(TF.Importe) AS IMP,P.Tipo_IVA from Temporal_Factura as TF, Productos as P where TF.Num_Factura =" & txtNum_Factura.Text & " And P.Tipo_IVA ='" & 10.5 & "' GROUP BY TF.Num_Factura,P.Tipo_IVA"
 
Set RstSUMSUB105 = New ADODB.Recordset
RstSUMSUB105.Open StrSUMSUB105, Base, adOpenStatic, adLockOptimistic
With RstSUMSUB105
If .EOF = True Then
Exit Sub
'SUMSUBT105: VARIABLE PARA GUARDAR EL VALOR DE LA CONSULTA
SUMSUBT105 = CDbl(!Subt)
txtSubtotal(0).Text = CDbl(!Subt)
'CDbl(SUMSUBT105)
'StrSUMImporte105 = 9
 
'Importe105: VARIABLE PARA GUARDAR EL VALOR DE LA CONSULTA
Importe105 = CDbl(RstSUMSUB105!IMP)
TxtImporte(0).Text = CDbl(Importe105)
'
' SUMIVA105 = CDbl(!IMP105 - !SUBT105)
' txtSumatoriaIVA(0).Text = CDbl(SUMIVA105)
End If
End With

'Muchas gracias nuevamente!!!! Espero me puedan ayudar!!
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
sin imagen de perfil
Val: 355
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Sumar un campo según condición dentro de consulta. VB 6.0

Publicado por raul (160 intervenciones) el 25/03/2019 22:23:43
La consulta no sirve, los parámetros from and where son ilógicos

verás en from debes indicar tabla_ principal y como se relaciona con la tabla_segundaria inner left ó inner right más la condición tabla_principal.producto = tabla_segundaria.producto porque lo que tienes es un reguero y bajo estas condiciones no te puede devolver nada
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