Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Macro con librerías ado, error comparación datos numéricos

publicado

Buenas tardes,

a ver si me podéis echar una mano porque estoy acabando con mi paciencia.

Estoy haciendo una macro sirviéndome de las librerías de ADO, y tengo un problema en una sentencia SQL que no sé cómo resolver. No sé si el problema viene dado por el tipo del campo en la hoja excel o en la propia sentencia SQL.

Me gustaría coger los campos que tienen un valor superior a 1000 y la siguiente instrucción, me falla:

SQL = "select count([APPThroughputUp]) from [LLAMADAS$] where [APPThroughputUp] not in ('-') AND [APPThroughputUp]> CInt(1000) '"

La instrucción se ejecuta pero no filtra bien, cuenta todos los campos y no sólo los que son mayores que 1000.

¿Alguna idea?

Gracias!!!

Featured Replies

publicado

Prueba con:

SQL = "select count([APPThroughputUp]) from [LLAMADAS$] where [APPThroughputUp] > 1000"[/CODE]

publicado
  • Autor

Gracias por contestar, ya había probado y nada. Creo que está relacionado con los tipos de datos pero no logro dar con la solución

publicado
  • Autor

Olvidé decir que los números de la tabla tienen decimales

publicado

Sin la base de datos, ni la tabla, ni su diseño, es muy complicado que nos entendamos.

publicado
  • Autor

[uSER=46507]@Macro Antonio[/uSER]. Adjunto el fichero sobre el que estoy realizando las consultas, es la pestaña LLAMADAS y en definitiva estoy volcando los datos en otro excel para hacer un informe. Lo que pretendo hacer aquí es sacar el porcentaje de muestras que tienen throughput >1000. La variable TamHTTPUL2 es igual a 10, se la paso por pantalla.

Lo intento hacer de la siguiente forma:

        SQL = "select count([StartTime]) from [LLAMADAS$] where [CallType] in ('HTTP') AND [Result] in ('Success','TimeOut') AND [APPThroughputUp] not in ('-') AND [AutoCallScenarioName] LIKE '%_" & TamHTTPUL2 & "[Mm_ ]%' AND [APPThroughputUp]> 1000"

Call Execute_SQL(SQL, Workbooks("Report.xlsm").Sheets("LTE_KPIs").Cells(fila + 37, columna), path)[/CODE]

Aquí conecto la base de datos:

[CODE]Private Sub Execute_SQL(ByVal strSQL As String, rngPosition As Range, DPath As String)




Dim Conn As New ADODB.Connection
Dim mrs As New ADODB.Recordset
Dim DBPath As String, sconnect As String


sconnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & DPath & ";HDR=Yes';"

Conn.Open sconnect

mrs.Open strSQL, Conn
rngPosition.CopyFromRecordset mrs

mrs.Close


Conn.Close
End Sub[/CODE]

No sé si queda claro :S

DATOS.xls

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.