** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Contar Registros access 2013
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoContar Registros access 2013

 Responder Responder
Autor
Mensaje
choge Ver desplegable
Habitual
Habitual


Unido: 08/Abril/2011
Localización: Panama
Estado: Sin conexión
Puntos: 110
Enlace directo a este mensaje Tema: Contar Registros access 2013
    Enviado: 26/Mayo/2018 a las 07:40
hola buenas noches desde mexico.
bueno e linkeado una base de sql a access  atravez de  base de datos  obdc, con cuenta de de untentifiacion de sql server . hasta y todo bien  ahora tengo esta consulta que hice atravez de un recordset.

dim  buscar0  as recordset

Set buscar0 = CurrentDb.OpenRecordset("SELECT Count([Name])AS cantidad FROM dbo_ReportHeader WHERE Serial='000413584' and ReportTime Between #" & Format(Me.FET126TOLU1, "mm-dd-yyyy") & " " & "7:00:00 AM" & "# AND #" & Format(Me.FET126TOLU1, "mm-dd-yyyy") & " " & "7:59:59 AM" & "# ")
Me.BUSCA.Value = buscar0!cantidad
Me.BUSCA.ForeColor = 0
buscar0.Close
Set buscar0 = Nothing


si me funciona si me cuenta de acuerdo a los criterio que tengo pero ahora sale algo raro ya que aunque no ponga nada en los texbox llamados Me.FET126TOLU1,FET126TOLU1 y cierro formulario este como quiera cuenta alguien me diria por favor porque aunque no tenga nada en los campos FET126TOLU1 como quiera cuenta. saludos y disculpen esa consulta batalle mucho para hacerla la tabla vinculada se llama dbo_ReportHeader y los criterios son   Serial y ReportTime me gustaria saber poque aunque no ponga nada en los textbox Me.FET126TOLU1,FET126TOLU1 que tengo en formulario como quiera me hace la consulta..  gracias y saludos desde mexico .


:)
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1134
Enlace directo a este mensaje Enviado: 26/Mayo/2018 a las 10:55
Porque cuando no tienes nada en los cuadros de texto, te quedan las horas que estás colocando:

SELECT … ReportTime BETWEEN # 7:00:00 AM# AND # 7:59:59 AM#

Cuando Access/VBA hace "cosas raras", una buena opción es usar puntos de interrupción/ventana Inmediato/inspección de variables, para ver por dónde va la ejecución del código, o qué valores toman las variables.
Arriba
choge Ver desplegable
Habitual
Habitual


Unido: 08/Abril/2011
Localización: Panama
Estado: Sin conexión
Puntos: 110
Enlace directo a este mensaje Enviado: 26/Mayo/2018 a las 17:03
buenos dias master mil gracias por contestar y comparti tus conocimientos master, solo unas preguntas mas poruqe cuando hago una consulta a dicha tabla vinculada y esta consulta se la paso a subformulario hay si me toma los que ponga en los textbox que tengo como fecha..... otra pregunta me puedes decir asi como hice la consulta 

Set buscar0 = CurrentDb.OpenRecordset("SELECT Count([Name])AS cantidad FROM dbo_ReportHeader WHERE Serial='000421208' and ReportTime Between #" & Format(Me.FECHA2, "mm-dd-yyyy") & " " & "7:00:00 AM" & "# AND #" & Format(Me.FECHA2, "mm-dd-yyyy") & " " & "7:59:59 AM" & "# ")
Me.BUSCA.Value = buscar0!cantidad
Me.BUSCA.ForeColor = 0
buscar0.Close
Set buscar0 = Nothing


esta correcta mil disculpas yo se que simpre que necesito ayuda vengo aqui ya que aqui es donde e aprendido mucho y me ayudado en mi vida cotidiana y en mi trabajo saludos master de seguidor tuyo desde mexico..TongueTongueTongueTongue
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1134
Enlace directo a este mensaje Enviado: 27/Mayo/2018 a las 11:43
Si he entendido tu último mensaje, se trata de un tema de visibilidad o accesibilidad: el subformulario accede a sus controles directamente:

Me.FECHA2

Pero no puede acceder a un control del formulario que lo contiene directamente, hay que indicar que se quiere acceder a ese formulario padre:

Me.Parent.ElControlQueSea

Más info:

- https://support.office.com/es-es/article/Crear-un-control-que-hace-referencia-a-un-control-de-otro-formulario-59d593fb-13a7-4058-b8b6-6b24b5b14400
- http://www.llodax.com/Tutoriales/SintaxisSubForms.htm
Arriba
choge Ver desplegable
Habitual
Habitual


Unido: 08/Abril/2011
Localización: Panama
Estado: Sin conexión
Puntos: 110
Enlace directo a este mensaje Enviado: 28/Mayo/2018 a las 17:30
gracias por contester master voy a investigar la verdad no se que pasa porque aun que ponga las fechas vacias me sigue contandoo invetigare aver ya hice lo que me dice y la variable seigue tomando valor aunqe no ponga nada..
Arriba
choge Ver desplegable
Habitual
Habitual


Unido: 08/Abril/2011
Localización: Panama
Estado: Sin conexión
Puntos: 110
Enlace directo a este mensaje Enviado: 28/Mayo/2018 a las 20:10
hola master perdon por inisiste ya me hice lo que me pediste con punto de interupcion y ver como se comportan las variablas aqui te dejo una imagen para que te des una ide en primer plano las fechas estan vacias y el recordset me marca error pero como quiera el textbox toma valor 1 no se que pase te adejunto imagen.

https://fotos.subefotos.com/0414a33040f23de447b882cb60e3f4aeo.png

saludos y disculpa
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1134
Enlace directo a este mensaje Enviado: 28/Mayo/2018 a las 21:02
A ver si nos aclaramos. Sobre la imagen:

1er mensaje: el cuadro de texto no tiene nada, y por eso es Nulo. Como estás usando el &, y estás colocando literales de hora (7:00 y 7:59), al crear la cadena de texto de la SQL queda esto:

SELECT Count([Name])AS cantidad FROM dbo_ReportHeader WHERE Serial='000413584' and ReportTime Between # 7:00:00 AM# AND # 7:59:59 AM#

Y si algún registro cumple las condiciones, se mostrará. Si no quieres que aparezca nada cuando el cuadro de texto esté vacío, compruébalo:

If IsNull(Me.FET126TOLU1) Then
    MsgBox "Debe introducir una fecha"
Else
    Set buscar0 = …
    Me.BUSCA.Value = buscar0!cantidad
    Me.BUSCA.ForeColor = 0
    buscar0.Close
    Set buscar0 = Nothing
End If

Así te evitas problemas con los nulos. Y según cómo tengas el cuadro de texto (su propiedad Formato), incluso puedes usar IsDate, para verificar que lo que tienes es una fecha.

2º mensaje: Ese Recordset no está abierto, por eso se requiere un objeto.

3er mensaje: Te está diciendo el valor actual de la propiedad, no lo que se le va a asignar.

P.D.: Si es una simple cuenta, y esa tabla está vinculada, puedes usar DCount y olvidarte de Recordsets.
Arriba
choge Ver desplegable
Habitual
Habitual


Unido: 08/Abril/2011
Localización: Panama
Estado: Sin conexión
Puntos: 110
Enlace directo a este mensaje Enviado: 28/Mayo/2018 a las 21:13
gracias por contester y dedicar tu tiempo ahora ya me quedo mas claro master y disculpame si te sigue preguntando solo tenia esa duda ya puedes dar por cerrado este hilo ahora me toca ami master saludos de un seguidor desde Durango tierra de alacranes pais mexico
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable