Contar registros con sql en vba excel

Tengo un Formulario en excel vba y deseo saber cuantos registros tiene el archivo "Empleados.xls" utilizando sql y finalmente mostrar la cantidad en un textbox.

He logrado extraer datos e ir al ultimo registro del archivo "Empleado.xls", pero me falta saber la cantidad de los registros que tiene el archivo en mención.

Respuesta

Para hacer lo que quieres deberías realizar una consulta:

SELECT COUNT(DISTINCT nom_campo) AS cantidad FROM nom_tabla

gracias pero mi dilema es trasladar el resultado de "SELECT COUNT(DISTINCT nom_campo) AS cantidad FROM nom_tabla" a una variable y mostrarlo en un msgbox en vba.

dime esta bien como he escrito la sentencia?

On Error Resume Next

ruta = ThisWorkbook.Path

fichero = "Datos de empleados.xls"

Set Conn = New ADODB.Connection

Conn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & ruta & "\" & fichero

Set rs = New ADODB.Recordset

Sql = "SELECT COUNT(DISTINCT Edad) AS cantidad FROM FROM A1:C7"

MsgBox .

Gracias por tu atención y disculpa la molestia

Hola Experto, aquí nuevamente, mira conseguí esto que si funciona, pero quisiera saber si la sentencia que me enviaste funciona o no, a lo mejor no lo escribí en la linea correcta.

sub conseguir_datos()

On Error Resume Next

ruta = ThisWorkbook.Path

fichero = "Datos de empleados.xls"

Set Conn = New ADODB.Connection

Conn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & ruta & "\" & fichero

Set rs = New ADODB.Recordset

Sql = "SELECT * FROM A1:C65536"

rs.Open Sql, Conn, adOpenStatic, adLockOptimistic'

'Sql = "Select count (*) as total_registros from A1:C12" (No funciona)

total_reg = rs.RecordCount '(Si funciona)

MsgBox total_reg + 1

total_reg = 0

end sub

Debería funcionar. Es una sentencia SQL que lo que hace es contar los valores, distintos en este caso, de una columna dada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas