Club Delphi  
    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 03-02-2025
SERVICOMSO SERVICOMSO is offline
Registrado
 
Registrado: feb 2025
Posts: 3
Poder: 0
SERVICOMSO Va por buen camino
Grabar El Mismo Registro Con Fechas Diferente

Saludos a todos y todas...
Favor orientarme, tengo un registro con los campos: codigo, nombre, apellidos, cedula, dirección, fecha_curso, entre otros campos, mi pregunta es como logro grabar el mismo registro con fechas diferentes en el mismo formulario, uso SQLServer y Delphi. Cuando busco una persona por el código me aparece en el formulario con todos sus datos, pero necesito grabar esa misma persona con todos su datos iguales, pero con otra fecha, para no tener que digitar todos los datos otra vez. Cómo lo hago?, no soy avanzado, manejo algunas cosas.
Responder Con Cita
  #2  
Antiguo 04-02-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.874
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hola y bienvenido a los foros.
Te recomiendo que revises la Guía de estilo de los foros.


En cuanto a tu pregunta te recomendaría que fueras un poco más concreto y facilitaras un poco más de información de cómo estás haciendo las cosas.
¿Porqué digo esto? Para evitar pérdidas de tiempo de quien te contesta y tuyas si la solución no va en el camino que estás programando.


Se pueden insertar registros en una Base de Datos:
a) Utilizando código (Append, Post,...)
b) Utilizando componentes visuales (DBEdit o DBGrid, DbNavigator,...)

Dependiendo de cómo lo estés haciendo la solución puede ir en un camino o en otro.
También es bueno para que la gente te ayude, que muestres un poco del código que estás utilizando. De esa forma podrán darte una solución más enfocada a lo que necesitas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 04-02-2025
SERVICOMSO SERVICOMSO is offline
Registrado
 
Registrado: feb 2025
Posts: 3
Poder: 0
SERVICOMSO Va por buen camino
Disculpas, a ver si me explico mejor:
Tengo un formulario creado donde se registro los siguientes datos:
Código, Nombre, Apellidos, Teléfono, Cédula, Email, Fecha_Curso
Al concluir de registrar grabo los datos con DBNavigator e igual elimino, avanzo, retrocedo, etc. Por igual cuando quiero buscar un estudiante en específico y sus datos en el mismo formulario, lo hago por el campo Código el cual es numérico, para realizar la búsqueda digito el siguiente código en el evento OnKeyPress del Edit1, todo en el mismo formulario, el cual me funciona bien, con esa parte no tengo problemas.

Código Delphi [-]
procedure TFormRegistroEstudiantes.Edit1KeyPress(Sender: TObject;
  var Key: Char);
begin
if key = #13 then
  begin
    AdoEstudiantes.Open;
    AdoEstudiantes.Filter := ' numero =' + Edit1.Text;
    AdoEstudiantes.Filtered := Truee;
If AdoEstudiantes.RECORDCOUNT = 0 THEN
   Showmessage (' Ese nùmero no existe' )
   ELSE
edit1.SetFocus;
    end;

end;

El problema lo tengo cuando al buscar los datos de un estudiante y quiero registrar los mismos datos, pero con otra fecha, sin que se pierda la fecha que ya está grabada, o sea, la fecha anterior, porque estos realizan cursos cada cierto tiempo y la fecha cambia, lo que quiero es realizar mi búsqueda del mismo estudiante, colocarle la fecha que le corresponda, sin la necesidad de digitar otra vez los datos personales, pues el único campo que varía cada año es el campo fecha, al final tendré las diferentes fechas en que el mismo estudiante realizó un curso, lo que sucede es que todo lo estoy haciendo en un mismo formulario, siempre son los mismos estudiantes. No sé de otra forma, no tengo conocimientos avanzados, pero soy creativo y me gusta.

Formularios Delphi, conectados a base de datos Sql.

Gracias y disculpas.

Última edición por Neftali [Germán.Estévez] fecha: 05-02-2025 a las 13:00:22. Razón: Añadir TAGs al código Delphi
Responder Con Cita
  #4  
Antiguo 05-02-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.874
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Por favor, utiliza TAGs cuando añadas código delphi.

Volviendo a tu pregunta...
En tu formulario cuando haces la búsqueda, el registro en el que te has posicionado (y que se ve en pantalla) apunta a un registro ya creado de un alumno (con los datos guardados en Base de Datos).
Si cambias la fecha y guardas, se va a modificar el registro existente (no es lo que quieres).
No puedes usar los componentes visuales para lo que necesitas (INSERTAR UNO NUEVO), porque están apuntando al registro existente (BUSQUEDA).

Una forma de conseguir lo que necesitas es, hacer la nueva inserción por código, por ejemplo un botón que diga [GENERAR NUEVO REGISTRO], manteniendo el registro que tienes en pantalla para aprovechar los datos que tienes y no tener que volver a escribirlos.

Ese botón debería:
1) Pedir la nueva fecha (porque es el dato que quieres cambiar
2) Coger el resto de datos del estudiante del registro que tienes n pantalla (para no tener que repetirlos)
3) Generar un nuevo registro e insertarlo.

El código del botón sería algo así:

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
var
  sDate:string;
  cDate:TDate;
begin
  // leemos la fecha como cadena
  sDate := InputBox('Fecha del curso', 'Introduzca kla nueva fecha para el curso:', DateToStr(Date));
  // Intentamos convertirla
  cDate := StrToDateDef(sDate, now);
  // realizamos la inserción del nuevo registro
  tablaEstudiantes.Open;
  tablaEstudiantes.Append;
  // rellenar la fecha y el resto de campos (estos de lo que hay en pantalla)
  tablaEstudiantes.FieldByName('fecha_curso').AsDate := cDate;
  tablaEstudiantes.FieldByName('Nombre').AsString := AdoEstudiantes.FieldByName('Nombre').AsString;
  tablaEstudiantes.FieldByName('Apellidos').AsString := AdoEstudiantes.FieldByName('Apellidos').AsString;
  ...
  // insertar el nuevo registro
  tablaEstudiantes.Post;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 08-02-2025
SERVICOMSO SERVICOMSO is offline
Registrado
 
Registrado: feb 2025
Posts: 3
Poder: 0
SERVICOMSO Va por buen camino
Thumbs up Grabar el mismo registro con fecha diferente

Saludos otra vez, veo que me comprendieron y me explique mejor, si es eso lo que quiero, son los mismos estudiantes que realizan el mismo curso en diferentes fechas,por lo tanto el dato que va a variar es la fecha, pero sin que se pierdan las fechas que se van grabando y no tener que escribir otra veza los mismos datos de los estudiantes.

Practicare el código que me enviaron hasta resolver esa situación.

Gracias por la atención.
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
Grabar registros en 2 tablas al mismo tiempo NISOTO Firebird e Interbase 1 24-04-2012 09:07:38
Error al grabar un registro en IB Coichi Kake Conexión con bases de datos 2 17-08-2011 14:18:44
Grabar fechas golf2008 MySQL 3 21-08-2008 17:23:57
Usando el mismo Registro AGAG4 SQL 0 17-08-2004 20:33:42
repetir el mismo registro empty Impresión 3 13-04-2004 16:54:19


La franja horaria es GMT +2. Ahora son las 14:11:40.


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