Visual Basic - Sum Sql

Life is soft - evento anual de software empresarial
 
Vista:

Sum Sql

Publicado por Cristian (2 intervenciones) el 01/12/2010 17:23:17
Hola, quiere hace la suma de un campo por ejemplo:

select sum(subtotal) as totall fom ventas

Pero no se como mostrarlo en una variable o caja de texto. Estoy usando DAO.

Espero me puedan ayudar.

Saludos
Gracias
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:Sum Sql

Publicado por miguel (1042 intervenciones) el 02/12/2010 03:01:30
Tienes hechas la conexion a tu servidor Base de Datos como Access o My Sql???

Suponiendo que te conectas a Access:

Antes de realizar este codigo debes de dar de alta la referencia

Microsoft DAO 3.51 Object...

Acceso a datos:


El modelo de datos DAO (DbEngine, WorkSpace, Database y Recordset)

DAO incorpora en sus librerías, todos los objetos necesarios para la creación, eliminación y modificación de una estructura de datos, incorporando además herramientas para la utilización de los datos almacenados.

El objeto principal, de esta estructura jerarquizada de objetos, es DBEngine. Éste objeto, no puede ser elemento de ninguna colección, por lo que no pueden crearse objetos DBEngine adicionales.

Con los métodos .OpenDatabase y .CreateWorkSpace, del objeto DbEngine, podemos crear llamadas a una base de datos; directamente para almacenar en el espacio de trabajo predefinido, o para añadir espacios de trabajos adicionales a la coleccion de objetos WorkSpace, donde abrir posteriormente la base de datos.

Los valores devueltos por esos dos métodos son:

.CreateWorkSpace:

Añade un nuevo objeto de area de trabajo, a la coleccion de objetos WorsSpace, en el Objeto DbEngine.

.OpenDatabase:

Devuelve un objeto Database, que referencia una base de datos, en el área de trabajo predeterminada.

Dim Db As Database
Set Db = DbEngine.WorkSpace(0).OpenDatabase("Ruta del fichero de datos")

O bien, de la siguiente manera para el área de trabajo predeterminada.

Dim Db As Database
Set Db = DbEngine.OpenDatabase("Ruta del fichero de datos")

El objeto Database devuelto por el método .OpenDatabase, posee a su véz otras colecciones de objetos, pero siguiendo el ejemplo, de abrir una base de datos y mostrar registros, vamos a tratar solamente sobre el objeto Recordset (conjunto de registros).

El método que vamos a usar para rellenar el objeto Recorset, con los registros es: .OpenRecordset, y es aquí donde vamos ejecutar una instrucción SQL para definir los registros que vamos a mostrar.

Dim Rst As Recordset
Set Rst = Db.OpenRecordset("SELECT * FROM Personas")

Para realizar el ejemplo hay que crear una base de datos llamada MisDatos.mdb, que contenga una tabla denominada Personas, y guardarla en la misma carpeta donde vayamos a guardar el proyecto. Crear un proyecto nuevo. Añadir en Referencias una llamada a la libreria: Microsoft DAO 3.51 Object Library. En el formulario poner un control Data y un DbGrid, enlazado al Data. Añadir este código. Guardar el proyecto y ejecutar (F5).

Se comienza con la declaración de los objetos que vamos a utilizar, uno para la base de datos y otro para el conjunto de registros a usar.

Option Explicit
Dim Db As Database
Dim Rst As Recordset

A continuación ejecutamos las instrucciones necesarias para cargar la base de datos y rellenar el recorset, asignándolo luego al control Data1.

Private Sub Form_Load()
Set Db = DbEngine.OpenDatabase(App.Path & "\MisDatos.mdb")
Set Rst = Db.OpenRecordset("SELECT * FROM Personas")
Data1.DatabaseName = App.Path & "\MisDatos.mdb"
Set Data1.Recordset = Rst
End Sub

Con ésto tendremos los datos mostrados en la rejilla de datos.

Otra forma de mostrar los registros obtenidos, sería registro a registro, en controles TextBox, éstos pueden estar enlazados al igual que el DbGrid a un control Data o mostrar los registro directamente desde el objeto Rst, mediante el siguiente código:

Supongamos una matriz con controles TextBox, uno por cada campo que exista en la Tabla.

Dim i As Long
For i = 0 to Rst.Fields.Count - 1
Text1(i).Text = Rst(i)
Next i

Si deseas aprender mas te dejo el link...!!!

http://www.islaprogramacion.net/visualbasic/manconexdao.htm

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:Sum Sql

Publicado por Pedro Luis (128 intervenciones) el 02/12/2010 10:06:28
Suponiendo que tienes abierta la Base de Datos (Bdd) y que has dimensionado un Recordset (Mireg) tendremos
Set Mireg =Bdd.Openrecordset("select sum(subtotal) as totall fom ventas")
Text1=Mireg!totall
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

gracias

Publicado por Cristian (2 intervenciones) el 05/12/2010 23:35:45
Gracias gente !!!!!

Saludos
Cristian
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