Jump to content

Contar también celdas sin dato


lphant

Recommended Posts

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

Link to post
Share on other sites
Hace 1 hora, ikanni dijo:

Hola,

 

entiendo lo que necesitas pero tengo que ver la consulta, por que no cuelgas el archivo accdb? Elimina todo lo que no se necesite y deja las tablas y la consulta e intento arreglartelo

 

 

buenas tardes @ikanni;

te adjunto el excel y la base de datos en un zip.

muchisimas gracias.

Base2.zip

Link to post
Share on other sites

Hola

Como ya te habíamos comentado, recuerda que Access no es igual a Excel; en general los sistemas gestores de bases de datos funcionan distitno a lo que quizá nos acostumbramos con Excel. Para Access esos campos vacíos son "nulos" por ende debes de indicarle que también los cuente:

Query = "Select count (MOTIVO) from consulta where MOTIVO ='CIERRE ROTO' And (Not tipo='roto' or tipo is null)"

Saludos

Abraham Valencia

Link to post
Share on other sites

Hola a todos,

Lo siento pero no he podido conectarme.

LLama a la tabla, tabla1 ya que llamarle consulta te traera equivocaciones.

SELECT Tabla1.Id, Tabla1.MOTIVO, Tabla1.tipo
FROM Tabla1
WHERE (((Tabla1.MOTIVO)="CIERRE ROTO") AND ((Tabla1.tipo)="roto" Or (Tabla1.tipo) Is Null));

Espero te sirva

SAludos

Ikanni

 

 

 

 

 

Link to post
Share on other sites

Perdon se me paso, la anterior sentencia SQL te lista los que cumplen los parametros

Para que los cuente pon así

SELECT Count([Tabla1].[Id]) AS Cuenta
FROM Tabla1
WHERE (((Tabla1.MOTIVO)="CIERRE ROTO") AND ((Tabla1.tipo)="roto" Or (Tabla1.tipo) Is Null));

 

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.



  • Posts

    • saludos. estoy desarrollando un formulario en los deseo calcular varios textbox y mostrar el resultado en otros, el problema radica cuando los coloco con formato de miles los cálculos no funcionan; por favor si alguien me puede dar una ayuda o indicarme el procedimiento. ya he utilizado el cdbl(replace((.. obteniendo el mismo resultado. adjunto enlace. https://drive.google.com/drive/folders/1mPjlo-c7rCrwALgK9pF20e3J-XQG8Wk6?usp=sharing muchas gracias por su pronta colaboración.
    • Bueno!!, logre hacer que funcione. Este seria el codigo final. ' Modulo NoCoincidencia Dim SerialNoAuditado As Variant On Error GoTo IngresarSerialNoAuditado: SerialNoAuditado = Worksheets("Reg. N-Auditados").Range("B5").Value Resultado = Application.WorksheetFunction.Match(SerialNoAuditado, Worksheets("Laptop").Range("D6:D40005"), 0) If Resultado > 0 Then GoTo SerialAuditado: Else GoTo IngresarSerialNoAuditado: End If ' Aqui es para indicar que el serial esta auditado SerialAuditado: MsgBox "Este equipo fue auditado, por favor registrelo en el modulo correspondiente 'Reg. Entradas o Reg. Salidas'" Borrar_Campos Range("B5").Select Exit Sub IngresarSerialNoAuditado: 'Inicio insertar linea en la hoja registro de equipos no auditados Las etiqueta "NuevoIngreso:" fueron eliminadas. Por favor indiquenme si hay algun error o se puede mejorar el codigo. Agradecido de antemano
    • En funcion de lo exlpicado por ti Me puse a investigar como colocar esa funcion en VBA, y estoy tratando de hacerlo con lo poco que he aprendido.   Sub Registrar_No_Auditados() '======================================================================================================== NuevoIngreso: 'Empezar en el campo Serial Range("B5").Select 'Fin 'Parpadeo que se produce al Anotar Entrada por medio del boton. Application.ScreenUpdating = False 'Fin 'Convertir datos ingresados en Mayusculas Convertir_Mayusculas 'Fin 'Ingreso de datos (los dos siguientes bloques - Validacion e Insertar) ' 'Validacion de Campos Vacios con sus respectivas alertas If Range("B5").Value = Empty Then MsgBox ("Capture el Serial del Equipo") Exit Sub End If Range("C5").Select If Range("C5").Value = Empty Then MsgBox ("Capture el Serial del Bienes Nacionales asociado al equipo") Exit Sub End If 'Fin Validacion de campos vacios 'Call No_Coincidente Dim SerialNoAuditado As Variant On Error GoTo IngresarSerialNoAuditado: SerialNoAuditado = Worksheets("Reg. N-Auditados").Range("B5").Value Resultado = Application.WorksheetFunction.Match(SerialNoAuditado, Worksheets("Laptop").Range("D6:D40005"), 0) If Resultado > 0 Then GoTo SerialAuditado: Else GoTo IngresarSerialNoAuditado: ' Aqui es para indicar que el serial esta auditado SerialAuditado: MsgBox "Este equipo fue auditado, por favor registrelo en el modulo correspondiente 'Reg. Entradas o Reg. Salidas'" End If Borrar_Campos GoTo NuevoIngreso: IngresarSerialNoAuditado: 'Inicio insertar linea en la hoja registro de equipos no auditados ' ' Seleccionar hoja N-Auditado para realizar los ingresos Sheets("N-Auditados").Select ' Fin seleccionar hoja N-Auditado ' Inicio desproteger hoja con o sin clave para ingresar campos capturados ' ' Instruccion para desproteger la hoja N-Auditado Sheets("N-Auditados").Unprotect Password:="123456" ' Fin desproteger hoja N-Auditado 'Continuacion de insercion de linea en la hoja Reg. N-Auditado para nuevos registros Range("B5").EntireRow.Insert Sheets("Reg. N-Auditados").Select 'Fin de insercion de linea en Reg. N-Auditado 'Copiar y Pegar informacion que se ha introducido en el rango B5 al D5, 'y regresa a la hoja Reg. N-Auditado Range("B5").Copy Sheets("N-Auditados").Select Range("B5").PasteSpecial xlPasteValues Sheets("Reg. N-Auditados").Select Range("C5").Copy Sheets("N-Auditados").Select Range("C5").PasteSpecial xlPasteValues Sheets("Reg. N-Auditados").Select Range("D5").Copy Sheets("N-Auditados").Select Range("D5").PasteSpecial xlPasteValues 'Fin copiar y pegar data 'Instruccion para proteger de nuevo la hoja N-Auditado ActiveSheet.Protect Password:="123456", UserInterfaceOnly:=False 'Fin proteger hoja N-Auditado 'Ir a Reg. N-Auditado Sheets("Reg. N-Auditados").Select 'Fin ir a Reg. N-Auditado 'Borrar los campos para un nuevo registro Borrar_Campos 'Fin Borrar los campos para un nuevo registro 'Mensaje indicando que los valores de los campos fueron ingresados en la hoja N-Auditado MsgBox ("Entrada anotada.") 'Fin mensaje indicando que los valores de los campos fueron ingresados 'Evita que tras Anotada la Entrada, la celda Notas no quede con los borde parpadeando indicando una copia Application.CutCopyMode = False 'Fin del parpadeo 'Ir al campo Seriales Range("B5").Select 'Fin End Sub Podrias decirme si ves algun error   Agradecido
    • Buenas tardes estimados, espero y me puedan ayudar con este dilema se trata de lo siguiente. tengo un archivo "01 PCP.xlsx - v02 - copia" el cual entre otras hojas contiene tres principalmente, y son: "Proy.-Comer"      -       "BD_Recetas"      -      "Mat_Stock" En la hoja "Proy.-Comer" tenemos en color naranja las semanas del año, y en color amarillo los productos, y en plomo las cantidades (que se digitan manualmente). ***Lo que necesito es que en la hoja "BD_Recetas" , a partir de la celda "M65"  Sume la cantidad correspondiente a la semana según el producto de la columna en color amarillo "L10:L193" Y sus cantidades (celdas de color plomo), y luego lo multiplique por la cantidad según corresponda de la columna "H65" y que si la celda de la columna H dice caja que lo deje en "0", y asi sucesivamente para las demás semanas  (se puede apreciar en la formula).*** En la Hoja  "Mat_Stock",  a partir de la celda "I7" ***Quiero sumar por semana la cantidad del material a utilizar, en la columna A que esta en amarillo los códigos y tiene que sumar por semana según el código de la hoja "BD_Recetas" en la columna "F" de color naranja (Se puede ver también en la formula de las celdas)***   esto es para tratar de automatizarlo con una macro.   DE ANTEMANO MUCHAS GRACIAS POR LA AYUDA. 01 PCP.xlsx - v02 - copia (1).xlsm
    • Gracias por responder Bigpetroman Tienes razon, se me paso subir el archivo. Mil disculpas Clave de proteccion hojas 12346 Equipos No Auditados.xlsm
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy