Contador de registros

Tengo una aplicación en Visual Basic a la que me gustaría añadile un textbox donde me diga el numero de registros que tengo en una base de datos de películas. La base de datos se llama películas y la tabla también se llama películas. Esta base de datos esta en Access.
Respuesta

Pionner he vistu tu ejemplo y me ha funcionado muy bien pero me gustaría me dijeses como puedo actualizarlo en tiempo de ejecución osea si elimino un registro que me reste o me sume, por que de esta manera tengo que salir del programa y ejecutarlo de nuevo.

3 respuestas más de otros expertos

Respuesta
1
Para ello debes leer la propiedad llamada RecordCount.
Si tienes un recordset de DAO tienes que mover el apuntador hasta el final para que te de un valor acertado del número de registros porque de lo contrario te dará un dato falso como decir que tienes 1 registro, pero solo en este caso. En el caso de ADO no.
Esto solo lo tienes que hacer una vez.
Data1. Recordset. MoveLasta
Data1. Recordset. MoveFirst
TextBox1 = "Número de Registros: " & Data1.Recordset.RecordCount
Si tienes un ADODataControl solo hay que leer la propiedad
TextBox1 = "Número de Registros: " & Adodc1.Recordset.RecordCount
Si abriste un recordset, sería así:
TextBox1 = "Número de Registros: " & rsTabla1.RecordCount
Respuesta
1
Supongo que tienes la tabla películas asignada aun Data que se llama Data1.
Tienes que hacer esto:
Data1.recordset.movelast
Numero = data1.RecordCount
Con esto la variable Numero tomará el valor del número de registros
Suerte :-)
Respuesta
1
Bien, no es nada complicado. Te lo voy a explicar:
Creas un textbox, y, por ejemplo, en el form load, metes el siguiente código:
1. Te creas una variable para llevar la cuenta de registros, y la inicializas a 0.
Dim totalreg As Integer
totalreg = 0
2. Te colocas al principio de la base de datos:
Adodc1. Recordset. MoveFirst
3. Ahora, te creas un bucle para llevar el contador:
While Not Adodc1.Recordset.EOF
totalreg = totalreg + 1
Adodc1. Recordset. MoveNext
Wend
->La 1ª sentencia es como decir 'mientras no sea el final de los registros'.
->Al tercera mueve al siguiente.
4. Y, para acabar, metes en tu textbox la cantidad de registros que tienes.
El código completo es este:
Private Sub Form_Load()
Dim totalreg As Integer
totalreg = 0
Adodc1.Recordset.MoveFirst
While Not Adodc1.Recordset.EOF
totalreg = totalreg + 1
Adodc1.Recordset.MoveNext
Wend
total.Text = totalreg
End Sub
Bien, verás que lo hice con un ADO. Si usas otra forma, debes saber que es exactamente igual poniendo el nombre del dataenvironment o del objeto que uses
(Dataenvironment1.record...)
Bien, espero que te sirva. No olvides finalizar, por favor, y para cualquier otra cosa, aquí estoy.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas