Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-02-2013
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
No entiendo bien.
Lo que pretendes es insertar un numero en la tabla 1, dependiendo de lo que exista ?.
Si existe entonces sumarle otro numero o que ?.
La verdad no entiendo.
Seria bueno saber con que base de datos trabajas.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #2  
Antiguo 18-02-2013
Daniel10 Daniel10 is offline
Miembro
NULL
 
Registrado: abr 2012
Posts: 24
Poder: 0
Daniel10 Va por buen camino
Hola y gracias por responder..

Tratare de explicar un poco mejor..

Tabla1, contiene datos particulares individuales de personas, todos campos tipo string
.nombreApellido
.identificacion
.edad
.fehcaNacio
.trabajo
.Comentaro
.Numero_Op_1

Donde el campo numero_Op_1, creo que seria de tipo string, yo almacenaría números de tramites, solicitudes o operación que realiza esa persona.

en la tabla2, registraría las operaciones/tramites/solicitudes que se realiza

tabla2
. Numero
. nombreApellido
. Observacion
. Comentaro

Donde el campo numero seria tipo integer, cada vez que se realiza un registro en esta tabla se incrementa en uno este campo, siempre apuntando al nuevo registro a introducir

ASi seria, viene JUAN SOLIS, el cual ya esta registrado en tabla1.
Y realiza un tramite, entonces se lo registra en tabla2, se completaría los datos del formulario_Tabla2 que pide, en este caso puse algunos, pero son varios mas.

Si la tabla2 esta vacia, seria por que nunca se registro ningun tramite, entonces el valor seria 1 (campo numero=1) se completaria con los datos que pide y se guardaría estos datos en tabla2.
Y a la vez, se guardaría este numero de operación o tramite en la tabla1, se buscaria si existe esa persona en esa tabla, y si existe se guardaría ese numero en el campo correspondiente a numero operación.

Después vuelve a registrarse JUAN SOLIS, se registra otro operacion/tramite se completa los datos del formulario_tabla2 pide, el campo NUMER0 es automático, me muestra el numero que sigue al que ya esta registrado, en esta caso seria 2 (campo numero=2) y luego rellenar todo los datos, se guarda.

Y ahi.. me deberia hacer lo mismo, buscar ese nombre d ela persona en la tabla1, si existe ese nombre entonces deberia agregar (SOLO AGREGAR) este numero al campo que corresponda los numeros de operacion, seria el campo Numero_Op_1.

La tabla 2 quedaría asi

Numero nombreApellido Observacion Comentaro
01 JUAN SOLIS sin observación Solicita el permiso por primera vez
02 JUAN SOLIS segunda solicitud la solicitud anterior fue extraviada


en la tabal1, en el campo de numero_Op_1 del registro de esta persona quedaria asi


tabla1
nombreApellido edad identificacion numero_Op_1 fechanacio comentario ....
JUAN SOLIS 55 10.025.545 01, 02 .... ...



Si viene PEDRO ARECO realiza un tramite, le correspondería el numero de tramite 3, y en tabla 1 se pone este 3 en el campo correspondiente,

si vuelve JUAN SOLIS para hacer otro trmaite, le tocaría el numero 4, se completa todo el formulario_tabla2 se guarda y se guarda este numero 4 en el registro de JUAN SOLIS en el campo numeor_operacion, y ahora quedaria el registro de juan solis asi

tabla2 (tabla de registro operaciones)
Numero nombreApellido Observacion Comentaro
01 JUAN SOLIS sin observacion Solicita el permiso por primera vez
02 JUAN SOLIS segunda solicitud la solicitud anterior fue extraviada
03 PEDRO ARECO renovar solicitud nnn
04 JUAN SOLIS segundo reclamo reclama por segunda ves, la primera ves extraviaron los papeles


tabla1
nombreApellido edad identificacion numero_Op_1 fechanacio comentario ....
JUAN SOLIS 55 10.025.545 01, 02, 04 ....


La base datos la ice con acces 2000

ais me deria funcionar, pero lo que obtengo es que me sobrescriba el nuevo dato, borrando el contenido que es tenia.
Lo que quiero es solo agregarlo, separado por una coma, o un espacio.

ASi de esta manera, cuadno en otro formulario de búsqueda de personas, se busca a JUAN SOLIS, se encuentra y tendré en un edit, en un listbox o en otra cosa, todas las operaciones y tramites que esta persona aya realizado y con la posibilidad de acer un click en el numero y poder ver los damas datos de ese numero de operación


---------------------------

* DataBase (aliasname: Tabla1, DataBaseName: DBnombre)
* Query (name:: Query1, DataBaseName: DBnombre, SQL Select * from Tabla1?
* Datasource2 (DataSet: Query1)







Con esto busco en tabla1, si existe esa persona (campo nombreApellido) en edit1.text esta el nombre de la persona que realiza el tramite.
Si existe esa persona en la tabla1 entonces le agrego lo que hay en el edit3.text en el campo numer (campo numer es de la tabla 1 y corresponde al campo de numeros de operacion, aca deberia ir concatenando)


Código Delphi [-]
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('Update Tabla1');
query1.SQL.Add('set Numer = ' + QuotedStr(Edit3.text)); // tiene un numero, que seria un numero de tramite que realizo la persona
query1.SQL.Add('where nombreApellido = ' + QuotedStr(Edit1.text)); // en edit1 hay un nombre
query1.ExecSQL;
Responder Con Cita
  #3  
Antiguo 18-02-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 23
ozsWizzard Va por buen camino
A lo mejor estoy simplificando demasiado lo que quieres pero según he entendido en el último mensaje, bastaría con poner esto en base a lo que has puesto en el primer mensaje

Código Delphi [-]
   
  //Me falta ver que método de busqueda debo poner para buscar el nombre de la persona, y //agregar el numero de operación en ese registro
  //Aquí lo retomo, suponiendo que ADOTable1 tenga la select de Table 1 
   
  ADOTable1.Locate('nombreApellido', VarArrayOf([ ADOTable2.FieldByName('nombrePersona_2').AsString]);
  ADOTable1.Edit;
  ADOTable1.FieldByName('numero_Op_1').AsString := ADOTable1.FieldByName('numero_Op_1').AsString + Edit1.Text;
  ADOTable1.Post;

Según el último bastaría con



Código Delphi [-]
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('Update Tabla1');
query1.SQL.Add('set Numer = Numer + ' + QuotedStr(Edit3.text)); // tiene un numero, que seria un numero de tramite que realizo la persona
query1.SQL.Add('where nombreApellido = ' + QuotedStr(Edit1.text)); // en edit1 hay un nombre
query1.ExecSQL;

En Access creo que el signo para concatenar es +.


Lo dicho, lo veo demasiado simple para que sea tu duda, pero por si acaso lo pongo.
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #4  
Antiguo 19-02-2013
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
No veo mucha logica a la forma de hacer esto.
Me parece que lo mejor es crear una tabla (tabla 3) que sea la que guarde los datos de los tramites.
Simplemente se usa un campo que determine quien hice el tramite, que tramite y un numero que lo identifique.
Hacer un update para que sume o aumente una coma y un numero lo veo ilogico, mas pensando en posteriores reportes.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 19-02-2013
Daniel10 Daniel10 is offline
Miembro
NULL
 
Registrado: abr 2012
Posts: 24
Poder: 0
Daniel10 Va por buen camino
gracias por el tiempo que se toman para responder...

probe codigo, funciona, peor solo para el primer registro
Código Delphi [-]
query1.Close; query1.SQL.Clear; query1.SQL.Add('Update Tabla1'); query1.SQL.Add('set Numer = Numer + ' + QuotedStr(Edit3.text)); // tiene un numero, que seria un numero de tramite que realizo la persona query1.SQL.Add('where nombreApellido = ' + QuotedStr(Edit1.text)); // en edit1 hay un nombre query1.ExecSQL;

En tabla1 lo tengo a juan solis, despues de registrarce en varias oepraciones, en tabla1 queda asi

tabla1
nombreApellido edad identificacion numero_Op_1 fechanacio comentario ....
JUAN SOLIS.... 55....10025545.......010204......20/02/70...sin comentario

En la columna numero op_1 me concatena las 3 operaciones que realizo, si realiza llega a realizarse mas, me continua agregando el numero de operación.
Pero solo funciona para este registro, es el primer registro en la base datos, si viene otro el segundo que esta registrado en la base datos tabla1 no agrega el numero que aya realizado.

Funciona solo para el primer registro, para los demás no.


No veo mucha logica a la forma de hacer esto.
Me parece que lo mejor es crear una tabla (tabla 3) que sea la que guarde los datos de los tramites.


la tabla2 se guarda los datos de cada tramite, enumerados, cada tramite un numero de identificacion, no se repiten los numeros, pero si se puede repetir que que realiza el tramite/operacion.

En tabla1 solo se usa para cargar un nuevo registro de una persona, para modificar algun dato de alguna persona o para agregar el numero de operacion que aya realizado en algun momento. Asi cuando se desee obtener los datos de una persona, se obtendra los datos personales y si tiene algun tramite, operacion.

Hacer un update para que sume o aumente una coma y un numero lo veo ilogico, mas pensando en posteriores reportes.

la coma era solo para separar los numero, uno de otro.
En el ejemplo que puse de JUAN SOLIS, este realizo 3 tramites, los cuales en tabla2 queda registrado. Y en tabla uno deberia quedar unicamente los numeros de tramites que el hizo.

Algo asi deberia mostrarce en el formulario de busqueda, junto con demas datos que haya para mostrar

Nombre y apellido___: JUAN SOLIS
Nro. Identificacon___: 10.025.545
Edad_____________: 55
Numeros tramites___: 01, 02, 04

En este caso 01, 02 y 04 con los tramites que juan solis realizo.

creo que me van a entender, jaja.. pero igual.. gracias por tomarce tiempo leer y tratar de entender.

saludos a todos y buenas noches... ya me voy a descansar...
Responder Con Cita
  #6  
Antiguo 19-02-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 23
ozsWizzard Va por buen camino
Si el problema es que no sale la coma, sustituye esta línea
Código Delphi [-]
query1.SQL.Add('set Numer = Numer + ' + QuotedStr(Edit3.text)); // tiene un numero, que seria un numero de tramite que realizo la persona

por esta
Código Delphi [-]
query1.SQL.Add('set Numer = Numer + ' QuotedStr(', ')  + ' + ' + QuotedStr(Edit3.text))
__________________
La Madurez se llama...
~~~Gaia~~~
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
Guardar Imagen en Tablas DBF BPL Varios 2 30-07-2010 19:26:51
guardar color como numero o cadena Max_E. Varios 2 01-11-2008 19:20:34
como guardar un numero en la BD a travez del InputBox Nelly Varios 1 18-01-2006 20:12:59
EDIT guardar en dos tablas distintas el_barto Conexión con bases de datos 7 20-06-2005 20:14:17
Numero de Tablas en una BD lroblesco Conexión con bases de datos 0 15-03-2005 08:18:13


La franja horaria es GMT +2. Ahora son las 23:02:37.


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