FoxPro/Visual FoxPro - AYUDA CON CODIGO

 
Vista:

AYUDA CON CODIGO

Publicado por Juan Carlos Lopez Lopez (128 intervenciones) el 08/04/2008 19:48:53
Hola amigos
A ver si me pueden ayudar con lo siguiente, tengo una TABLA1 de 1,000 registros con los sgtes campos:
codigo: 025
Nombre: Ana Maria, Lopez Castro
fecnac:
doc_identida:
Dialab: 25
dominic: 5
feriado: 1
hrsextsim: 32
hrsextdob: 24
vacaciones: 0.00
reintegro; 50.00
toting: 150.00
descuentos: 201.50
netos: 1348.50

y otra TABLA2 con los sgtes campos (CODCAM=numero correlativo,CODFORMU=es un codigo
para llenar unos forumlarios,"NOMCAM" almaceno los campos de la TABLA1 solo los q maneja importes.
codcam,nomcam,codFormu
01,dialab,025
02,dominic,025
03,feriado,025
04,hrsextsim,026
05,hrsextdob,026
06,vacaciones,025
07,reintegro,025
08,descuentos,027
09,neto,027

Intento recorrer la TABLA1 e ir comparando cada campo con la TABLA2 y si lo encuentra
por ejm TABLA1.dialab en TABLA2.nomcam (dialab), entonces hago appen a una 3ra TABLA3 los campos.
TABLA3
codcam,xnomcam,Xcodformu
01,dialab,025

Conclusion solo me interesa encontrar los campos de TABLA2.nomcam en la TABLA1
Tengo este codigo pero no se como solucionarlo
SELECT TABLA1
SCAN
Tcam = AFIELDS(Elcampo) && Create array
FOR x=1 TO Tcam
w_va= &ELcampo(x,1) && el valor del campo
SELECT TABLA2
LOCATE FOR nomcampo=Elcampo(x,1)
IF FOUND()
w_ca= ELcampo(x,1) && Nombre del Campo
w_co= CODFORMU && Codigo formulario
SELECT TABLA3
appe blan
repl codcam w_co,,xnomcam with w_ca,Xcodformu withd w_va
ENDIF
ENDFOR
ENDSCAN
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA CON CODIGO

Publicado por sergio (737 intervenciones) el 08/04/2008 20:13:53
>Utiliza relaciones
relaciona la tabla 1 con la tabla 2 por algun codigo que tengan en comun
haces un scan de l atabla 1
scan
if eof('table2')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON CODIGO

Publicado por sergio (737 intervenciones) el 08/04/2008 20:15:28
Utiliza relaciones
relaciona la tabla 1 con la tabla 2 por algun codigo que tengan en comun
haces un scan de l atabla 1
select tabla1
* al tenerklas relacionadas pordes preguntar directamente por si es fuin de
* archivo la tabla2
scan
if eof('table2')
appe blank
repla....................
endif
endscan
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON CODIGO

Publicado por Juan Carlos Lopez Lopez (128 intervenciones) el 08/04/2008 21:37:37
Hola Sergio:
gracias por responder, pero creo que no entendistes mi codigo.
ahi no hay nada q relacionar.
La TABLA1 tiene n campos, mientras q la TABLA2 tiene en el contenido los nombres de algunos campos de la TABLA1. Lo que intento es vaciar a una TABLA3 las coincidencias de los nombres de campo de la TABLA1 contenidas en TABLA2:

Ejm
TABLA1.diaslab=31

TABLA2.nomcam='diaslab'

Entonces como coincide nombre de campo TABLA1 con contenido de TABLA2. anado a TABLA3 el append

Espero que halla sido claro. sigo perdido. saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON CODIGO

Publicado por enrique (1041 intervenciones) el 08/04/2008 22:31:40
Pruebalo así

use tabla1
use tabla2 in 0
use tabla3 in 0
go top in borrar
mBorrar=afield(m_Borrar,"tabla1")
for i = 1 to mBorrar
go top in tabla2
do while !eof("tabla2")
if m_Borrar[i,1] = allt(upper(tabla2.nomcam))
append blank in tabla3
replace tabla3.codcam with tabla2.codcam
replace tabla3.xnomcam with tabla2.nomcam
replace tabla3.xcodformu with tabla2.codformu
endif
skip in tabla2
enddo
endfor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON CODIGO

Publicado por Juan Carlos Lopez Lopez (128 intervenciones) el 09/04/2008 00:12:16
Hola Enrique:
Gracias, gracias, gracias mil gracias, eso era lo que queria.

Una duda mas, puse un campo adicional mas a mi TABLA3 que es el importe del campo encontrado.
Osea seria añadir el importe de campo encontrado de TABLA1 a TABLA3

trato de modificar o adicionar a tu codigo y no se como hacerlo, echame una mano mas amigo.

Gracias por todo. saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON CODIGO

Publicado por enrique (1041 intervenciones) el 09/04/2008 02:03:10
Una pregunta tu TABLA1 tiene un solo registro? porque de no ser así se me hace medio dificil pensar en algo sencillo para solucionarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON CODIGO

Publicado por Manuel Medina (332 intervenciones) el 09/04/2008 05:39:37
Hola,

Si no ha podido te envio un ejemplo claro.

hasta la proxima
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON CODIGO

Publicado por Enrique (1041 intervenciones) el 09/04/2008 17:02:33
No me respondiste lo que pregunte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON CODIGO

Publicado por Juan Carlos Lopez Lopez (128 intervenciones) el 09/04/2008 23:47:07
Hola Enrique:
Bueno recien me conecto.
la TABLA1, tiene un promedio de 800 registros es asi casi todo los meses.

Como te explicaba; lo que ahora quiero es meter el valor del campo.

Pero asi como me indicastes ayer esta corriendo bien, solo que ahora quiero anadir el contenido(valor) de dicho campo a la TABLA3
Ejm:

TABLA1.diasla=26
TABLA1.dominic=4

Asi quedaria mi TABLA3
codcam,nomcam,codFormu ,importe
01,dialab,025 ,26
02,dominic,025 ,4
03,feriado,025 ,30.00
04,hrsextsim,026 ,45.00
05,hrsextdob,026 ,60.00
06,vacaciones,025 ,0.00
07,reintegro,025 ,150.00
08,descuentos,027 ,185.00
09,neto,027,320.00

A ver si me ayudas con esto Enrique.

Y bueno gracias Manuel medina, si puedes ayudarme porque no, enviame el codigo a mi correo.

Desde ya muchas gracias amigos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON CODIGO

Publicado por enrique (1041 intervenciones) el 10/04/2008 01:44:10
Estimado Juan Carlos

En este momento no se me ocurre una solucion ya que estoy un poco lleno de trabajo, pero desde mi humilde experiencia a simple vista no creo sea posible poner un valor de un campo de la TABLA1 en la cual tienes xxx registros ya que no tenes ningun valor de referencia en las otras tablas (recorda que de esta tabla solo tomas los nombres de los campos para buscar en la TABLA2) si el importe lo tuvieras en la TABLA2 si sería viable.
Igualmente espero que encuentres la respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar