Visual Basic - Consulta SQL

Life is soft - evento anual de software empresarial
 
Vista:

Consulta SQL

Publicado por Antonio (93 intervenciones) el 03/03/2009 12:39:55
Tengo creado el siguiente RecordSet para coger los datos de una tabla:

Set TLiPeSEA = New ADODB.Recordset
With TLiPeSEA
.Open "SELECT * FROM LinPeSEA", g_db, adOpenDynamic, adLockOptimistic
End With

La pregunta es:
Como puedo sumar los valores del campo Cant de la tabla LinPeSEA siempre y cuando que los valores de los campos que se detallan a continuación sean los detallados igualmente:
Cod=cCodigo AND Control_Pe='P' AND Cod<>SPACE(7)

Saludos cordiales.
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:Consulta SQL

Publicado por P3L30N2009 (699 intervenciones) el 03/03/2009 13:34:49
La última comparación sobra, ya que si Cod = cCodigo siempre será diferente a Null (a no ser que cCodigo sea Null, en este caso, deberías controlarlo antes de hacer la consulta).

En fin, la consulta podría quedar así:

"SELECT * FROM LinPeSEA WHERE Cod = '" & cCodigo & "' AND Control_Pe = 'P'"

Siempre que el campo 'Cod' de la tabla sea de tipo Texto.

Saludos.
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:Consulta SQL

Publicado por Antonio (93 intervenciones) el 03/03/2009 19:18:36
Gracias por responder P3L30N2009.

Perdona mi ignorancia, pues soy nuevo en este lenguaje.
¿La línea de código que me has puesto se quedaría como sigue?

Set TLiPeSEA = New ADODB.Recordset
With TLiPeSEA
.Open "SELECT * FROM LinPeSEA WHERE Cod = '" & cCodigo & "' _
AND Control_Pe = 'P'", g_db, adOpenDynamic, adLockOptimistic
End With

Si asi se hace el filtro de los registros que cumplen la condición del Where, como hago ahora para sumar todos los registros del campo "Cant"?

Saludos cordiales.
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:Consulta SQL

Publicado por P3L30N2009 (699 intervenciones) el 03/03/2009 19:55:29
Bueno, esta pregunta no tiene nada que ver con la anterior.

Para sumar los valores de un campo numérico, la consulta sería algo así:

"SELECT SUM(Cant) AS Cantidad FROM LinPeSEA WHERE Cod = '" & cCodigo & "' _
AND Control_Pe = 'P'"

Ahora, ten en cuenta que esta consulta devuelve un único registro con la suma del campo cant que cumplan las condiciones indicadas en la clausula WHERE ¿es eso lo que quieres?
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:Consulta SQL

Publicado por Antonio (93 intervenciones) el 03/03/2009 20:11:25
Gracias P3L30N2009 nuevamente por responder.
Lo que quiero es que en la variable Cantidad me ponga la suma total del contenido del campo "Cant" de todos los registros que cumplan esas dos condiciones y luego poner el resultado en un TextBox.

En Clipper de donde vengo, sería:
SELE LinPeSEA
SET FILTER TO Cod=cCodigo .AND. Control_Pe='P'
SUM Cant TO nPed

Saludos cordiales.
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:Consulta SQL

Publicado por Antonio (93 intervenciones) el 03/03/2009 20:11:40
Gracias P3L30N2009 nuevamente por responder.
Lo que quiero es que en la variable Cantidad me ponga la suma total del contenido del campo "Cant" de todos los registros que cumplan esas dos condiciones y luego poner el resultado en un TextBox.

En Clipper de donde vengo, sería:
SELE LinPeSEA
SET FILTER TO Cod=cCodigo .AND. Control_Pe='P'
SUM Cant TO nPed

Saludos cordiales.
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:Consulta SQL

Publicado por P3L30N2009 (699 intervenciones) el 03/03/2009 20:47:04
Bueno, pues le asignas esa consulta a tu recordset TLiPeSEA y en el TextBox pones lo siguiente:

Text1.Text = TLiPeSEA(0)

o

Text1.Text = TLiPeSEA!Cantidad
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