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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-03-2013
Daniel10 Daniel10 is offline
Miembro
NULL
 
Registrado: abr 2012
Posts: 24
Poder: 0
Daniel10 Va por buen camino
buscar en tabla lo que tengo en listbox, y guardar un dato en un campo

Hola, buen día a todos.

primero... no se que titulo poner para este mensage, creo que describe lo que quiero hacer.




Busco ayuda en mi código.

Mi programa hace lo siguiente, pero debería hacer mas… jaja

Tengo 2 tablas,

En un formulario1, tengo un edit1 para ingresar un número, o también podria ser que se genere automáticamente el numero de registro, para que se identifique por medio de este numero este registro, y un listBox, este listbox contiene varios ítems que son cargados por medio de edit2 (aca podrian ser nombres o palabras)
Y un edit3 el cual ingreso un nombre
Y boton GURDAR, y me guardaria todo esto en la tabla2.

Tengo también conectados al archivo base1.mdb
Database1
Query1
DataSource2

En mi base datos, tengo 2 tablas , la tabla1 y tabla2. (acces)

la Tabla1 contiene campo: NumeroRegistroT1, nombreT1, tipo_AT1, tipo_BT1
la tabla2: contiene campo: NumeroInscripcionT2, NombreT2,

Entonces lo que hago es, rellenar el formulario1, por ejemplo algo asi:

Edit1 : 01

Edit3 : julio cortazar

Listbox item1: Bartolomé
……….item2 anastacio
……….item3 baltazar

Presiono boton guardar, y lo almaceno en la tabla 2, hasta aca ya lo tengo armado y funcionando.
Código Delphi [-]
/ graba Nº que hay en edit1  en la tabla1,
   /busca el nombre de la persona que hay en edit3 existe en la tabla1, si existe entonces guarda el numero, concatenando y separándolos on una coma
   
query1.Close; 
   query1.SQL.Clear; 
   query1.SQL.Add('Update tabla1'); 
   query1.SQL.Add('set tipo_AT1 = tipo_AT1 & ' + ',' + Edit1.text ); 
   query1.SQL.Add('where nombreT1 = ' + quotedstr(Edit3.text) ); query1.ExecSQL; 
   // solo para el edit3 y guarda en campo tipo_AT1
//  Lo que hace es: me busca en la tabla1 si el nombre que ingrese en el edit3 existe, si existe ese nombre en la tabla1 entonces me agrega el número que hay en el edit1 en el campo tipo_AT1.



Ahora lo que busco es…

Buscar en tabla1 el nombre que tengo en el edit3, si lo encuentro entonces guardo el contenido del edit1 en el registro de esa persona encontrada en la tabla1, en el campo tipo_AT1.

Esto tambien ya lo tengo funcionando.

Ahora esto es lo que no se como hacerlo…
Debo recorrer el listbox, tomo el primer item, hacer la búsqueda de ese item (seria buscar ese nombre en tabla1) en la tabla1, si lo encuentro tomo el contenido del edit1 y lo guardo en registro de esa persona, pero en el campo tipo_BT1, y continuo el recorrido del listbox.

……….. seria asi….. hago la búsqueda de lo que hay en el edit3 (hay un nombre) en la tabla1 si lo encuentra entonces guardaría el numero (edit1) en campo tipo_AT1. Y luego voy recorriendo listbox, haciendo la búsqueda de cada item (nombre, palabra) en la tabla1, si existe ese nombre o palabra entonces se guardaría ese numero (edit1) pero en el campo tipo_BT1 en el registro de ese nombre o palabra encontrado.

Espero que me comprendan lo que deseo hacer







gracias....
Responder Con Cita
  #2  
Antiguo 27-03-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Daniel10 Ver Mensaje
...
Ahora esto es lo que no se como hacerlo…
Debo recorrer el listbox, tomo el primer item, hacer la búsqueda de ese item (seria buscar ese nombre en tabla1) en la tabla1, si lo encuentro tomo el contenido del edit1 y lo guardo en registro de esa persona, pero en el campo tipo_BT1, y continuo el recorrido del listbox.

……….. seria asi….. hago la búsqueda de lo que hay en el edit3 (hay un nombre) en la tabla1 si lo encuentra entonces guardaría el numero (edit1) en campo tipo_AT1. Y luego voy recorriendo listbox, haciendo la búsqueda de cada item (nombre, palabra) en la tabla1, si existe ese nombre o palabra entonces se guardaría ese numero (edit1) pero en el campo tipo_BT1 en el registro de ese nombre o palabra encontrado.

Espero que me comprendan lo que deseo hacer
Hola Daniel10.

Y yo espero haberte comprendido...

Fijate si esto hace lo que estas necesitando:
Código Delphi [-]
...
var
  tmp : string;
  i : Integer;
begin
  with Query1 do
  begin
    tmp := SQL.Text;
    Close;
    SQL.Text:= 'UPDATE TABLA1 SET TIPO_BT1 = :PARAM1 WHERE NOMBRET1 =:PARAM2';
    Prepare;
    for i:= 0 to ListBox1.Count-1 do
    begin
      ParamByName('PARAM1').AsString := Edit1.Text;
      ParamByName('PARAM2').AsString := ListBox1.Items[i];
      ExecSQL;
    end;
    Close;
    Unprepare;
    SQL.Text := tmp;
    Open;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 30-03-2013
Daniel10 Daniel10 is offline
Miembro
NULL
 
Registrado: abr 2012
Posts: 24
Poder: 0
Daniel10 Va por buen camino
ante todo le doy gracias por su respuesta, voy probar este codigo, aunque ya tengo solucionaod mi inconveniente, lo hice con un ciclo for que recorra el listbox y vaya grabando en la bd.. igual probare este codigo y optare por el que mejor me quede..

saludos y gracias por su tiempo
Responder Con Cita
  #4  
Antiguo 30-03-2013
Daniel10 Daniel10 is offline
Miembro
NULL
 
Registrado: abr 2012
Posts: 24
Poder: 0
Daniel10 Va por buen camino
Código Delphi [-]
for ContListBox:= 0 to listbox1.items.count - 1 do 
begin    
  query1.Close;     
  query1.SQL.Clear;     
  query1.SQL.Add('Update tabla1');     
  query1.SQL.Add('set tipo_AT1 = tipo_AT1 & ' + ',' + Edit1.text );     
  query1.SQL.Add('where nombreT1 = ' + quotedstr(listbox1.items[ContListBox]) ); 
  query1.ExecSQL;  
end

Última edición por ecfisa fecha: 30-03-2013 a las 16:35:46. Razón: corregir identació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
quiero ordenar en varios edit lo que tengo en un listbox vanesa007 OOP 11 24-04-2012 03:55:30
como eliminar un dato de un listbox bothy Lazarus, FreePascal, Kylix, etc. 2 28-01-2010 19:06:06
Buscar en un campo de una tabla por Caracteres Drago26 Tablas planas 2 23-10-2008 16:24:47
Buscar parte de un texto en campo de tabla jadelphi Varios 3 22-04-2005 17:15:03
cambiar el TIPO de dato de un CAMPO de una tabla Jose Mari SQL 2 01-04-2005 17:18:16


La franja horaria es GMT +2. Ahora son las 08:17:26.


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