Hola Amigos!
Dos preguntas:
- como puedo activar la tecla INS por defecto en un prg para que al ingresar el dato no borre el contenido existente? sin que el usuario tenga que activarla antes de ingresar.
- Como modificar una DBF por programa para adicionar un campo y que funcion me permite verificar si el campo existe?
de antemano muchas gracias por sus comentarios
un xhabrazo
tecla INS y como modificar dbf por programa
tecla INS y como modificar dbf por programa
Luis Alfonso Fuentes Guerrero
FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
- carlos vargas
- Posts: 1421
- Joined: Tue Oct 11, 2005 5:01 pm
- Location: Nicaragua
un poco de ayuda
donde esta ????? lo haces tu, ya que voy saliendo y no me dio tiempo finalizarlos
donde esta ????? lo haces tu, ya que voy saliendo y no me dio tiempo finalizarlos
Code: Select all
FUNCTION FieldExist(cFieldName)
LOCAL aFields[FCOUNT()]
afields(aFields)
FOR x:=1 TO len(aFields)
IF aFields[x] = cFieldName
RETURN .t.
ENDIF
NEXT
RETURN .f.
Code: Select all
FUNCTION InsertField(aField)
LOCAL aStruct:=dbstruct()
LOCAL cAlias := alias()
//agrega al arreglo con la estructura el nuevo campo
aadd(aStruct,aField)
//crea una tabla temporal
dbcreate("_TEMP_",aStruct)
//copia todos los registros de la tabla actual a la tabla nueva
GO TOP
COPY TO _TEMP_
//cierra tabla actual
CLOSE TABLE
//elimina tabla actual
??????
//renombra la tabla nueva con el nombre de la tabla anterior
?????
//abre tabla nueva con el alias anterior
?????
RETURN NIL
Code: Select all
...
//verifica si existe el campo ENERO07 en la tabla TEMP
IF !TEMP->(FieldExist("ENERO07"))
//altera la tabla agregando el campo
aNewField := {"ENERO07","N",09,02}
TEMP->(InsertField(aField))
ENDIF
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
Carlos Vargas
Desde Managua, Nicaragua (CA)