Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   buscar desde un dbedit cuando esta abierta una tabla (https://www.clubdelphi.com/foros/showthread.php?t=41446)

bachoco 15-03-2007 19:49:23

buscar desde un dbedit cuando esta abierta una tabla
 
hola.............cada vez que capturo en un dbedit, se va guardando en la tabla y lo que quiero es que lo busque primero y si lo encuentra que no lo guarde

luisgutierrezb 15-03-2007 20:36:22

que base de datos usas? con cuales componentes te conectas a ella?

Caral 15-03-2007 20:36:51

Hola
Bienvenido al club Delphi.
No entiendo muy bien la pregunta, pero por que no lo capturas entonces en un edit y si lo quieres grabar pues lo haces desde este, asi no grabara nada si no lo quieres.
Saludos

bachoco 15-03-2007 20:57:24

tengo un dbgrid, adotable datasource,adoconnection. cuando le doy click a un boton de AGREGAR hago -- adotable.append -- me manda a un formulario donde capturo, hago que cuando el dbedit(es el campo que quiero buscar) me lo encuentre en la tabla pero de todos modos me lo guarda y no quiero o sea se va repitiendo el campo en la tabla.. me dieron una opcion que lo hiciera con el adotable.locate en el evento beforepost de la tabla

bachoco 15-03-2007 21:01:44

ayudame Caral.......o no me doy a entender

Caral 15-03-2007 21:14:29

Hola bachoco
La verdad no te entiendes ni tu mismo.:D
Empecemos por el principio:
Estamos claros que la conexion ya esta.
Que trabajas con ado.
Que no sabemos que base de datos usas.?:confused: :rolleyes:
Sabemos que aprietas un boton y haces un append, este va al ultimo registro y edita, o inserta.
Abres un nuevo form, en el que ves un dbedit con el campo que necesitas.
Sabemos que si modificas el dbedit se graba, y que no quieres que se grabe.
Pues si no me equivoco tengo mas dudas yo que tu:D , porque no entiendo cual es el problema.:confused:
Yo diria que abras el nuevo from sin la opcion append, modifiques el dbedit si quieres y que cuando quieras pues lo grabes con append, posteriormente.
La verdad es que necesitaria un poco mas de datos para darte una opinion mas clara, tal vez si colocas un poco de codigo por aqui veamos mas claro el problema.
Saludos

bachoco 15-03-2007 23:05:53

es que si me voy al formulario del dbedit sin hacer adotable.append, se me va a poner el primer registro de la tabla al querer capturar y pues si le hago cambios se va a guardar.... lo que quiero es eso lo que tu dices de que no haga adotable.append......Este es el codigo del BeforePost del evento de la tabla (antes de guardar),pero no corre bien

procedure TForm1.ADOTable1BeforePost(DataSet: TDataSet);
begin
if adotable1.Locate('ClaveArticulo',form2.DBEdit1.Text,[])=true then
adotable1.Append
else
adotable1.Cancel
end;

Caral 15-03-2007 23:14:54

Hola bachoco
Me la pones dificil, no te entiendo bien.
Hay mucha formas de hacer lo que quieres, tendriamos que empezar por alguna.
No has dicho con que base de datos trabajas, sigo con ese duda.?
Para que te guies un poco en la pagina siguiente, bajate el ejemplo.zip, ese maneja filtros y otros, talvez te guie.
Aqui estan los ejemplos, bajate el que quieras y los pruebas.
ftp://196.40.62.225/
Ya diras como te fue.
saludos

egostar 15-03-2007 23:16:34

Venga Caral, que te espera la Taberna para tu mensaje 1000

Saludos

Pachangero 23-03-2007 19:43:06

Caral

Disculpa tengo una duda en el ejemplo que dijistes para ver las conexiones de las bases de datos me sale le siguiente mensaje.

SQL Error: Acces denied for user 'root@localhost' (using password:NO)

Entiendo que no tiene acceso usando ese password, pero como puedo cambiarlo o que puedo hacer, gracias.

Mi base de datos la quiero hacer en mysql.

Caral 23-03-2007 20:08:45

Hola
Cuando creas los usuarios en mysql, hay uno por defecto que es root, no usa contraseña, si no lo tienes puedes usar cualquier otro, da igual, esto se configura en el datamodule en zeosconection.
Saludos

Pachangero 23-03-2007 21:43:01

Caral

Estuve armando un ejemplo del que baje de tu enlace pero a la hora de compilarlo me dice que no encuentra el archivo ZConnection.dcu, lo busque y lo encontre en la carpeta de "build", volvi a instalar el componente y lo compile, pero nada.

Lei que debe de ser compilado en la misma version del cual se hizo.

Utilizo el Zeos 6.5.1-alpha, mysql 5.0 y delphi 7.

Del Zeos lo instale de esa version del delphi por lo que me extraña.

Que puedo hacer, gracias.

Caral 23-03-2007 22:12:46

Hola
Puede ser ese el problema
Yo uso:
Utilizo el Zeos 6.5.1-alpha, mysql 4.1y delphi 6.
Aunque no le veo la importancia, es solo de actualizar el codigo a lo que tienes.
Saludos

AzidRain 26-03-2007 23:39:18

Volviendo al problema inicial:

Debes usar un control "normal" no un dbaware para hacer la búsqueda ya que un control dbaware guarda directamente lo que captures en la tabla y no es lo que quieres en este momento.

Simplemente pon un edit normal, y en su evento onChange haces la localizacion en la tabla con el contenido del edit.

Supongo que en el edit lo que buscas es un dato en otra tabla para usarlo en el registro que estas creando.

Pero como dice el buen Caral, ni tu mismo te entiendes. Ojala nos des mas datos


La franja horaria es GMT +2. Ahora son las 22:59:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi