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

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 23-08-2003
sanxpue sanxpue is offline
Miembro
 
Registrado: jul 2003
Posts: 196
Poder: 24
sanxpue Va por buen camino

Código:
var
  i : integer;
begin
  i := 0;
  // Si  Fields[0].FieldName = 'Indice' (supongamos)
  // entonces no entra y te va a regresar que existe i = 0
  //mala rutina
  while (i <= Table1.Fields.Count - 1) and (Table1.Fields[i].FieldName = 'fax') do
    inc(i);

  if i > Table1.Fields.Count - 1 then
    ShowMessage('no existe')
  else
    ShowMessage('existe');

end;
Bueno la idea es la siguiente que tengas otra TTable que llame a la tabla
que llama fDatamodulo.tbproveedor pero sin campos persistentes, (supongamos que
la tabla se llama proveedor.db) puedes tener una ttable que se llame tbLibre y
a la hora que quieras probar eso entonces :

Código:
Function SeEncuentraCampo : Boolean;
Var
	I : Integer;
Begin
	Result := False;
  fDatamodulo.tbLibre.Close //por si esta abierta por algun lado
	fDatamodulo.tbLibre.TableName := 'proveedor.db';
 	fDatamodulo.tbLibre.Open;
 	While (I <= fDatamodulo.tbLibre.Fields.Count-1) And (Not Result) Do
 		If fDatamodulo.tbLibre.Fields[i].FieldName = 'fax' Then
  		Result := True
    Else
    	Inc(I);
  fDatamodulo.tbLibre.Close;
End;
Ahora si vas a usar esto para varias tablas solo hay que hacer unas pequeñas
modificaciones a lo anterior :

Código:
Function SeEncuentraCampo(NomTab,Campo : String) : Boolean;
Var
	I : Integer;
Begin
	Result := False;
  fDatamodulo.tbLibre.Close //por si esta abierta por algun lado
	fDatamodulo.tbLibre.TableName := NomTab;
 	fDatamodulo.tbLibre.Open;
 	While (I <= fDatamodulo.tbLibre.Fields.Count-1) And (Not Result) Do
 		If fDatamodulo.tbLibre.Fields[i].FieldName = Campo Then
  		Result := True
    Else
    	Inc(I);
  fDatamodulo.tbLibre.Close;
End;
entonces ya en el procedimiento grande

Código:
  if  SeEncuentraCampo('proveedor.db','fax') then
  Begin
      fDatamodulo.tbproveedor.open;    
     .
     .
  end
  Else
    ShowMessage('No existe el campillo');

Saludos desde Puebla Mexico
[email protected]
Responder Con Cita
 


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


La franja horaria es GMT +2. Ahora son las 11:20:43.


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