visual basic y access
#1
Escrito 07 febrero 2013 - 05:47
ejemplo
realizo una busqueda de cuantos jugadores son defensores en mi equipo.
tabla1 tabla2
jose perez defensor
juan lopez defensor
pedro ruiz defensor
jose diaz defensor
(esa fue mi busqueda) y esa es la tabla de resultados....es posible programar un contador para q me diga q (jugadores defensores =4)
sin yo tener q contarlos a vista..? este es un simple ejemplo... necesito el contador porq en mi base de datos tal vez al realizar la busqueda salgan 500 defensores...y no podria contarlos a vista nada mas...les agradezco de ante mano su respuesta....
#2
Escrito 07 febrero 2013 - 06:07
No se por que en Visual Basico especificamente, no seria mejor verlo desde delphi ?-
La consulta se hace con una sentencia sql con la funcion Count.
Saludos
#3
Escrito 07 febrero 2013 - 06:53
Podrías describir la estructura (campos) de las tablas 1 y 2, con dicha información con mucho gusto te ayudaremos a encontrar una solución.
Saludos.
#4
Escrito 07 febrero 2013 - 08:02
#5
Escrito 08 febrero 2013 - 10:09
Creo hay varias formas de hacerlo una vez que ya has ejecutado la consulta, la primera opción que se me ocurre es una vez abierto el dataset creo hay una propiedad RecNo para obtener dicho valor, o si estos los vacías en un DataGridView, hay una propiedad llamada RowCount de donde podrías obtener el dato.
Saludos
#6
Escrito 08 febrero 2013 - 10:18
Bienvenido a DelphiAccess Orlando.
Creo hay varias formas de hacerlo una vez que ya has ejecutado la consulta, la primera opción que se me ocurre es una vez abierto el dataset creo hay una propiedad RecNo para obtener dicho valor, o si estos los vacías en un DataGridView, hay una propiedad llamada RowCount de donde podrías obtener el dato.
Saludos
O de plano repetir la consulta pero con un select count(campo) where... y mostrar el resultado en la etiqueta, tal y como lo propuso Caral
Saludox !
P.D. Y Delphi no te gusta ???
#7
Escrito 08 febrero 2013 - 08:37
#8
Escrito 09 febrero 2013 - 07:30
select count(tabla1.nombrejugador)
from tabla1
left join tabla2 on tabla1.idjugador = tabla2.idjugador
where tabla2.posicionjugador = 'defensor'
Estoy "adivinando" en la consulta los nombres de los campos de tus tablas, tendrías que adaptarlos conforme a la estructura que tengas para que pueda ser funcional, pero básicamente esa es la idea.
Al momento de decir que repitas la consulta pero con un count, me refiero a que la consulta que ya tienes elaborada para obtener el detalle de registros (en el ejemplo que nos mencionas, los 4 registros) la vuelvas a generar (una consulta adicional, claro) pero en vez de un select campo1, campo2, campo3 from tablax..... hagas un select count(campo1) from tablax.... y de esa manera podrás obtener el número de registros resultantes.
Espero que te haya podido dar una idea más clara... cualquier cosa, no dudes en seguir preguntando
Saludox !
P.D. No me respondiste a mi duda, porqué usar VisualBasic y no Delphi ???
#9
Escrito 11 febrero 2013 - 03:49
#10
Escrito 11 febrero 2013 - 04:52
Pues muchas gracias por tu respuesta amigo....
Amiga
Un placer ayudarte amigo, aquí andamos
Saludox !
#11
Escrito 13 febrero 2013 - 05:22
yo le puse en el sqlstring estas sentencias
SELECT * from tblusuario
WHERE codUsuario = (aqui es donde tengo la duda) <------ q debo colocar alli para q la busqueda me la realiza de acuerdo a lo q yo coloque en la caja de texto... o debo hacerlo de otra manera? por favor ayudenme..
#12
Escrito 13 febrero 2013 - 05:32
SELECT * from tblusuario
WHERE codUsuario = :codigo
Y en código haces ésto
ADOQuery1.ParamByName('codigo').AsString := 'ABC'; ADOQuery1.Open;
Saludos
#13
Escrito 13 febrero 2013 - 09:26
#14
Escrito 14 febrero 2013 - 07:55
Hola
SELECT * from tblusuario
WHERE codUsuario = :codigo
Y en código haces ésto
delphi
ADOQuery1.ParamByName('codigo').AsString := 'ABC'; ADOQuery1.Open;
Saludos
En vez de 'ABC' coloca NombreCajaTexto.Text...
ADOQuery1.ParamByName('codigo').AsString := NombreCajaTexto.Text; // AQUÍ ADOQuery1.Open;
Hay que colocar el nombre de la caja de texto y su propiedad Text que es la que captura aquello que escribiste en ella , te recomiendo que uses un componente de tipo TEdit
Saludox !