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 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Exclamation Campo vacio en dbf

Salu2 amigos foristas

resulta que exporte un archivo de excel2003 a dbf con el cual necesito poner a funcionar un formulario.

tengo los campos CIS y CIP que son campos únicos...

el caso es que puede sea que haya CIP pero no haya CIS entonces necesito que me salga un error diciendo que no hay Testigo secundario...

el caso es que como la tabla se exporto en dbf y nunca lo habia usado se me dificulta comprobar cuando cis esta vacio.

probé esto:

Length(Fieldvalues['cis'])< 1 pero no funciona
Fieldvalues['cis']='' pero tampoco funciona

me imagino que es que no estoy comprobando como debe ser por el tipo de dato por que habia usado era alpha de paradox 7 y ahora en este dbf aparece es una c Character nos e hay que me dicen dejo foto de la tabla y el código que llevo

Código Delphi [-]
if key=#13 then
  begin
    With Table1 do
      begin
        if Locate('cip',edit1.Text,[]) then
          begin
            edit2.Text:=FieldValues['testigop'];
              if (FieldValues['cis'])='' then
                begin
                  if Application.MessageBox('Disculpe, este registro no tiene Testigo Secundario, ¿Esta seguro que quiere cargar la información incompleta?','',mb_yesno)=6 then
                    begin
                      edit3.Text:='No Tiene';
                      edit4.Text:='No Tiene';
                      edit5.Text:=FieldValues['postulada'];
                      edit6.Text:=FieldValues['mesa'];
                      edit7.Text:=FieldValues['ctro'];
                      edit8.Text:=FieldValues['nombrecent'];
                      edit9.Text:=FieldValues['direccion'];
                      edit10.Text:=FieldValues['municipio'];
                      edit11.Text:=FieldValues['estado'];
                    end
                    else
                    begin
                      edit1.Text:='';
                      BitBtn5.Click;
                    end;
                end
                else
                begin
                end;
            edit3.Text:=FieldValues['cis'];
            edit4.Text:=FieldValues['testigos'];
            edit5.Text:=FieldValues['postulada'];
            edit6.Text:=FieldValues['mesa'];
            edit7.Text:=FieldValues['ctro'];
            edit8.Text:=FieldValues['nombrecent'];
            edit9.Text:=FieldValues['direccion'];
            edit10.Text:=FieldValues['municipio'];
            edit11.Text:=FieldValues['estado'];
          end
          else
          begin
            Application.MessageBox('No se encuentra la cédula ingresada','');
          end;
      end;
  end;



gracias adelantadas
__________________
Las cosas o son, o no son...
Responder Con Cita
  #2  
Antiguo 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
help me please!!

tengo el archivo en xls si alguien me dice alguna forma de pasarlo a paradox (db) tambien sirve
__________________
Las cosas o son, o no son...
Responder Con Cita
  #3  
Antiguo 11-11-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola lKinGl,
Si no me equivoco, todos los objetos Field (y por tanto descendientes de éste) constan de la propiedad IsNull, que regresa TRUE en caso de que el campo esté vacio, o FALSE si posee un valor.

Esto es lo que dice la ayuda al respecto:
Cita:
Empezado por Ayuda
Indicates whether the field has a value assigned to it.

property IsNull: Boolean;

Description

Inspect IsNull to ascertain whether the field contains a value. If IsNull is True, the field is blank. If IsNull is False, the field has a value.

En resumen, su uso puede ser como el siguiente:
Código Delphi [-]
if TTable1.FieldByName('NombreCampo').IsNull
   then ShowMessage('El campo está vacío);

Recuerda que hay muchas maneras de acceder al campo, lKinGl. Por ejemplo, si haces uso de campos persistentes:
Código Delphi [-]
if NombreTablaNombreCampo.IsNull
  then ....

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
gracias delphius eso era
__________________
Las cosas o son, o no son...
Responder Con Cita
  #5  
Antiguo 11-11-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
¿Funcionó?

Por favor, te voy a pedir que no repitas hilos. Genera confusión.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
jeje está bien solo que pense que en varios no iba....pero esta bien nomas duplicated:P
__________________
Las cosas o son, o no son...
Responder Con Cita
  #7  
Antiguo 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
hey delphius sabes como se puede hacer para que cuando yo presione en una celda de un dbgrid me salga un showmessage con que numero de registro es?
__________________
Las cosas o son, o no son...
Responder Con Cita
  #8  
Antiguo 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
porque necesito crear un form para editar pero esta base de datos no tiene ningun campo unico asi que quiero guardar el numero de registro en un edot visible false y guardar de nuevo sobre el mismo
__________________
Las cosas o son, o no son...
Responder Con Cita
  #9  
Antiguo 11-11-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por lKinGl Ver Mensaje
hey delphius sabes como se puede hacer para que cuando yo presione en una celda de un dbgrid me salga un showmessage con que numero de registro es?
Se puede, existe la propiedad RecNo que devuelve el número de registro actual. Pero he aquí que esta propiedad no pertenece al DBGrid, sino al DataSet (un TTable, o TQuery por ejemplo) al que está relacionada. Y aquí, hay otro "problema". La forma de relacionar al DBGrid con el DataSet (recuerda que TTable, TQuery, entre otros son descendientes de TDataSet) es mediante un DataSource. Por tanto, lo que buscas es algo como esto:

Código Delphi [-]
NumeroRegistro := DBGrid1.DataSource.DataSet.RecNo;
....

lKinGl, No es por ser malito, pero leer la ayuda sobre los componentes que usas ayuda mucho.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
gracias delphius, donde esta la ayuda de los componentes?

en windows vista da error la ayuda que trae delphi 7
__________________
Las cosas o son, o no son...
Responder Con Cita
  #11  
Antiguo 11-11-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por lKinGl Ver Mensaje
gracias delphius, donde esta la ayuda de los componentes?

en windows vista da error la ayuda que trae delphi 7
¿La ayuda? Basta con que selecciones el componente y le des a la tecla que te invita a correr en la Fórmula 1

¿Vista? Ha... ese es el problema, saca a ese bicho

Sino prueba entrando desde Inicio -> Delphi 7 -> Help ->
Allí te debería aparecer todos los archivos de ayuda. Busca uno que diga Visual Component Referrence o algo así.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #12  
Antiguo 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
por ningun lado :S solo me sirve la ayuda en xp
__________________
Las cosas o son, o no son...
Responder Con Cita
  #13  
Antiguo 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
delphius disculpa tanta ignorancia jajaja.... pero estoy tratando de editar un registro... obtenido de un dbgrid enlazado con un query

y te pregunte como hacia para obtener el numero de fila del registro y obtenerlo en un edit (ya lo tengo) pero ahora como hago para guardar los cambios hechos en el formulario, en esa misma linea de registro ???????
__________________
Las cosas o son, o no son...
Responder Con Cita
  #14  
Antiguo 11-11-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por lKinGl Ver Mensaje
por ningun lado :S solo me sirve la ayuda en xp
¿Será que no instalaste la ayuda?

Recuerdo que hace unos meses mientras estaba instalando un sistema a un amigo de mi padre en un Windows Vista recibí una advertencia de Windows informándome que la ayuda que proporciona el programa fue hecha en una versión anterior y que no se puede usar.
La verdad es que no me puse a investigar si existe alguna incompatibilidad entre los archivos de ayuda desde XP a Vista. Hoy en día no es de extrañarse que así sea

La verdad es que en este asunto no te sabría ayudar. Habría que investigar.
Como no he vuelto a tener lo ocasión de volver a ver a dicha persona, no sabría decirte si terminó cambiandose a XP o desistió de emplear el sistema que legalmente adquirió... yo diría que me hizo caso y se cambió a XP

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #15  
Antiguo 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
see bueno yo tengo preferencia por el vista porque mi tarjeta de audio es la mama de los problemas conseguirle el driver y ademas el equipo rinde mas con vista :P cuento con un core 2 duo 3 gb de ram y 512 de video y cuando lo instalo no tengo que buscar ni 1 solo driver y todo funciona de maravilla menos la ayuda de delphi :S
__________________
Las cosas o son, o no son...
Responder Con Cita
  #16  
Antiguo 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
ó seria tambien bueno poder que con doble click la celda entre en modo de edicion editar lo que se va a editar y se guarde solito :P como sea mas facil es mejor jejejeje
__________________
Las cosas o son, o no son...
Responder Con Cita
  #17  
Antiguo 11-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
delphius no me abandones
__________________
Las cosas o son, o no son...
Responder Con Cita
  #18  
Antiguo 11-11-2008
Avatar de Rodrigo_I
Rodrigo_I Rodrigo_I is offline
Miembro
 
Registrado: oct 2007
Ubicación: Santiago,Chile
Posts: 15
Poder: 0
Rodrigo_I Va por buen camino
En el evento CellClick de tu grilla colocas algo asi
Código Delphi [-]
  if (Column.FieldName = 'Campo') then
      DBGrid1.Options :=    [dgTitles,dgIndicator,dgColLines,dgRowLines,dgTabs,dgEditing]
  else
      DBGrid1.Options := [dgTitles,dgIndicator,dgColLines,dgRowLines,dgTabs];

y en evento KeyPress

Código Delphi [-]
if Key = #13 then
  if DBGrid1.DataSource.State  in [dsEdit, dsInsert] then
    "accion deseada"

espero te ilumine en algo
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
Ver un DBGrid con un campo fecha vacio... Delphitest Varios 4 25-03-2008 18:13:54
un campo memo vacio? NSL94 SQL 1 25-04-2007 13:05:35
Llenar un DateTimePicker con un campo vacio CamiloU OOP 10 10-02-2006 13:58:11
Insertar un campo TimeStamp vacío?????? cybergerman SQL 1 29-09-2004 16:17:36
Consulta con campo fecha vacio jgutti Firebird e Interbase 1 12-05-2003 17:50:38


La franja horaria es GMT +2. Ahora son las 14:25:01.


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