none
Contar número de registros de una tabla

    Pregunta

  • Buenas.

    Me gustaría saber cómo contar el número de registros que coinciden en el campo "CodUsuario" de una tabla access llamada "cuentas". Este es el código que yo tengo, y me gustaría saber que es lo que tengo que cambiar.

    Quiero guardar el valor de los registros coincidentes, en la variable "total".

            Dim adaptador As New OleDbDataAdapter
            Dim registros As New DataSet
            Dim consulta As String
            Dim total As Integer
            consulta = "SELECT CodUsuario, COUNT (CodUsuario) FROM cuentas GROUP BY CodUsuario HAVING COUNT (CodUsuario)>1 WHERE CodUsuario= '" & usuarios.id & "'"
            adaptador = New OleDbDataAdapter(consulta, bbdd.conexion)
            registros.Tables.Add("cuentas")
            adaptador.Fill(registros.Tables("cuentas"))
            total = (cantidad de registros que coinciden en el campo "CodUsuario, cuyo valor coincida con el de la variable "usuarios.id")

    martes, 14 de marzo de 2017 11:19

Respuestas

  • Hola:
    Prueba con esto.

            Try
                        Dim lsQuery As String = "SELECT Count(*) FROM cuentas WHERE CodUsuario=@Codigo"
                        Dim loResultado As Object = Nothing
                        Using loConexion As New OleDbConnection("TU_CADENA_DE_CONEXION")
                            Using loComando As New OleDbCommand(lsQuery, loConexion)
                                loComando.Parameters.AddWithValue(@Codigo, usuarios.id)
                                loConexion.Open()
                                loResultado = loComando.ExecuteScalar()
                            End Using
                        End Using
                        MessageBox.Show("El numero es: " & Convert.ToString(loResultado))
            Catch ex As Exception
                MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try

    Un saludo desde Bilbo
    Carlos
    • Marcado como respuesta IvanBcn1982 martes, 14 de marzo de 2017 12:21
    martes, 14 de marzo de 2017 12:05

Todas las respuestas

  • Hola:
    Prueba con esto.

            Try
                        Dim lsQuery As String = "SELECT Count(*) FROM cuentas WHERE CodUsuario=@Codigo"
                        Dim loResultado As Object = Nothing
                        Using loConexion As New OleDbConnection("TU_CADENA_DE_CONEXION")
                            Using loComando As New OleDbCommand(lsQuery, loConexion)
                                loComando.Parameters.AddWithValue(@Codigo, usuarios.id)
                                loConexion.Open()
                                loResultado = loComando.ExecuteScalar()
                            End Using
                        End Using
                        MessageBox.Show("El numero es: " & Convert.ToString(loResultado))
            Catch ex As Exception
                MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try

    Un saludo desde Bilbo
    Carlos
    • Marcado como respuesta IvanBcn1982 martes, 14 de marzo de 2017 12:21
    martes, 14 de marzo de 2017 12:05
  • Esto me sirve. Muchas gracias.
    martes, 14 de marzo de 2017 12:21