Ir al contenido


Ejemplo usando BDE


  • Por favor identifícate para responder
162 respuestas en este tema

#21 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 23 noviembre 2008 - 11:31

¡Pues claro que sí!, Con ADO lo puedes enlazar, usando los componentes ADOConnection y ADOTable.

Saludos.
  • 0

#22 Caral

Caral

    Advanced Member

  • Administrador
  • 4.261 mensajes
  • LocationCosta Rica

Escrito 23 noviembre 2008 - 11:57

Hola
Veamos el uso del ejemplo:
Tenemos una base de datos; Datos.mdb, si la abres podras ver los datos, modificarlos etc.
Tenemos un form.
1-Cuando arranca el programa te trae todos los datos.
2-Tienes un combobox, en este haces la busqueda.
La puedes hacer por cualquier campo.
3- en el edit colocas el dato a buscar y presionas el boton de busqueda.
4- Tienes un dbgrid, en este se visualizan los datos.
5- tienes un dbnavigator, con este puedes editar, borrar, recorrer, etc.
6- Hay un dbmemo, este muestra el contenido de los comentarios.
Si le das Click al dbmemo, se ampliara para ver el contenido completo, si le das doble click regresara a su tamaño original.
Cualquier duda, me dices.
Saludos


[archivo adjunto borrado por el administrador]
  • 0

#23 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 23 noviembre 2008 - 03:23

Gracias Carlos, eso esta trabajando perfecto.Solo me toco modificar el path del DB file.Eso era lo que me hacia falta, ahora puedo entender y jugar con ese codigo. :D
Un Saludo.

#24 Caral

Caral

    Advanced Member

  • Administrador
  • 4.261 mensajes
  • LocationCosta Rica

Escrito 23 noviembre 2008 - 03:24

Hola
Para evitar cambiar el paht de la base de datos yo uso un archivo ini.
Se modifica en este y ya, es mas sencillo.
Saludos
  • 0

#25 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 23 noviembre 2008 - 03:37

Pues tengo un buen material de estudio, en un campo que nunca antes entre. :)
Gracias y Un Saludo.

#26 Caral

Caral

    Advanced Member

  • Administrador
  • 4.261 mensajes
  • LocationCosta Rica

Escrito 23 noviembre 2008 - 04:13

Hola
Vamos a usar un archivo INI, descarga el que esta en el zip.
Abrelo y veras esto:

[BD]
Path="C:\Program Files\Borland\Delphi6\Projects\Datos.MDB"
[Logon]
Auto="No"
Login=""
Pass=""

El path es la dirrecion que tiene la base de datos y el Nombre de esta.
Cambias la direccion a donde tengas la base de datos y lo guardas.
Ahora podras poner la BD donde gustes (en la direccion que pusiste en el ini).
(ojo el archivo INI tiene que estar donde este el programa para que lo pueda leer)

Ponemos en el uses del form IniFiles
Quedaria asi:


delphi
  1. uses
  2.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  3.   Dialogs, StdCtrls, DBCtrls, DB, Grids, DBGrids, ExtCtrls, ADODB, IniFiles;



Ahora pondremos en el evento OnCreate del form esto:



delphi
  1. procedure TFCamas.FormCreate(Sender: TObject);
  2. Var BaseDeDatos, ConStr : String;
  3.     IniFile: TIniFile;
  4. begin
  5.     // Obtiene la ruta y el nombre de la base de datos
  6.   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Direccion.ini');
  7.   BasedeDatos := IniFile.ReadString('BD','Path','');
  8.   If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos');
  9.   ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
  10.             'Data Source='+BaseDeDatos+';'+
  11.             'Persist Security Info=False;'+
  12.             'Jet OLEDB:Database Password=admin';
  13.   ADOConnection1.ConnectionString := ConStr;
  14.   ADOConnection1.Open;
  15.   ADOQuery1.Open; // esto es lo que ya tenia
  16. end;



Listo, corre el programa y el ini buscara la bd en la direccion que le diste.
Saludos

[archivo adjunto borrado por el administrador]
  • 0

#27 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 23 noviembre 2008 - 04:44

Estaba agregando una cama mas al programa y me da este error:
Imagen Enviada
No se si estoy haciendo algo incorrecto o tengo algun conflicto a la hora de encontrar la base de datos.
Un Saludo.

#28 Caral

Caral

    Advanced Member

  • Administrador
  • 4.261 mensajes
  • LocationCosta Rica

Escrito 23 noviembre 2008 - 04:47

Hola
La tabla tiene un indice que es el numeroCama, hay que quitarlo, espera te doy otra vez el programa con los cambios.
Saludos
  • 0

#29 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 23 noviembre 2008 - 04:48

El problema lo indica en el error, estas registrando datos en un campo donde no se permite valores duplicados como campos primarios o indice unicos, verifica eso.

Saludos.
  • 0

#30 Caral

Caral

    Advanced Member

  • Administrador
  • 4.261 mensajes
  • LocationCosta Rica

Escrito 23 noviembre 2008 - 04:58

Hola
He Hecho varios cambios, entre ellos:
Puse el ini.
Quite el indice de la tabla.
Puse un boton ver todos.
Puse en el dbgrid el numero de cama, asi podras aumentarlo desde este.
Recuerda que el paht estara en el ini.
Saludos


[archivo adjunto borrado por el administrador]
  • 0

#31 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 23 noviembre 2008 - 05:08

Hola
He Hecho varios cambios, entre ellos:
Puse el ini.
Quite el indice de la tabla.
Puse un boton ver todos.
Puse en el dbgrid el numero de cama, asi podras aumentarlo desde este.
Recuerda que el paht estara en el ini.
Saludos

Si ya lo vi y cambie a la ruta correcta.Ahora esta trabajando de maravilla. :D
Despues cuando ya este familiarizado con el, le intentare hacer algunos cambios.
Un Saludo.

#32 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 23 noviembre 2008 - 05:30

Tengo una pregunta al respecto:Por ejemplo yo a esas camas le tengo que hacer un (Safety Check) y le pongo un label con la fecha de vencimiento.¿Se puede crear otro campo en la base de datos y que cada vez que comience el programa me verifique si alguna de las fechas esta vencida? Poner alguna alarma(como la fecha en color rojo)por ejemplo Chequeo realizado: 02 12 08 y si esta fecha no fue cambiada en el 02 12 09 me de una alarma.

Un Saludo.

#33 Caral

Caral

    Advanced Member

  • Administrador
  • 4.261 mensajes
  • LocationCosta Rica

Escrito 23 noviembre 2008 - 05:49

Hola
Claro que se puede.
Tienes que abrir la base de datos.
En la tabla ponle un campo fecha.
Pones un label
y pones este codigo:


delphi
  1. var fechaV: TDate;
  2. begin
  3. FechaV:= now;
  4. Label1.caption:= Adoquery1.Filebyname('fecha').Value;
  5. If FechaV.Date <= StrToDate(Label1.Caption) then
  6. Label1.Font.Color:= Clred;


Saludos


  • 0

#34 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 23 noviembre 2008 - 05:54

Hola
Claro que se puede.
Tienes que abrir la base de datos.
En la tabla ponle un campo fecha.
Pones un label
y pones este codigo:


delphi
  1. var fechaV: TDate;
  2. begin
  3. FechaV:= now;
  4. Label1.caption:= Adoquery1.Filebyname('fecha').Value;
  5. If FechaV.Date <= StrToDate(Label1.Caption) then
  6. Label1.Font.Color:= Clred;


Saludos


Gracias Carlos, dejame ver como sale eso jejejejeje.
Un Saludo.

#35 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 23 noviembre 2008 - 05:58

Ok en la base de datos pongo un campo mas Fecha y que le digo al (data Type)? Date/Time

Un Saludo.

#36 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 23 noviembre 2008 - 06:13

Una preguntita mas el codigo para el label ¿lo pongo en que evento del Label?
Un Saludo.

#37 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 23 noviembre 2008 - 06:32

Aqui me da un error:


delphi
  1. Label3.Caption:= Adoquery1.Filebyname('fecha').Value;



Que no esta declarado "Filebyname"

Un Saludo.

#38 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 23 noviembre 2008 - 06:41

Ok esto esta resuelto ya:


delphi
  1. Label3.Caption:= Adoquery1.FieldByName('fecha').Value;



Un Saludo.

#39 Caral

Caral

    Advanced Member

  • Administrador
  • 4.261 mensajes
  • LocationCosta Rica

Escrito 23 noviembre 2008 - 06:48

Hola
Me gusta mas buscar las camas que se vencieron por fecha.
Esto se hace directamnete desde el combobox.
Cosas nuevas:
Se puso la opcion de busqueda por cama vencida (cambia el color).
Se puso la opcion de actualizar la fecha.
Se puso el campo fecha.
Saludos


[archivo adjunto borrado por el administrador]
  • 0

#40 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 23 noviembre 2008 - 06:57

Ok dejame ver eso, la verdad me tiene medio loco ese codigo y no me copilaba. :D
Un Saludo.