In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

AYUDA ADDNEW

Foro de Xailer profesional en español
Responder
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

AYUDA ADDNEW

Mensaje por PILO »

Necesito si alguien me pued explicar los siguiente:
desde un formularino con un oDataSet creo otro
para añadir un registro a este oDataSet,
en el nuevo formulario para poner los datos utilizo so siguiente oSender:oDataSet := ::oParent:oDataSet
ne la opcion ONCREATE
esto me funciona bien, pero como soy un novato lo que quiero hacer es los siguiente en el nuevo formulario donde
pongo los datos nuevos:
Necesito utilizar todos los datos que tiene el oDataSet del formulario anterior
me explico en un TDBEDIT, cuando salo de el tengo que comprobar que el dato de dicho campo no exista en la base de
datos oDataSet. Una ayuda para esto de cualquiera de vosostros no tiene por que ser el equipo de Xailer
Con esta ayuda y las que he espueto anteriormente, creo que ya puedo pasar mis programas a Xailer.
--
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

AYUDA ADDNEW

Mensaje por PILO »

Ya me lo resolvieron en el foro publico
Gracias
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:[email=459bc528@news.xailer.com...]459bc528@news.xailer.com...[/email]
Necesito si alguien me pued explicar los siguiente:
desde un formularino con un oDataSet creo otro
para añadir un registro a este oDataSet,
en el nuevo formulario para poner los datos utilizo so siguiente oSender:oDataSet := ::oParent:oDataSet
ne la opcion ONCREATE
esto me funciona bien, pero como soy un novato lo que quiero hacer es los siguiente en el nuevo formulario donde
pongo los datos nuevos:
Necesito utilizar todos los datos que tiene el oDataSet del formulario anterior
me explico en un TDBEDIT, cuando salo de el tengo que comprobar que el dato de dicho campo no exista en la base de
datos oDataSet. Una ayuda para esto de cualquiera de vosostros no tiene por que ser el equipo de Xailer
Con esta ayuda y las que he espueto anteriormente, creo que ya puedo pasar mis programas a Xailer.
--
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

AYUDA ADDNEW

Mensaje por PILO »

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
: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
::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
::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
MSGINFO(ADIRECCIONF+STR(AC_POSTALF,5,0)+APOBLACIONF+STR(AHEC TAREAS,6,0)+AUNIDADVETE+AUNIDADVETE)
::oDbfExplota1:Update()
::oDBBrowse1:Refresh()
::oDbfExplota1:SELECT()
ANTES DE ENTRAR EN ESTA FUNCION NOS DA EL ERROR
selecionarExplo(SELF)
MSGINFO("Explotacion Seleccionada.-"+ TNOMBRE)
::CLOSE()
else
::oDbfExplota1:Cancel()
endif
END WITH
RETURN NIL
ME PODEIS ESPLICAR POR QUE PUEDE SER, GRACIAS
--
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

AYUDA ADDNEW

Mensaje por jrcpoli-quitar »

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
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*
> ::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*
> ::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*
> selecionarExplo(SELF)
> MSGINFO("Explotacion Seleccionada.-"+ TNOMBRE)
> ::CLOSE()
> 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*
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

AYUDA ADDNEW

Mensaje por PILO »


"José Ramón Castro Polinio" <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
--
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

AYUDA ADDNEW

Mensaje por jrcpoli-quitar »

PILO:
Te esta dando un error de tipo de datos, por lo tanto en donde traspases
los datos después de haberlos capturado y haberle dado a mrOK pon
delante un VAL(variable del Campo)
::oDbfExplota1:C_POSTALF := Val(AC_POSTALF) y comprueba que la
longitud de la variable AC_POSTALF y las otras están definidas con la
misma longitud.
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*
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

AYUDA ADDNEW

Mensaje por jrcpoli-quitar »

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*
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

AYUDA ADDNEW

Mensaje por jrcpoli-quitar »

PILO:
Al privado te mandé otra técnica para hacer lo que quieres sin emplear
otro formulario para Añadir y Editar, sino hacerlo desde el mismo
añadiendo varios botones que según pulses uno o otro harí­an las
funciones de Añadir, Editar, Cancelar, Grabar, teniendo siempre los
datos presentes y no teniendo que traspasarlos.
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*
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

AYUDA ADDNEW

Mensaje por ignacio »

Pilo,
Estas asignando a un campo numérico un valor tipo carácter. Eso es todo. Utiliza las funciones básicas de Clipper para hacer las conversiones necesarias.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:[email=459f0f90@news.xailer.com...]459f0f90@news.xailer.com...[/email]
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
: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
::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
::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
MSGINFO(ADIRECCIONF+STR(AC_POSTALF,5,0)+APOBLACIONF+STR(AHEC TAREAS,6,0)+AUNIDADVETE+AUNIDADVETE)
::oDbfExplota1:Update()
::oDBBrowse1:Refresh()
::oDbfExplota1:SELECT()
ANTES DE ENTRAR EN ESTA FUNCION NOS DA EL ERROR
selecionarExplo(SELF)
MSGINFO("Explotacion Seleccionada.-"+ TNOMBRE)
::CLOSE()
else
::oDbfExplota1:Cancel()
endif
END WITH
RETURN NIL
ME PODEIS ESPLICAR POR QUE PUEDE SER, GRACIAS
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

AYUDA ADDNEW

Mensaje por PILO »

Ignacio mas arriba en Ayuda en crar registro, te dejo un pequeño proyecto para que lo observes el error
he hecho un monton de pruebas diferentes y no consigo quitar el error
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje news:45a2145b$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Pilo,
Estas asignando a un campo numérico un valor tipo carácter. Eso es todo. Utiliza las funciones básicas de Clipper para hacer las conversiones necesarias.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:[email=459f0f90@news.xailer.com...]459f0f90@news.xailer.com...[/email]
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
: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
::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
::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
MSGINFO(ADIRECCIONF+STR(AC_POSTALF,5,0)+APOBLACIONF+STR(AHEC TAREAS,6,0)+AUNIDADVETE+AUNIDADVETE)
::oDbfExplota1:Update()
::oDBBrowse1:Refresh()
::oDbfExplota1:SELECT()
ANTES DE ENTRAR EN ESTA FUNCION NOS DA EL ERROR
selecionarExplo(SELF)
MSGINFO("Explotacion Seleccionada.-"+ TNOMBRE)
::CLOSE()
else
::oDbfExplota1:Cancel()
endif
END WITH
RETURN NIL
ME PODEIS ESPLICAR POR QUE PUEDE SER, GRACIAS
--
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

AYUDA ADDNEW

Mensaje por ignacio »

Pilo,
No veo el proyecto, lo siento. En cualquier caso el error, es un error súper tipico de Clipper-Xharbour que nada tiene que ver con Xailer. La única diferencia es que Xailer te da más información sobre el error. Eso es todo.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:[email=45a221f0@news.xailer.com...]45a221f0@news.xailer.com...[/email]
Ignacio mas arriba en Ayuda en crar registro, te dejo un pequeño proyecto para que lo observes el error
he hecho un monton de pruebas diferentes y no consigo quitar el error
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje news:45a2145b$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Pilo,
Estas asignando a un campo numérico un valor tipo carácter. Eso es todo. Utiliza las funciones básicas de Clipper para hacer las conversiones necesarias.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:[email=459f0f90@news.xailer.com...]459f0f90@news.xailer.com...[/email]
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
: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
::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
::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
MSGINFO(ADIRECCIONF+STR(AC_POSTALF,5,0)+APOBLACIONF+STR(AHEC TAREAS,6,0)+AUNIDADVETE+AUNIDADVETE)
::oDbfExplota1:Update()
::oDBBrowse1:Refresh()
::oDbfExplota1:SELECT()
ANTES DE ENTRAR EN ESTA FUNCION NOS DA EL ERROR
selecionarExplo(SELF)
MSGINFO("Explotacion Seleccionada.-"+ TNOMBRE)
::CLOSE()
else
::oDbfExplota1:Cancel()
endif
END WITH
RETURN NIL
ME PODEIS ESPLICAR POR QUE PUEDE SER, GRACIAS
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

AYUDA ADDNEW

Mensaje por PILO »

Jose, observo que utilizar ::lanadir para saber si estamos
añadiendo o modificando en el formulario nuevo
Me puede decir como lo pones en el formulario
pues estoy intentado algo así y me da error de la variable lanadir
Gracias de antemano
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

AYUDA ADDNEW

Mensaje por zeasoftware »

En tu Clase:
Class MiCaptura From TForm

Data lAnadir Init .f.
::::
End Class
Method New(oSender) ::::
::oDataSet:AddNew()
::lAnadir := .t.
:::::
::lAnadir := .f.
Return ( Nil )
Saludos
--
Ramón Zea
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoft/
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:[email=45acf60c@news.xailer.com...]45acf60c@news.xailer.com...[/email]
> Jose, observo que utilizar ::lanadir para saber si estamos
> añadiendo o modificando en el formulario nuevo
> Me puede decir como lo pones en el formulario
> pues estoy intentado algo así­ y me da error de la variable lanadir
> Gracias de antemano
>
>
--
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

AYUDA ADDNEW

Mensaje por jrcpoli-quitar »

PILO escribió:
> Jose, observo que utilizar ::lanadir para saber si estamos
> añadiendo o modificando en el formulario nuevo
> Me puede decir como lo pones en el formulario
> pues estoy intentado algo así­ y me da error de la variable lanadir
> Gracias de antemano
>
>
lanadir es una variable tipo Data que se pone al principio entre
COMPONENT y METHOD.
CLASS TFormAnillasNew FROM TForm
COMPONENT oLabel10
DATA lAnadir INIT .F.
METHOD CreateForm()
ENDCLASS
Luego solo tienes que emplearla según lo que quieres que te devuelva,
capturando el valor que te devuelve lOnAppend o lOnEdit, mira en la
ayuda estas dos funciones.
::lAnadir := ::Basededatos:lOnAppend te devuelve TRUE si la base esta en
AddNew, y FALSE si la base no está en añadir.
Lo mismo digo de lOnEdit te devuelve TRUE si la base de datos esta en
Edit y FALSE si no lo está.
Por lo tanto también puedes hacerlo directamente sin emplear ninguna
data IF ::Basededatos:lOnAppend entrará en el IF si la base está en AddNew.
Si lo empleas en un segundo formulario que no tiene la base de datos y
la coge del primero entonces debes de emplear:
::lAnadir := ::oParent:Basededatos:lOnAppend ó
IF ::oParent:Basededatos:lOnAppend
Otra cuestión interesante es la captura de las variables en un primer
formulario cuando las variables pertenecen a un segundo que es llamado
desde el primero.
WITH OBJECT TFormDesignadas():New( Self )
:nQuienLlama := 1 //Declarada en el formulario llamado
:ShowModal()
END
José Ramón Castro.
Responder