Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 20
Delphitest Va por buen camino
Lo tengo casi pero ....


He creado un Form3 para la busqueda y tengo una pequeña duda, bueno dos:

He apañado el código que amablemente me ha facilitado Caral:


Código:
 
procedure TForm3.Edit1Change(Sender: TObject);
var
   Filtro : String;
begin
   If (Edit1.Text <> '') then
   begin
      Table1.Filtered := False;
      Filtro := 'Nombre_Cial ='+QuotedStr(Edit1.Text);
      Table1.Filter := Filtro;
      Table1.Filtered := True
   end
   else Table1.Filtered := False;
end;
Y con ello consigo realizar una busqueda o filtro de un DBGrid que he puesto, la gran pregunta es:

El operador "=" requiere que mi texto de busqueda sea identico al del campo "Nombre_Cial" pero prefiero que coincidan los primeros caracteres a medida que los escribo, he probado con Like y no lo reconoce supongo que es por el motor de bases de datos que uso.

¿Que operador puedo poner para que funcione?

Tambien he probado añadiendo un +'*' detras de (Edit1.Text) pero tampoco funciona.

Por otro lado no acabo de entender esto de trabajar con diferentes Form, veo que son totalmente independientes por defecto, o sea que en este último he tenido de nuevo que indicar DataSource y Table y cuando selecciono en el DBGrid el registro que me interesa no me lo tiene en cuenta en el Form2 (que es el de clientes). Supongo que esto será algo sencillo pero lo desconozco por el momento.

Gracias de nuevo por vuestra ayuda
Responder Con Cita
  #2  
Antiguo 17-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
La propiedad Filter no admite comodines, aunque existen trucos, es bastante incómodo, resulta más eficiente una consulta (TQuery).

Respondiendo antes a tu segunda pregunta:
Existen los TDatamodules, que son contenedores de objetos no visuales, es decir, no puedes situar un Edit, pero si un TTable, TDatasource, etc. La idea consiste en Crear un TDatamodule, al guardarlo le das el nombre a la unidad (dmClientes) y a la ventana del Datamodule, en su propiedad Name indicas DTMClientes.

Sitúas la tabla clientes y su TDataSource en dicho datamodule y si lo necesitas en el Form1 y Form2, haces lo sigueinte:

Código Delphi [-]
Unit Unit1; // este es el Form1

interface
  uses windows, messages, etc.... , DmClientes;
...
Cuando en Form1, en el Inspector de Objetos eliges el DBGrid.DataSource, si apararece el DataSource de Clientes para elegirlo.

Hecho esto, puedes situar un TQuery en dicho Datamodule (qryClientes), en el OnCreate del Datamodule añades:
Código Delphi [-]

qryClientes.sql.text := 'Select * from Clientes where Nombre like :prNombre order by Nombre';
if not qryClientes.Prepared then qryClientes.Prepare; // agilizar la consulta en futuras llamadas.

Ya en tu Form de búsqueda, en el OnKeyUp de tu Edit (que busca por nombres), solo tienes que hacer:
Código Delphi [-]
procedure TFormX.Edit2KeyUp(....);
begin
  if Key = vk_return then 
  with dtmClientes.qryclientes do
  begin
     Close;
     ParambyName('prNombre').AsString := QuotedStr(Edit2.text+ '%');
     Open;
  end;
end;
Con eso consigues que estando en el Edit2, al pulsar la tecla Enter/return, se obtengan todos los registros que empiezan por ese texto.

Para que busque en cualquier parte del nombre, puedes añadir:

QuotedStr('%'+Edit2.text+ '%');

es decir, otro comodín al principio del texto.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 17-10-2006
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 289
Poder: 24
kalimero Va por buen camino
Hola DelphiTest.
Bueno sobre tu elección de Paradox como BD para tu sistema, te diré que para mi es una mala elección. El BDE hace tiempo que Borland dejó de darle soporte.
Tambien comentas que de momento no va a funcionar en red. Pues bien, el dia que te necesites que funcione varios equipos te va a costa dios y ayuda cambiar de BD. Yo hubiera elegido, sin ninguna duda, Firebird. Es un potente servidor de Bases de datos que ademas te permite trabajar en modo "embebido" es decir, si de momento va a trabajar en un solo equipo, con una sola Dll tienes toda la potencia y funcionalidad del motor Firebird pero sin la necesidad de instalar el servidor.

http://www.firebirdsql.org/

Por otro lado te recomiendo que procures usar modulos de datos para poner todos los componentes que utilices para acceder a base de datos. Es decir, intentar que en los formularios (que son la interfaz del usuario) no haya ninguna referencia a tal ocual sistema de BD. Esto te facilitará el trabajo ante cualqiuer cambio referido a BD que hagas en el futuro.
Bueno espero que te sirvan de ayuda mis comentarios.
Saludos.
Responder Con Cita
  #4  
Antiguo 17-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 20
Delphitest Va por buen camino
Gracias a los dos por vuestra ayuda.

Buena idea eso de los modulos, es lo que mas o menos estoy buscando y seguro que me resulta util para este programa, asi no indico en cada form la base de datos y tabla con la que voy a trabajar.

Repasaré este código Lepe y seguro que saco algo en claro.


Por otro lado Kalimero, esto que dices del Firebird creo que tienes toda la razón del mundo, varias personas me lo han comentado desde el primer momento pero no he sabido por donde empezar con ello.

Aunque parte de lo hecho se vaya al traste quizás sea mejor que me encamine de nuevo usando ese motor para evitar posibles problemas mas adelante y sea peor que intentarlo ahora.

Mi problema va a ser el de siempre. Me he descargado la version 1.5... del link que me has indicado, lo he instalado en su opción de superserver y resto de herramientas, no se si es la que necesito o no, ahora viene lo bueno. Todos los manuales que hay en la web vienen en inglés por no cambiar la costumbre y no se por donde empezar.

¿Mi base de datos de antes me sirve ahora (la puedo convertir)?

Aunque lo haya instalado no veo nada tipo el DataDesktop que me sirva para crear las tablas excepto una ventana que espera comandos.

Dentro de delphi, uso la version 7, que cambia a la hora de insertar por ejemplo BDEdit, BDSource, Table ... ¿hay que usar otras opciones supongo?

Si estaba un poco bloqueado con las busquedas esto ya supone un muro de hormigon delante de mi, espero aprender algo que me permita seguir sino tendré que regresar a lo que tenía

Un saludo
Responder Con Cita
  #5  
Antiguo 17-10-2006
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 289
Poder: 24
kalimero Va por buen camino
Bueno, no te apures poco a poco.
En primer lugar creo que es preferible que pierdas ahora un poco de tiempo cambiando a Firebird que no despues que te va a costar el doble.
Tu base de datos si que te sirve, no lo he necesitado nunca pero hay herramientas que te convierten tu base de datos Paradox, en una Firebird. En cualquier caso siempre la pudes crear desde cero.
Lo que tu te has instalado es el motor d Base de datos. Para gestionar y administrar la bases de datos necesitas una herramienta de administración. Hay muchas, y como siempre unas de pago otras opensource.
El IbExpert está muy bien. Es de pago pero tienen una version de pruebas:

http://www.ibexpert.com/

Esta otra es Gratis. La baje el otro dia y ahora mismo la estoy probando.
Se llama SqlHamer y la tienes aquí:

http://www.devrace.com/

Y aprovechando que te bajas el "SqlHammer", te bajas tambien los componentes para acceder a Firebird desde Delphi. Son los "FibPlus"

Por cierto. Mira en esta pagina ,también, por su hubiera alguna herramienta para convertir BD's Paradox en BD,s Firebird.

Saludos
Responder Con Cita
  #6  
Antiguo 17-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola denuevo Delphitest
La verdad se que hay y ya te han dicho de los diferentes tipos de motores de bases de datos, Paradox Firebird, ect, etc,etc.
La verdad y segun estoy entendiendo, estas haciendo lo mismo que hice yo, hacer un programa para tu empresa sin conoimientos de programacion.
Piensa en varias cosas:
1. Quien le dara el mantenimiento al programa---TU.
2. Conocimiento...POCO.
3. Crecera el programa una vez puesto a trabajar----TE LO ASEGURO.
4. Intenet---LLEGARAS A NECESITARLO.
5. Para cuando lo necesito---ALLER ES MUY TARDE.
6. Cuanto tiempo puedo esperar a que se resuelva un problema una vez que el programa este funcionando---LO NECESITAS YA.
Te voy a dar un consejo y se que a muchos no les va a gustar, cuando uno esta programando solo y sin casi conocimientos es bueno empezar por lo mas sencillo, ya habra tiempo de implementar otras cosas, pero al principio si tienes problemas con las tablas y ademas con la programacion caminaras muy despacio.
Mi consejo es que empieces como yo con un programa enlazado con ACCESS, podras hacer lo que necesites y te simplificara la vida enormemente.
Si quieres empezar como yo desde abajo, con gusto te enseño paso a paso ha hacer tu programa.
El mio empezo pequeño ya tiene 50 froms mas de 70 query y por lo menos 35 reportes, lo manejo en red con 8 ordenadores y lo manejo desde interner con 5 clientes, todo esto hecho con Delphi y Access.
Es solamente una opinion.
Saludos
Responder Con Cita
  #7  
Antiguo 17-10-2006
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 289
Poder: 24
kalimero Va por buen camino
Bueno Caral, efectivamente no estoy mu de acuerdo.
La sencillez no está reñida con la eficiencia. Quiero decir que trabajar con Firebird,Sql Server o cualquier otro motor de BD no es mas complicado que acces (por ejemplo). Es mas, yo diria que hasta mas sencillo. Como comenté anteriormente, es preferible perder ahora uno,dos o una semana si hace falta pensando bien y que herramientas vas a utilizar que no lanzarse a desarrollar una aplicacion que al cabo de x tiempo te va a costar muchisimo realizarle cualquier modificación.

Saludos
Responder Con Cita
  #8  
Antiguo 17-10-2006
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 23
Enan0 Va por buen camino
Cita:
Empezado por Caral
El mio empezo pequeño ya tiene 50 froms mas de 70 query y por lo menos 35 reportes, lo manejo en red con 8 ordenadores y lo manejo desde interner con 5 clientes, todo esto hecho con Delphi y Access.
Ojo con el Access porque en ese caso se hace Lento e inseguro. y aparte consume mucho espacio. y si eliminas registros porque tenes tablas temporales. cada tanto tenes que hacer un Compactar y reparar para reordenar indices y muchas veces se rompe.
Y no estoy muy seguro.. pero no se como maneja conexiones multiples. PERO... creo que mal.
Responder Con Cita
  #9  
Antiguo 17-10-2006
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
Se me hace que el pobre de Delphitest ya no sabe ni por donde empezar, todos hemos estado dando con toda la mejor intención nuestras opiniones: que si mejor con FB, que si con Access, que si esto que si lo otro...y nos olvidamos que nuestro amigo esta iniciando en esto y practicamente quiere hacer su desarrollo al estilo "hagalo usted mismo". Es como si alguien aficionado a la mecánica quisiera armar un pequeño auto tubular con un motor de VW que tiene por ahi y nosotros ya le estamos sugiriendo que arme un Ferrari!!

Finalmente la decisión de nuestro amigo Delphitest debe ser con la que el se sienta cómodo y que le permita avanzar de a poco con lo que hasta ahora conoce. ¿Que caso tiene meterlo a aprender SQL, solo para que pueda usar Firebird que es "de lo mejor" o MySQL que es "una chulada"...?? No veo el caso, mejor vayamos ayudándolo a resolver sus dudas con lo que tiene hasta ahora. Ya el mismo descubrirá cuando se sienta mas a gusto con el lenguaje y sobre todo que haya agarrado mas cancha, que es más fácil hacerlo con otras herramientas...Quien sabe, igual y lo hace con tablas paradox y muy sencillo y A EL LE FUNCIONA y su sistema RESUELVE SUS NECESIDADES. Después de todo un sistema debe resolver problemas.

Tendremos que contener un poco el entusiasmo e irnos de a poco a poco...

saludos a todos..
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #10  
Antiguo 17-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Como dije trabajo con access, mi base de datos tiene ya mas de 800m, 8 ordenedores en red, 5 clientes via internet, nunca se me ha colgado, mi programa hace automaticamnete un backup cada hora sin que nadie se de cuenta por si acaso, que os puedo decir, no hay mas que ver por el foro y vereis que pasa.
Con respecto a Sqlserver o Mysql, bueno creo que a Delphitest le interesa mas sacar adelante su negocio que ponerse a aprender no se cuantas cosas, conozco sqlserver, mysql, paradox, firebird y me quedo con lo facil access.
en tal caso si me ponen entre la espada y la pared, me quedo con MySql, conectada con zeos, ya que ado es lento para ese fin.
Bueno es cuestion de opinion, no encuentro razon alguna por que cambiarme a otro motor y simplemente doy no my opinion al azar doy my expeciencia en la practica.
Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ejecutar Query Paso a Paso??? juliopag1 SQL 0 17-06-2006 01:51:10
Novato (Paso a Paso de una consulta) enecumene Conexión con bases de datos 2 29-05-2006 20:52:19
Motor Paso a Paso jluisx C++ Builder 3 12-09-2005 16:48:07
Red Paradox paso a paso Aldo Josué Conexión con bases de datos 2 13-12-2003 13:53:37
procedure paso a paso Silver Varios 1 26-08-2003 20:24:00


La franja horaria es GMT +2. Ahora son las 16:19:02.


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