Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   como volver a traer datos de un stringgrid? (https://www.clubdelphi.com/foros/showthread.php?t=62277)

Caral 16-12-2008 03:04:27

Hola
Bueno ya esta.
En el StringGrid se ven los turnos, si se cambia la fecha, estos se visualizan segun esta.
Cuando se hace un nuevo turno hay un boton donde se revisa primero si existe, hay que llenar los datos, luego se presiona el boton, hace una comparacion y si no esta, envia un mensaje.
Saludos
PD: Me canse.:D:D

TURBOIGOR 16-12-2008 03:20:37

MIL GRACIAS :)MIL GRACIAS:)MIL GRACIAS:)

Ahora lo pruebo y te comento :o

TURBOIGOR 16-12-2008 03:36:11

cuando se activa el formulario aparece en la celda (0,0) uno d los turnos, dice Maria del Lujan/corte y deberia decir Horarios/Personal...
tambien cuando se activa aparece la fecha de hoy 16 pero m esta mostrando los turnos del 15...

y m sigue tirando el error q t envie antes

te vuelvo a agradecer todo lo q estas haciendo...perdona tantas molestiass

Caral 16-12-2008 13:47:11

Hola
1-A mi me muestra (Horarios/Personal) en esa celda, no se por que a ti no.
2-No me sigue dando el error.
3-Para que se actualice el stringgrid hay que actualizar la sentencia sql.
Es exacta a la que uso en el datetimepicker.
Para que la veas asi quedaria el evento Onshow del form Turnos:
Código Delphi [-]

procedure TTurnos.FormShow(Sender: TObject);
begin
with StringGrid1 do
begin
//Título de las Filas
Cells[0, 0] := 'Horario/Profesionales';
Cells[0, 1] := '09:00';
Cells[0, 2] := '09:30';
Cells[0, 3] := '10:00';
Cells[0, 4] := '10:30';
Cells[0, 5] := '11:00';
Cells[0, 6] := '11:30';
Cells[0, 7] := '12:00';
Cells[0, 8] := '12:30';
Cells[0, 9] := '13:00';
Cells[0, 10] := '13:30';
Cells[0, 11] := '14:00';
Cells[0, 12] := '14:30';
Cells[0, 13] := '15:00';
Cells[0, 14] := '15:30';
Cells[0, 15] := '16:00';
Cells[0, 16] := '16:30';
Cells[0, 17] := '17:00';
Cells[0, 18] := '17:30';
Cells[0, 19] := '18:00';
Cells[0, 20] := '18:30';
Cells[0, 21] := '19:00';
Cells[0, 22] := '19:30';


//Titulo de las Columnas
consulta:= 'Select [Apellido_emp], [Nombre_emp] from Personal';
adoquery1.Close;
adoquery1.SQL.Text := consulta;
adoquery1.Open;

i:= 2;
datasource1.DataSet.First;

while not datasource1.DataSet.Eof do
begin
stringgrid1.ColCount := i;
stringgrid1.Cells[(i - 1),0]:= datasource1.DataSet.FieldByName('Apellido_emp').AsString + ' '+ datasource1.DataSet.FieldByName('Nombre_emp').AsString;

inc(i);
datasource1.DataSet.Next;
end;


adoquery2.Close;
adoquery2.SQL.Text := 'Select Nombre, Legajo, Servicio, Pos_col, Pos_fila from Turnos Where Fecha_turno = :Fec';
adoquery2.Parameters[0].Value:= DateToStr(DateTimePicker1.Date);
adoquery2.Open;

while not datasource2.DataSet.Eof do
begin
a:= datasource2.DataSet.FieldByName('Pos_fila').AsInteger;
b:= datasource2.DataSet.FieldByName('Pos_col').AsInteger;
stringgrid1.Cells[(b),(a)]:= datasource2.DataSet.FieldByName('Nombre').AsString + '//'+ datasource2.DataSet.FieldByName('Servicio').AsString;

inc(a);
inc(b);
datasource2.DataSet.Next;

adoquery1.Close;
end;
end;
end;
Revisa el codigo y veras la diferencia.
Es bueno que te empapes del codigo.
Saludos

TURBOIGOR 16-12-2008 14:03:29

Hola Caral , te contesta el papa , porque ella se fue a la Universidad a presentar una carpeta muy gorda con toda la info de este programa , en cuanto venga seguramamente estara probando y contestandote.-

Gracias

TURBOIGOR 16-12-2008 15:07:18

Hola caral la carpeta del sistema esta aprobadaa, el 23 rindo el final presentando el programa funcionando.

t molesto con una ultima cosita...el error ese de criterios m lo sigue mostrando cuando asigno un turno al stringgrid y luego apreto el boton de modificar turnos por fecha

Luego si abro modificar pone la fecha entre ##

t subo los errores aqui:

http://www.4shared.com/file/76225327...577/error.html

Caral 16-12-2008 18:18:01

Hola
Ya esta la tarea echa, espero por lo menos una buena calificación.:D
El famoso problema que te atormentaba ya esta listo, era un asunto de dar formato a la fecha.
Cambios:
1- Ya el error no sale.
2- Cuando se presiona en algún turno, si este tiene algo asignado sale un mensaje antes de abrir la pantalla de Nuevo Turno.
3- Los turnos se muestran con la fecha exacta, tanto cuando se abre el programa como cuando se cambia la fecha en el datetimepicker.
He probado todo, a mi ya no me da ningún error, funciona bien.:)
Te aconsejo que veas el código, lo mastiques y trates de entenderlo, no te voy a hacer la tarea siempre, así no aprenderás, aunque a mi me sirven estos retos, así aprendo, algún día tengo que salir de Novato.:D
Saludos

TURBOIGOR 16-12-2008 20:20:46

decime a dond tengo q ir para calificart y mientras pruebo el programa

Caral 16-12-2008 22:51:50

Hola
Adelantando un poco el proyecto pensé en que era necesario un loguin, ademas de poder administrar tanto a los clientes como a los empleados.
Por cierto, una pantalla de entrada tipo menú.
Bueno, aquí practicando para mi graduación.:D
El programa ahora entra al loguin.
usuario caral
clave caral
Esto esta en la tabla usuarios, puedes añadir o quitar usuarios, ya sabes:).
Veo que tienes otras tablas, esto va a ser grande.:D
Saludos

egostar 16-12-2008 22:53:31

Cita:

Empezado por Caral (Mensaje 331220)
Hola
Adelantando un poco el proyecto pensé en que era necesario un loguin, ademas de poder administrar tanto a los clientes como a los empleados.
Por cierto, una pantalla de entrada tipo menú.
Bueno, aquí practicando para mi graduación.:D
El programa ahora entra al loguin.
usuario caral
clave caral
Esto esta en la tabla usuarios, puedes añadir o quitar usuarios, ya sabes:).
Veo que tienes otras tablas, esto va a ser grande.:D
Saludos

Login amigo Login :D:D:D

Creo que no te vas a graduar si no apruebas ortografía jejejeje

Salud OS

Caral 16-12-2008 22:56:54

Hola
:D:D:D:D
Pero yo siempre me logueo, no logeo.:D:D:D
Esto del spanglish.:D:D
Saludos.
PD: Bueno, te acepto 1 puntico menos.:D

egostar 16-12-2008 22:58:36

Cita:

Empezado por Caral (Mensaje 331222)
Hola
:D:D:D:D
Pero yo siempre me logueo, no logeo.:D
Esto del spanglish.:D
Saludos.
PD: Bueno, te acepto 1 puntico menos.:D

Nada amigo, usted ya es un graduado con honores :)

Se le perdona una pequeña falla :D

Salud OS

TURBOIGOR 17-12-2008 16:08:21

caraal

esta muy bueno..la verdad que el programa quedo barbaro!!espero ahora agregando estas pantallas poder recibirm...ya no sos novata sos todo un experto!!! te agradezco todo lo q hicist!!
la de la foto es tu hija?? felicitaciones!!!

saludoss

TURBOIGOR 18-12-2008 17:47:17

caral probando el programa m di cuenta q si cambio de horario...no m mueve el turno en el stringgrid :confused: podrias ayudarm con eso por favor??

egostar 18-12-2008 18:00:38

Cita:

Empezado por TURBOIGOR (Mensaje 331456)
caral probando el programa m di cuenta q si cambio de horario...no m mueve el turno en el stringgrid :confused: podrias ayudarm con eso por favor??

Hola,

Eso de turno, es que cambias de fecha?

Si es así porque no analizas el codigo que muestra la información en el grid.

Como un tip busca sobre el evento OnChange del TDateTimePicker.

No sería mucho mejor que aprendieras por ti misma(o)????

Salud OS

Caral 18-12-2008 19:04:41

Hola
Yo tampoco entiendo, que es lo que esta fallando.
Los as analizado bien?:D:D
Saludos

egostar 18-12-2008 19:40:25

Cita:

Empezado por Caral (Mensaje 331469)
Hola
Yo tampoco entiendo, que es lo que esta fallando.
Los as analizado bien?:D:D
Saludos

Ah que mi maistro, gracias por el golpe bajo :(

Y tú ya lo has analizado bien ???? :D:D:D

Salud OS

Caral 18-12-2008 19:42:00

Hola
:D:D:D:D
Saludos

TURBOIGOR 18-12-2008 20:18:58

al pulsar Modificar Turno por fecha se abre su respectiva ventana.Cuando modifico el horario d un turno, no se cambia en el stringgrid de acuerdo al turno q estoy modificando.Ej: Si habia un turno a las 10 y lo modifico a las 11, lo cambia en la base de datos pero no lo mueve en el stringgrid.

Caral 18-12-2008 20:23:09

Hola
Ya lo vi.
Es por que a la hora de traer los datos e incorporarlos al string se usan los datos de las columnas, no de la hora.
Hay que hacer un sistema que modifique la columna cunado modifique la hora.
Saludos

Caral 18-12-2008 21:45:36

Hola
Bueno, esa parte ya esta, cambias la hora y cambia en el strng.
Se me ocurre:
Que pasa si quieres cambiar tambien de peluquero, asignarle ese trabajo a otro como dices tu Legajo?.
Se puede dar esta circunstancia?.
Saludos

TURBOIGOR 18-12-2008 21:58:40

lo principal q necesitaba era cambiar de fecha y hora.. por legajo no te hagas problema...el usuario tendra q borrar el turno y asignarlo de nuevo. Entonces tienes para el cambio de horario??:o

Caral 18-12-2008 22:45:31

Hola
Llegaste tarde, ya se pueden cambiar tanto las horas como los empleados y se presentan bien en el string.
Cambios:
1-En la tabla Personal el legajo es autoincremental.
2-Hay un campo activo, esto es por si el empleado ya no trabaja mas.
3-Cuando se modifican los turnos primero se presiona modificar, luego se hacen los cambios.
4-Hay 3 combobox nuevos en modificar turnos.
1 de la hora,
2 el legajo, este carga los que estan en la tabla y estan activos
3 el nombre del empleado, este carga los que estan en la tabla y estan activos
Todos se cargan solos.
5-Cuando se hacen los cambios (recuerda presionar primero el boton modificar) se cierra este form y se presiona el nuevo boton, Actualizar del formulario turnos.
Hay varios datos que seguro por ser pruebas no coinciden, es solo de ir modificandolos y se veran bien.
Bueno, ahi vas con este proyecto.:D
Saludos

TURBOIGOR 19-12-2008 00:39:16

Gracias esta todo bien!! funciona barbaro!! espero no molestart mas ;)

Caral 19-12-2008 00:41:17

Hola
No es molestia, yo aprendo mucho de estas cosas.
Estaba como tu, no sabia como hacerlo, asi que también aprendí algo nuevo.
Me gustaria que tu tambien aprendas.
Saludos

Caral 19-12-2008 02:40:21

Hola
Nuevos cambios:
Cuando se presiona en los botones para buscar cliente, tanto en modificar turno como en nuevo turno, trae los datos del cliente que busco y los coloca en su respectivo form.
Otro cambio:
En el form revision, esta se hace no solo por medio de la fecha.
Me parecio que si se hacia una revision por legajo, nombre empleado, etc, deberia de ser con una fecha especifica, asi que ahora seran buscado tambien por la fecha especifica.
Saludos


La franja horaria es GMT +2. Ahora son las 16:51:31.

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