Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-07-2011
avila avila is offline
Miembro
 
Registrado: may 2011
Posts: 13
Poder: 0
avila Va por buen camino
Ayuda con Base de Datos

Un saludo a todos, con una consulta:

Estoy trabajando un form con estos elementos: DBEdit1,DBEdit2 y DBEdit3 con estos capturo los datos de los campos NO_ENVIO,CANTIDAD,COD_PRODUCTO de la tabla ADOQuery1DetGral. Cree un campo LookUp para reflejar el nombre de un producto almacenado en la tabla ADOQuery2Productos, en un ComboBox1.

Las Tablas:


1) ADOQuery1DetGral

NO_ENVIO (clave primaria)
COD_PRODUCTO
CANTIDAD

2) ADOQuery2Productos

COD_PRODUCTO (clave foranea)
PRODUCTO

La segunda tabla es para poder crear el LookUp y poder tener en el form el nombre de producto cuando se escribe el código de producto mediante el DBEdit3.

Estoy utilizando instrucciones SELECT * FROM DETGRAL (para abrir la tabla ADOQuery1DetGral) y SELECT * FROM PRODUCTOS (para abrir la tabla ADOQuery2PRoductos)

ahora bien, cuando ejecuto la aplicación todos los DBEdit funcionan correctamente incluyendo el ComboBox1, pudiendose almacenar correctamente los datos en la tabla, pero después de esta operación se deshabilitan el DBEdit3 (correspondiente al campo COD_PRODUCTO tabla ADOQuery1DetGral) y el ComboBox1 (refleja la descripción de producto mismo que obtiene la descripción a través de un LookUp en la tabla ADOQuery2Productos)

¿Cómo puedo hacer para que el Dbedit y ComboBox se mantengan habilitados para poder seguir ingresando datos?
al desaparecerse estos solo puedo agregar NO_ENVIO y CANTIDAD, únicamente. Espero me puedan ayudar. este es el código que uso, corresponde al boton que se encarga de grabar los datos capturados a traves de los Edits.

Notas:
1) El ComboBox1 no lo uso para capturar y grabar el dato en la tabla, solo es para que el usuario vea la descripcion del producto cuando ingresa el codigo de producto.

2) Me interesa colocarle un DBGrid para reflejar los datos ingresados, com puedo hacerlo?

Código Delphi [-]


procedure TForm2.Button1Click(Sender: TObject);
var envio,codprod,cant : String;
begin
  envio:=dbedit1.Text; codprod:=dbedit3.Text; cant:=dbedit2.Text;
  with ADOQuery1DetGral do
  begin
   Close;
   SQL.Clear;
   SQL.Add('insert into detallegral(no_envio,cod_producto,cantidad) values (');
   SQL.Add(''+QuotedStr(envio)+','+QuotedStr(codprod)+','+QuotedStr(cant)+')');
   ExecSQL;
  end;
end;

Este es el código completo:

Código Delphi [-]
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBCtrls, StdCtrls, Mask, DB, ADODB, Grids, DBGrids;

type
  TForm2 = class(TForm)
    ADOConnection: TADOConnection;
    ADOQuery1DetGral: TADOQuery;
    ADOQuery2Productos: TADOQuery;
    ADOQuery1DetGralID: TAutoIncField;
    ADOQuery1DetGralCOD_PRODUCTO: TWideStringField;
    ADOQuery1DetGralNO_ENVIO: TWideStringField;
    ADOQuery1DetGralID_CUENTA: TWideStringField;
    ADOQuery1DetGralPIEZAS: TIntegerField;
    ADOQuery1DetGralCANTIDAD: TIntegerField;
    ADOQuery1DetGralOBSERVACIONES: TWideStringField;
    ADOQuery1DetGralNO_INVENTARIO: TWideStringField;
    ADOQuery1DetGralFECHA: TDateTimeField;
    ADOQuery2ProductosCOD_PRODUCTO: TWideStringField;
    ADOQuery2ProductosNOMBRE_PRODUCTO: TWideStringField;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    DataSource2: TDataSource;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    ADOQuery1DetGralDESCRIPCION: TStringField;
    Label3: TLabel;
    DBLookupComboBox1: TDBLookupComboBox;
    Label4: TLabel;
    DBEdit3: TDBEdit;
    Button1: TButton;
    DBGrid1: TDBGrid;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var envio,codprod,cant : String;
begin
  envio:=dbedit1.Text; codprod:=dbedit3.Text; cant:=dbedit2.Text;
  with ADOQuery1DetGral do
  begin
   Close;
   SQL.Clear;
   SQL.Add('insert into detallegral(no_envio,cod_producto,cantidad) values (');
   SQL.Add(''+QuotedStr(envio)+','+QuotedStr(codprod)+','+QuotedStr(cant)+')');
   ExecSQL;
  end;
end;

end.

Última edición por avila fecha: 19-07-2011 a las 03:54:31.
Responder Con Cita
  #2  
Antiguo 20-07-2011
avila avila is offline
Miembro
 
Registrado: may 2011
Posts: 13
Poder: 0
avila Va por buen camino
Vaya.. si que se las puse dificil, gracias de todas formas...
Responder Con Cita
  #3  
Antiguo 20-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por avila Ver Mensaje
Vaya.. si que se las puse dificil, gracias de todas formas...
Es que no se entiende bien el problema que tienes porque es algo muy genérico y sería necesario conocer más detalles.
Responder Con Cita
Respuesta



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
Ayuda con una base de datos TWD agova Tablas planas 5 17-01-2007 17:27:12
Ayuda con base de datos monifa Conexión con bases de datos 2 18-07-2006 03:05:28
ayuda con base de datos edy_aca Firebird e Interbase 6 12-08-2005 16:32:57
Ayuda con base de datos en red raco Varios 4 11-08-2005 02:51:35
Ayuda Base Datos istradlin Firebird e Interbase 1 28-02-2005 15:46:05


La franja horaria es GMT +2. Ahora son las 05:39:50.


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