Consulta SQL con código access

SQL mediante el código del access, pero no me funciona ni la más simple, supongo que algo hago mal. Concretamente me gustaría ejecutar la siguiente consulta:
SQL="SELECT Count(*) FROM Tabla WHERE isnull(campo)=False;"
Lo hago en principio desde un formulario cuyo origen de datos es la tabla en cuestión, y mediante un botón que al hacer click ejecutaría la consulta...(si funcionara :p)
Además, me gustaría que me mostrara el resultado en forma de tabla...
He probado con DoCmd. RunSQL(SQL), pero me da error.
Luego he probado con:
Private sub comando_click()
Dim MyBD As database
Dim MyRS As Recordset
Dim tot As Integer
Set MyBD = CurrentDb
'Ahora definimos el RecordSet.
Set MyRS = MyBD.OpenRecordset("SELECT count(*)FROM Incluidas WHERE (isnull(edad)=true)")
tot = MyRS("total")
End sub
Además me gustaría que me saliera el resultado en una tabla...¿puede ser?
¿Cómo lo hago?
2

2 Respuestas

194.675 pts. 20años de experiencia en programacion Access a razon de...
La SQL que intentas ejecutar (cosa que no conseguirás, ya que no es una consulta de acción), devuelve un único valor: la cuenta de registros de una tabla donde se cumple un criterio.
No entiendo el motivo de querer mostrarlo en una tabla. Mira la función DCount de Access que hace exactamente eso.
Si no es esto lo que pedías, entonces vuelve a preguntar.
Xavi
www.mvp-access.com
mmm.., espera que me explico mejor. Tengo una base con varias tablas, de cada uno de los campos de algunas tablas quiero obtener el número de registros con un determinado valor (concretamente un valor nulo). Necesito tener en una tabla todos esos valores. Por ejemplo, si la tabla es:
IdNum Edad Sexo
1 20 Mujer
2 Hombre
3 30
Quisiera obtener una tabla con la siguiente información:
Campo Perdidos
IdNum 0
Edad 1
Sexo 1
El caso es que como ya habrás podido comprobar, no controlo el código del access.
No lo hago con una simple consulta en SQL sin código, porque mi intención es repetir esto con muchas variables, y se puede hacer tedioso y muy largo.
No sé si es posible hacer algo así de manera más o menos fácil o rápida al menos.
Gracias por tu respuesta, sobre todo por la rapidez.
138.725 pts. He trabajado 5 años desarrollando aplicaciones tanto en...
Intenta especificar que campo le haces el count y coloca un alias es decir:
"Select Count([NombreDeUnCampo]) as Contar Where Edad Not IsNull"
NombreDeUnCampo Puede ser la llave.
Has así y me cuenta.. ahora claro que tu puedes devolver una consulta en una grilla(subformulario) lo único que debes hacer es en el origen del registro RecordSource del subformulario colocar la consulta sql...
Si quieres te mando un ejemplo... pero dama un email... y dame hasta el Lunes... ok...
Si te sirvió esto... bueno... sino me avisas
Att:telemaco
Mo me has comentado como le fue.
No se te olvide finalizar la pregunta...
Te escribí un mensaje a tu correo dándote las gracias y comentándote algo más. Parece que no lo recibiste, lo siento. Agradezco tu ayuda, pero finalmente no me he conseguido solucionarlo, algo hay que no funciona. De todas formas, he utilizado otra forma que para el objetivo que tenía me vale. De todas maneras, muchísimas gracias por tu ayuda. No había finalizado la pregunta porque he estado muy ocupada, pero tenia intención de hacerlo :).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas