Jump to content

lphant

Members
  • Content Count

    295
  • Joined

  • Last visited

Everything posted by lphant

  1. Muchas gracias. Es muy buena opción, lo de usar la fórmula era por no abrir el Excel ( está en red ) y tarda mucho en abrirse pero creo que voy a tener que abrirle. Pd: lo que me has pasado funciona perfectamente. Gracias y un saludo.
  2. Buenos días; Tengo un Excel desde el cual busco información en otros Excel que nunca suelen tener el mismo nombre en la hoja. Para que la cosa sea rápida, no quisiera abrir el Excel, por eso lo de buscar la información con la fórmula de la macro. Mi problema viene en el nombre de la hoja, existe alguna forma de poder poner en la formula el nombre interno de la hoja??. Muchas gracias. Un saludo, Ejemplo.xlsm
  3. buenas tardes @ikanni; te adjunto el excel y la base de datos en un zip. muchisimas gracias. Base2.zip
  4. Buenas tardes a tod@s; Esta tarde me ha surgido otro problemita que …..por más vueltas que doy no sé cómo solucionarlo (si se puede, que me está oliendo que no ). Esto haciendo una consulta de Access a Excel por SLQ contando con 2 condiciones, la condición 1 es si tiene el dato xx y la condición 2 es que no tenga el dato xx, el problema que tengo es que en la columna de la condición 2, hay celdas en blanco que debería de contar y no las cuenta, solo cuenta lo que tiene dato. He probado de varias formas pero no doy con ello. Os adjunto la línea que tengo. Query = "Select count (Motivo) from consulta where Motivo ='CIERRE ROTO' And tipo_hnc Not In ('roto')" Pd: no os adjunto el Excel porque al ser una consulta de Access no se puede probar. Gracias y un saludo, Contar también celdas sin dato
  5. Ahora sí me funciona poniendo los [ ], no sé que hice esta mañana, como dices algún espacio o algo de eso. Muchas gracias.
  6. Buenas tardes; Tengo un problemita con una consulta SQL. En nombre de la columna de la que estoy filtrando un dato tiene espacios y ….por mas que he probado no consigo hacerla funcionar, siempre me da error. Como debo ponerlo (Descripción Casas )??. He probado con [ ] , con “”, con variable y nada. Dato = "'" & "Londres" & "'" Devolu = "'" & "Fin" & "'" Exacto = " = " Query = "SELECT * FROM Consulta where [Descripción Casas]" & Exacto & Dato & _ " and Motivo" & Exacto & Devolu Pd: no subo excel porque no se puede probar, si fuera necesario le subo. muchas gracias. Un saludo,
  7. Creo que lo he entendido. Gracias
  8. Es lógico lo que me dices y suponía que tenía que hacer 2 consultas pero como soy nuevo en esto de las consultas SQL por si algo se me escapa. Gracias @avalencia, me estás ayudando mucho.
  9. Buenas tardes; Eso es, el resultado de Distinct no es del todo lo que busco. Para lo que estoy haciendo necesito que no exista duplicado en ninguna columna ( estoy haciendo una lista desplegable ), por eso decía de que la búsqueda de duplicados fuera en cada columna independiente de la otra. Por ahora lo he solucionado con 2 consultas pero si se puede mejor en una sola mejor. Muchas gracias.
  10. Buenas tardes; Así lo estaba haciendo pero si se puede mejor y eliminar líneas haciéndolo desde la consulta mucho mejor no??. Un saludo,
  11. Buenos días; Con una consulta SQL de Access a Excel me estoy trayendo 2 columnas, dichas columnas tienen datos duplicados. Estoy intentando traerme los datos sin duplicar de cada columna (una columna independiente de la otra ) pero tal y como lo pongo me mira en las 2 y me trae lo no duplicado en ambas. "SELECT DISTINCT CLIENTE, MOTIVO FROM Consulta" Se puede hacer de alguna forma o tengo que hacer 2 consultas independientes??. Un saludo, Dupli.xlsm
  12. Menuda cabeza la mía. Uno se cierra en algo y ya no ve más. Lo acabo de solucionar. Muchas gracias @avalencia.
  13. Vale, creo que ya he conseguido que medio funcione pero me da error al poner los encabezados. adjunto excel actualizado. Ejemplos.xlsm
  14. Lo he activado ( es la versión 6.0 ) y me sigue dando el mismo error. He activado también el "Microsoft ActiveX data objects recordarte 6.0 library" por si fuera eso y nada, el mismo error. Las variables del SQL es verdad que hay no están definidas, fue un copia pega de la otra macro y no copié las definiciones. Que me falta??, No doy con ello. Muchas gracias.
  15. muchas gracias a los 2. @avalencia, la verdad que va muy lento, puede ser por el servidor pero ..... voy a intentar probar con redcorset por si fuera mejor ( seguro que va igual pero no pierdo nada ). He escrito las siguientes lineas pero me da error de compliación "no se ha definido el tipo definido pot el usuario". Que tengo mal??. ----------- Sub Consulta_Recorset() Dim Conn As ADODB.Connection Dim MiConexion Dim Rs As ADODB.Recordset Dim Query As String Dim cont, j tipoBusqueda = Cells(1, 5) campo1 = Cells(2, 1) datoCampo1 = Cells(2, 2) campo2 = Cells(3, 1) datoCampo2 = Cells(3, 2) Set Conn = New ADODB.Connection MiConexion = "C:\Users\Desktop\Base.accdb" With Conn .Provider = "Microsoft.ACE.OLEDB.12.0" .Open MiConexion End With Query = "SELECT * FROM Consulta WHERE " & campo1 & complementoBusqueda1 & datoCampo1 & _ " and " & campo2 & complementoBusqueda1 & datoCampo2 Set Rs = New ADODB.Recordset Rs.CursorLocation = adUseServer Rs.Open Source:=Query, _ ActiveConnection:=Conn 'Valir si la consulta devuelve resultados If Rs.EOF And Rs.BOF Then 'Borrar la conexión al Recordset Rs.Close Conn.Close 'Borrar la memoria Set Rs = Nothing Set Conn = Nothing MsgBox "No hay resultados para la consulta", vbInformation, "Infooo..." Exit Sub End If 'Recorrer el Recordset Rs.MoveFirst cont = 2 For j = 1 To 4 Cells(cont, 0) = Rs.Fields(j).Name Next j Do Cells(cont, 1) = Rs!(0) Cells(cont, 2) = Rs!(1) Cells(cont, 3) = Rs!(5) Cells(cont, 4) = Rs!(2) cont = cont + 1 Rs.MoveNext Loop Until Rs.EOF 'Cerrar la conexión Rs.Close Conn.Close Set Rs = Nothing Set Conn = Nothing End Sub --------- Ejemplos.xlsm
  16. Buenos días; Me estoy liando un poco con las consultas por SQL en Access desde Excel, por favor, me podéis asesorar ( esto no lo había tocado nunca ). Hace un par de semanas empecé a tocar las consultas por SQL, vi un par de videos, hice algún ejercicio, etc…pero no me ha quedado muy claro ya que en cada sitio veo una cosa. Las primeras consultas que hice por SQL las hice con “Execute”, la verdad que me funcionaba bien hasta que he probado con un Access que tengo en red con muchas líneas y ……. tarda muchísimo en obtener los datos, investigando por internet, parece ser que la mayoría de la gente usa “Recordset”. Qué diferencia hay??, Yo en principio solo lo voy a usar para consultas de 2 o 3 condiciones y para contar registros ( no quiero modificar nada de la base de datos Access ). Usando “Execute” creo que se ha modificado algo de la base de datos Access o ha dado la casualidad de que alguien ha borrado los datos de ciertas columnas. Os adjunto la macro que tengo con “Execute” para consultar con 2 condiciones y la macro que tengo para contar registros con 3 condiciones ( gracias a nuestro compañero @Avalencia ) para que me ayudéis a modificar con “Recordset” si es mejor opción que “Execute” ( he probado a modificar por probar y solo tengo errores ). Muchas gracias de antemano. Ejemplos.xlsm
  17. Muchas gracias. Antes de escribir lo estuve probando así y no me funcionaba, ya he visto el por qué, me sobraban unas comillas. lo dicho, muchas gracias.
  18. Perdona @avalencia Como debo de unir la linea que me has pasado con el rango por fechas??. he probado varis cosas pero todas me dan error. consultaSql = "Select count (Motivo) from Consulta where Motivo='" & Valores(x) & "'", Fechas Between #03/18/2019# And #03/19/2019#" Pd: lo que me pasastes funciona perfectamente. Muchisimas gracias.
  19. Pedona por no haberte contestadoantes, estuve de viaje de trabajo sin conexion a internet. lo voy a probar ahora mismo. muchusimas gracias,
  20. Tienes razón, debería haber echo otra consulta, gracias por contestarme. No lo explique bien, quiero que cuente la cantidad de registros de cada condición. Con la línea que me dices contaría todo en 1 no??. Tacón = 3 Piel = 2 CIERRE ROTO = 4 ostras, el formato de la fecha es mes, día y año??, Puufff...eso no lo sabía. Lo del número de semana.......era ya rizar mucho el rizo, jejejeje... Muchísimas gracias.
  21. Buenas tardes @avalencia; Muchísimas gracias, ayer me tire toda la tarde buscando por internet y haciendo pruebas y no conseguí nada ( estoy muy perdido con SQL ). Tengo otras 2 dudas, no sé si me podrás ayudar. Si tengo que contar con 2 o más condiciones, tengo que hacer las consultas de contar por separado o se pueden unir en 1 consulta??. consultaSql = "Select count (Motivo) from Consulta where Motivo ='CIERRE ROTO'" consultaSql = "Select count (Motivo) from Consulta where Motivo ='Tacon" consultaSql = "Select count (Motivo) from Consulta where Motivo ='Piel" Y si una de las condiciones es un rango de fechas. La línea creo que sería esta. consultaSql = "Select count (Motivo) from Consulta where Motivo Between #04-03-19# and #10-03-19# Se podría de alguna forma contar por número de semanas en vez de por rango??, la columna de Access donde tiene la información está en formato fecha no en número de semanas. Muchísimas gracias de antemano.
  22. buenas noches; estoy intentando contar registros de access desde excel con el metodo SQL pero no se como mostrar el resultado. por favor, me podeis ayudar??. Estas son las lineas que tengo. Sub Contar_Datos() Dim cn As Object Dim datos As Object Dim consultaSql As String Dim conexion As String Set cn = CreateObject("ADODB.Connection") conexion = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=C:\Users\Desktop\Base.accdb" consultaSql = "Select count (Motivo) from Consulta where Motivo ='CIERRE ROTO'" cn.Open conexion Set datos = cn.Execute(consultaSql) datos.Close Set datos = Nothing cn.Close Set cn = Nothing End Sub Prueba_Contar.xlsm
  23. Muchas gracias. Ya di con ello, me llevo todo el dia buscando, probando y modificando pero ya lo tengo jejejee... te lo agradezco mucho. un saludo,
  24. Os adjunto otro excel con lo que he probado sin exito. For N = 1 To 3 If Menu.DesCripción & N.Value <> "" Then un saludo, Pruebav2.xlsm
  25. Con los combos lo que hago es filtrar y una vez filtrado llevar esos datos a otro Excel. La primera línea de combobox ( descripción1 y motivo1 ) filtran y llevan los datos a x Excel. La segunda línea de combobox ( descripción2 y motivo2 ) filtran y llevan los datos a x Excel. así sucesivamente con cada línea de combobox. Un saludo,
×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 6254 personas - Aprender Excel - Total: 4.7 / 5