Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 17-09-2010
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Hola Eros.

Vigila con lo de compactar y cambiar las ID ya que si este campo se usa para relacionar tablas, vas a perder toda relacion que tengas y no te van a concordar los datos.

Si realmente quieres tener siempre el numero de clientes al dia, tienes que poner otro campo clave para futuras relaciones de tablas.

Es decir IdCliente como autoincremetal y seguido un Codigo Cliente que NO PUEDE VARIAR NUNCA.

Espero te sirva

Josep
Responder Con Cita
  #22  
Antiguo 17-09-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Jafera no tengo las tablas relacionadas... pero gracias por la apreciación.

Casimiro.... el doble frenado acaba de fallar :S
Responder Con Cita
  #23  
Antiguo 17-09-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Er0s Ver Mensaje
Jafera no tengo las tablas relacionadas... pero gracias por la apreciación.
Una gran fuente de problemas

Cita:
Empezado por Er0s
Casimiro.... el doble frenado acaba de fallar :S
No me extraña, la verdad
Responder Con Cita
  #24  
Antiguo 17-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Las modificaciones las hice en un rato, sabia que tendrian algunos inconvenientes pero no me preocuparon por ser muy sencillos de solucionar.
Si te apetece solucionamos los problemas de una vez por todas para que el programa quede bien.
Por cierto: Lo del cambio de los nombres de los campos es por que para sql no caminan bien como los tenias.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #25  
Antiguo 18-09-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Si te apetece solucionamos los problemas de una vez por todas para que el programa quede bien.

Ok .... por mi no hay problema. Hago copia y borro código para empezar de 0.

Cita:
Empezado por Caral Ver Mensaje
Por cierto: Lo del cambio de los nombres de los campos es por que para sql no caminan bien como los tenias.
Sigo con BD de access, en SQL no he trabajado nunca, por ahora.
Responder Con Cita
  #26  
Antiguo 18-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bien:
Que quieres hacer?
Que Quieres que modifiquemos? ( por mi todo esta bien).
Dime que hacemos paso a paso y le damos a esto.
Saludos
PD: Sql es el lenguaje para la BD, independientemente de access.
__________________
Siempre Novato
Responder Con Cita
  #27  
Antiguo 18-09-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Casimiro... como voy a empezar un segundo diseño del programa, voy aprobar a diseñar de nuevo la BD relacionando las tablas. a ver si chapo la fuente de problemas.
Responder Con Cita
  #28  
Antiguo 18-09-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Bien:
Que quieres hacer?
Que Quieres que modifiquemos? ( por mi todo esta bien).
Dime que hacemos paso a paso y le damos a esto.
Saludos
PD: Sql es el lenguaje para la BD, independientemente de access.
Pues si te parece rediseño la BD relacionando las tablas y me das o me dais vuestra opinión?
Responder Con Cita
  #29  
Antiguo 18-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me parece algo apresurado hacer una relacion de las tablas ya que lo que tienes son solamente 3 y por ningun lado veo una necesidad de relacion.
Tal vez cuando necesites hacer algun reporte entonces el mismo access te pedira la relacion, de ser necesaria.
Access es un archivo, no una bd de verdad, no amerita hacer cosas innecesariamente.
Es mi opinion.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #30  
Antiguo 18-09-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Que me dices de los nombres de los campos... me recomendaste cambiarlos

Dame un ejemplo de como lo harías y porque plz
Responder Con Cita
  #31  
Antiguo 18-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Los nombres de los campos los UNI osea:
Tu campo = CLiente ID
El mio = ClienteID.
Como ves, simplemente juntas las palabras; Por que?, por que al hacer una sentencia sql esta ve el contenido de los datos como string, palabra por palabra, en otra ocasion podriamos ampliar el por que, pero estoy seguro que empezando con sql tu mismo te darias cuenta de la razon.

Para mi es mas importante en este proceso saber:
1- Que quieres que haga el programa.?
2- Para que va a servir, que trabajo hara?.
3- Que apariencia quieres, la actual?.

Con estos tres puntos empezaríamos y vamos dandole forma.
Es un programa muy sencillo y pequeño, pero lo que me interesa es que entiendas el por que de cada cosa, no simplemente hacerlo.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #32  
Antiguo 18-09-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Los nombres de los campos siempre los he puesto como una sola palabra, esta ha sido la primera vez que las he hecho separadas...de aqui en adelante todo junto.

Cita:
Empezado por Caral Ver Mensaje

Para mi es mas importante en este proceso saber:
1- Que quieres que haga el programa.?
2- Para que va a servir, que trabajo hara?.
3- Que apariencia quieres, la actual?.
Como tu bien dices el programa es muy sencillo.

1 y 2. El programa es para hacer un estudio de la trazabilidad de la recogida de la aceituna. Desde los clientes que la recolectan hasta la exportación, pasando por los depósitos y la composición química de los mismos para su posterior envase.
De momento quiero almacenar los Clientes que nos entregan las aceitunas, cuantos kg de aceituna, de que calidad es la aceituna 1ª,2ª o 3ª cuantos kilos de cada calidad entrega y a que depósitos irá cada clase, entre otros datos de interés.

3. Quiero mantener la misma apariencia, mas que nada por su sencillez de manejo, quiero complicarle la vida lo menos posible al que se va a dedicar a meter datos.
Responder Con Cita
  #33  
Antiguo 18-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Te parece si abrimos un hilo nuevo para empezar con el programa paso a paso?.
De ser asi puedes abrirlo, en este mismo foro con el nombre que gustes, ojala alusivo al programa.
O me dices y lo abro yo.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #34  
Antiguo 18-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
De momento estoy haciendo algunos cambios en las tablas, en las imágenes que se presentan en los botones y otros.
Voy a dejar el programa funcionando con los cambios que me parecen lógicos, de ahí en adelante ya dirás que es lo que necesitas.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #35  
Antiguo 19-09-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Día Largo.......

De la apariencia cambiarias algo?
Responder Con Cita
  #36  
Antiguo 19-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Los cambios:
1- El archivo ini.
Este es un archivo con el nombre BD que esta en la carpeta, ahi solamente se cambia la ruta en la que la BD va a estar y se guarda.
Con esto la BD podra estar en donde quieras que el programa leera el archivo y buscara la bd en esa ruta.
2- Los botones ya muestran las imagenes mejor.
3- Todos los botones funcionan correctamente.
4- El boton de buscar:
Este boton habilita dos opciones: buscar por ID o por nombre.
Con solo cambiar el nombre o id filtrara la busqueda.

Todo el programa funciona.
Crea un nuevo cliente, modifica, elimina, busca, acepta, cancela.

Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 20-09-2010 a las 20:48:49.
Responder Con Cita
  #37  
Antiguo 20-09-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Caral ..... para la BD. Y si esa carpeta o ruta no existe en el PC? a mi no me la encuentra y tengo que decirle donde esta. No seria mejor que en el evento ONcreate capturásemos la ubicación del exe y le pasemos al datamodule donde está?

Ya tengo todo el programa ordenado y rulando casi a la perfección, el único fallo es el de siempre, cuando abro la ventana clientes y doy a nuevo me saca los datos del anterior cliente, cancelo, nuevo y ya no vuelve a fallar a no ser que cierre la ventana clientes y la vuelva a abrir. Es decir que el fallo solo ocurre la primera vez que le doy a Nuevo después de abrir la ventana Clientes.

Puede ser que al sacar la ventana Clientes y crear un cliente nuevo la tabla no estubiese abierta? voy a probarlo
Responder Con Cita
  #38  
Antiguo 20-09-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Esto ... ejem..... como capturo la ruta del exe?
Responder Con Cita
  #39  
Antiguo 20-09-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Mas datos...

Esa primera vez que se abre la ventana de Clientes y le doy por primera vez a "Nuevo Cliente" en el DBgrid aparece la nueva linea para dicho cliente y cuando pulso en los DBedits para empezar a meter datos y aparecen los datos del ultimo cliente, en el DBgrid se booraa la linea blanca y se pasa al ultimo cliente anteriormente añadido.
Responder Con Cita
  #40  
Antiguo 20-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Si quieres eliminar el archivo ini (que para mi es un error) y quieres colocar la BD en la misma carpeta del programa, entonces cambias en el datamodule, de esto:
Código Delphi [-]
procedure TDataModule1.DataModuleCreate(Sender: TObject);
Var BaseDeDatos, ConStr : String;
    IniFile: TIniFile;
begin
   // Obtiene la ruta y el nombre de la base de datos
   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'BD.ini');
   BasedeDatos := IniFile.ReadString('BD','Path','');
   If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos');
   ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
             'Data Source='+BaseDeDatos+';'+
             'Persist Security Info=False;'+
             'Jet OLEDB: Database Password=admin';
   AC1.ConnectionString := ConStr;
   AC1.Open;

end;

A esto:
Código Delphi [-]
procedure TDataModule1.DataModuleCreate(Sender: TObject);
Var 
BaseDeDatos, ConStr : String;
begin
   BaseDeDatos := ExtractFilePath(Application.ExeName)+'Datos.MDB';
   If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos');
   ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
             'Data Source='+BaseDeDatos+';'+
             'Persist Security Info=False;'+
             'Jet OLEDB: Database Password=admin';
   AC1.ConnectionString := ConStr;
   AC1.Open;

end;

El dia que quieras colocar la BD en red, volverás al INI.
Saludos
__________________
Siempre Novato
Responder Con Cita
Respuesta



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
ULTIMA HORA: compilador de linea de comandos disponible. Epachsoft Noticias 0 28-09-2006 00:02:55
Eliminar la ultima linea de un Memo MRSAM Varios 2 18-10-2005 21:02:37
QRShape en la ultima línea!!! CarmaZone Impresión 4 19-07-2005 17:09:50
TRxRichEdit. Ultima linea sin dejar el foco en él. jorodgar Varios 1 25-05-2005 11:59:22
Leer ultima linea de un archivo ??? chelejuan Varios 3 04-11-2004 16:53:39


La franja horaria es GMT +2. Ahora son las 23:10:51.


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
Copyright 1996-2007 Club Delphi