PILO:
Me refiero solo a las variables que te dan error de tipo de datos, en
las que te dan error.
¿Pregunta y no te está dado un montón de warnings? o tienes desactivada
la opción de no compilar si existen warnings en las opciones
generales->Compilar.
Porque si las variables del principio son campos del segundo formulario
para pasarles el valor cuando se ejecuta deberías pasárselo así:
WITH OBJECT TFormPlanCarrerasNew():New( ::oForm )
:cText := "Agregar nueva carrera"
:oLBCabecera:cText := "Nueva suelta para el Reloj."
** Traspasar los datos a los campos del Formulario
:oDBMNCarrera:Value := ::oDbfSueltas:FieldGetByName("SUELTAANNO")
:oDBENombre:Value := ::oDbfSueltas:FieldGetByName("L_SUELTA")
:oDBEPoblacion:Value:= ::oDbfSueltas:FieldGetByName("L_SUELTA")
:oNEAnno:Value := SubStr(DTOS(::oDbfSueltas:FECHA_S),1,4)
:oNEMes:Value := SubStr(DTOS(::oDbfSueltas:FECHA_S),5,2)
:oMEDia:Value := SubStr(DTOS(::oDbfSueltas:FECHA_S),7,2)
:oNEHora:Value := SubStr(::oDbfSueltas:H_SUELTA,1,2)
:oNEMinutos:Value := SubStr(::oDbfSueltas:H_SUELTA,4,2)
:oNESegundos:Value := SubStr(::oDbfSueltas:H_Suelta,7,2)
::oDbfCarreras:AddNew()
:lAnadir := ::oDbfCarreras:lOnAppend
:ShowModal()
****
****
END
Si quieres no emplees como yo lo hago el FielGetByName("NombCampo")
y pon solo :NombCampoformulario:Value := ::Basededatos:NombreCampo
José Ramón Castro
PILO escribió:
>
> "José Ramón Castro Polinio" <jrcpoli-quitarpara_envio]"@terra.es
> <mailto:jrcpoli-quitarpara_envio]"@terra.es>> escribió en el mensaje
> news:459f70c1$[email=
1@news.xailer.com...]
1@news.xailer.com...[/email]
> > PILO escribió:
> >> En el debug
> >> en la ventana de mensajes me sale esto
> >> #1: XAILER Fieldput error: Invalid data type for field 'C_POSTALF'.
> >> Expected type 'N', got type 'C' (37201)
> >> #2: XAILER Fieldput error: Invalid data type for field 'HECTAREAS'.
> >> Expected type 'N', got type 'C' (0)
> >> #3: XAILER Fieldput error: Invalid data type for field 'LIMI_ANIMA'.
> >> Expected type 'N', got type 'C' (0)
> >> #4: XAILER Fieldput error: Invalid data type for field 'INDICE_HEC'.
> >> Expected type 'N', got type 'C' (0.000)
> >> #5: XAILER Fieldput error: Invalid data type for field 'UGMOFI'.
> >> Expected type 'N', got type 'C' (0)
> >> despues de haber hecho una actualizacion
> >>
> >> METHOD AddNewcodigo() CLASS TFexplota
> >>
> >> LOCAL oFrm
> >> **
> >> WITH OBJECT oFrm := TFcodigonuevo():CreateForm( Self )
> * *cojo los datos del registro en el que estoy para despues*
> >> actualizarlos en el addnew*
> >> AGRUPO_NIF := ::oDbfExplota1:GRUPO_NIF
> >> RCOPERATIV := ::oDbfExplota1:COPERATIV
> >> AANO := ::oDbfExplota1:ANO
> >> ANOMBRE := ::oDbfExplota1:NOMBRE
> >> ANIF := ::oDbfExplota1:NIF
> >> ADIRECCIONF := SPACE(35)
> >> ADIRECCIONF = ::oDbfExplota1:DIRECCIONF
> >> ADIRECCION := ::oDbfExplota1:DIRECCION
> >> AC_POSTALF := 0
> >> AC_POSTALF = ::oDbfExplota1:C_POSTALF
> >> ACPOSTAL := ::oDbfExplota1:C_POSTAL
> >> APOBLACIONF := SPACE(35)
> >> APOBLACIONF = ::oDbfExplota1:POBLACIONF
> >> APOBLACION := ::oDbfExplota1:POBLACION
> >> ATELEFONO := ::oDbfExplota1:TELEFONO
> >> AMOVIL := ::oDbfExplota1:MOVIL
> >> AHECTAREAS := 0
> >> AHECTAREAS = ::oDbfExplota1:HECTAREAS
> >> AINDICE_HEC := 0
> >> AINDICE_HEC = ::oDbfExplota1:INDICE_HEC
> >> ACUPOMADRES := ::oDbfExplota1:CUPOMADRES
> >> APROVINCIAF := SPACE(35)
> >> APROVINCIAF = ::oDbfExplota1:PROVINCIAF
> >> APROVINCIA := ::oDbfExplota1:PROVINCIA
> >> ARESPONSABL := ::oDbfExplota1:RESPONSABL
> >> ADNI := ::oDbfExplota1:DNI
> >> AUNIDADVETE := SPACE(35)
> >> AUNIDADVETE := ::oDbfExplota1:UNIDADVETE
> >
> > ¿ Para que necesitas coger los datos del registro donde estás? En el
> > formulario que llamas TFcodigonuevo, tendrás los campos que tú pones a
> > la izquierda con esos nombres, siendo así solo tienes que unirlos cada
> > uno poniendo en la propiedad de cada uno un mismo vinculo, igual que
> > hacen en el formulario dos del ejemplo que decías que estabas
> > utilizando, ¿Cual es el vinculo de los campos del formulario uno con el
> > dos?, pues es poner en el formulario dos en cada campo que se
> > corresponda con el formulario uno y que vaya a recibir datos suyos un
> > evento común que una el dato del formulario uno con el dos el evento de
> > cada campo es OnCreate
> *en este bloque cojo los datos que tiene el resgistro*
> *que esta posicionado y los llevo a las variables ya que el tform2 no*
> *tiene alguno de dichos campos y otros puede que los datos sean iguales*
> *como en el direccionf y direccion
> *
> > METHOD UnionCreate( oSender ) CLASS TFcodigonuevo
> >
> > oSender:oDataSet := ::oParent:oDbfExplota1
> >
> > RETURN Nil
> >
> > En cada campo del formulario le das a OnCreate y la primera vez que le
> > des lo creas y luego posteriormente en cada campo al darle a OnCreate en
> > el campo seleccionas este método y así cuando llames al formulario
> > TFcodigonuevo tendrás los datos del formulario uno en el dos.
> >>
> >> :cText := "Añadir nueva explotacion"
> >> ::oDbfExplota1:AddNew()
> >> // PONGO DATOS PARA EL NUEVO CODIGO
> >> *actualizo los datos des la variables en los campos de dataset*
> >> *para poderlos ver en el formulario*
> *Aquí pongo los datos en los campos que se visializan en el siguiente*
> *formulario para poderlos cambiar, ya en el registro nuevo*
> >> ::oDbfExplota1:DIRECCION := ADIRECCION
> >> ::oDbfExplota1:C_POSTAL := AC_POSTAL
> >> ::oDbfExplota1:POBLACION := APOBLACION
> >> ::oDbfExplota1:GRUPO_NIF := AGRUPO_NIF
> >> ::oDbfExplota1:COPERATIV := RCOPERATIV
> >> ::oDbfExplota1:ANO := AANO
> >> ::oDbfExplota1:NOMBRE := ANOMBRE
> >> ::oDbfExplota1:NIF := ANIF
> >> ::oDbfExplota1:PROVINCIA := APROVINCIA
> >> ::oDbfExplota1:RESPONSABL := ARESPONSABL
> >> ::oDbfExplota1:DNI := ADNI
> >> ::oDbfExplota1:UNIDADVETE := AUNIDADVETE
> >> :ShowModal()
> >> if :nModalResult == mrOK
> >> *termino de poner los datos que falta al registro nuevo*
> *aquí pongo los datos tambien en le registro nuevo pero que no utilizo en*
> *el formulario, y que tienen que aparecer en la base de datos,*
> >> ::oDbfExplota1:GESTORIA := "GA"
> >> ::oDbfExplota1:GANADERO := "AAAA"
> >> ::oDbfExplota1:C_POSTALF := AC_POSTALF
> >> ::oDbfExplota1:POBLACIONF := APOBLACIONF
> >> ::oDbfExplota1:TELEFONO := ATELEFONO
> >> ::oDbfExplota1:MOVIL := AMOVIL
> >> ::oDbfExplota1:HECTAREAS := AHECTAREAS *ESTE CAMPO ES
> NUMERICO Y LA VARIABLE TIENE UN NUMERO*
> >> ::oDbfExplota1:INDICE_HEC := AINDICE_HEC *ESTE CAMPO ES
> >> NUMERICO Y LA VARIABLE TIENE UN NUMERO*
> >> ::oDbfExplota1:CUPOMADRES := ACUPOMADRES *ESTE CAMPO ES
> >> NUMERICO Y LA VARIABLE TIENE UN NUMERO*
> >> ::oDbfExplota1:PROVINCIAF := APROVINCIAF
> >> ::oDbfExplota1:DIRECCIONF := ADIRECCIONF
> >
> > Si no hay ningún campo que no este contendido en el TFcodigonuevo todo
> > esto después de recibir el mrOK del nuevo no hace falta ya lo hace el
> > Update.
> >
> >
> >>
> >>
> MSGINFO(ADIRECCIONF+STR(AC_POSTALF,5,0)+APOBLACIONF+STR(AHEC TAREAS,6,0)+AUNIDADVETE+AUNIDADVETE)
> >> ::oDbfExplota1:Update()
> >> ::oDBBrowse1:Refresh()
> >
> Después del refresco del browse debes de estar sobre el campo que has
> creado nuevo por lo tanto se ven los datos para que necesitas el MsgInfo
> y si quieres poner alguna cosa pon el campo de la base de datos
> > ::odbfExplota1:El campo que sea dentro de el mensaje.
> >
> >> ::oDbfExplota1:SELECT()
> >
> > La base de datos ::oDbfExplota1 sigue abierta y si es la misma del
> > Browse visible a través del formulario uno que es el que llama a Añadir.
> >
> >> *ANTES DE ENTRAR EN ESTA FUNCION NOS DA EL ERROR*
> *espero que lo anterior te haya servido como explicacion, pero aqui sale
> los *
> *errores del debug que tenemos arriba y no me guarda los datos de
> ahectareas, los*
> *de arriba. *
> >> else
> >> ::oDbfExplota1:Cancel()
> >> endif
> >> END WITH
> >> RETURN NIL
> >
> > Perdona pero selecionarExplo(self) supongo que es una función o un
> > método pero no se lo que haces en él, si es que llamas al formulario
> > primero deberías estar en él, si es que la secuencia la haces
> > correctamente, desde un menú o un botón.
> >
> >> *ME PODEIS ESPLICAR POR QUE PUEDE SER, GRACIAS*
> *Espero que te sirva dicha explicacion, gracais Jose Ramon*