fox a SQL

16/02/2004 - 21:00 por William Garcia | Informe spam
Necesito pasar este codigo a SQL

USE "c:\mis documentos\internet\proye\prem\DOCUMENT.dbf" EXCL
INDEX ON ABOCOD TAG ABOCOD

close data

use "c:\mis documentos\internet\proye\prem\PRU.dbf" shared in 0

USE "c:\mis documentos\internet\proye\prem\DOCUMENT.dbf" order ABOCOD shared
in 0

select PRU
go top
scan
varAbocod=abocod
select Document
seek VARABOCOD
store 0 to mDebito, mHaber
do while varAbocod=abocod .and. .not. eof()
if abocod=varAbocod
do case
Case doctpo="1".or.doctpo="4".or.doctpo="6".or.doctpo="7"
mDebito = mDebito + DocImp
Case doctpo="2".or.doctpo="5".or.doctpo="3"
mHaber = mHaber + DocImp
Endcase
endif
skip
enddo
Select PRU
replace debito with mDebito, Haber with mHaber, saldo with Debito-Haber
endscan

Preguntas similare

Leer las respuestas

#1 Josué Maldonado
16/02/2004 - 21:19 | Informe spam
William,

No se puede traducir literalmente lo que necesitas a sql, recuerda que
Foxpro es un lenguaje procedural y sql no lo es, sin embargo puedes
hacer muchas cosas usando procedimientos almacenados, estoy seguro que
alguien con mas experiencia en esa area, aportara sobre este tema.

Saludos,

William Garcia wrote:

Necesito pasar este codigo a SQL

USE "c:\mis documentos\internet\proye\prem\DOCUMENT.dbf" EXCL
INDEX ON ABOCOD TAG ABOCOD

close data

use "c:\mis documentos\internet\proye\prem\PRU.dbf" shared in 0

USE "c:\mis documentos\internet\proye\prem\DOCUMENT.dbf" order ABOCOD shared
in 0

select PRU
go top
scan
varAbocod=abocod
select Document
seek VARABOCOD
store 0 to mDebito, mHaber
do while varAbocod=abocod .and. .not. eof()
if abocod=varAbocod
do case
Case doctpo="1".or.doctpo="4".or.doctpo="6".or.doctpo="7"
mDebito = mDebito + DocImp
Case doctpo="2".or.doctpo="5".or.doctpo="3"
mHaber = mHaber + DocImp
Endcase
endif
skip
enddo
Select PRU
replace debito with mDebito, Haber with mHaber, saldo with Debito-Haber
endscan






Sinceramente,

Josué Maldonado.
Respuesta Responder a este mensaje
#2 Fernando España
17/02/2004 - 02:04 | Informe spam
suponiendo que tienes la misma estructura seria algo asi como:

update pru
set debito=sum( case when b.doctipo in ('1','4','6','7') then b.DocImp else
0 end),
Haber=sum( case when b.doctipo not in ('1','4','6','7') then b.DocImp else
0 end)
from pru a, document b where a.abocod=b.abocod

y te sugeriria que el saldo sea una columna calculada con el varor existente
en debito-haber

Suerte.




Fernando España
Gerente Informatica
Alta Tecnologia en Informatica S.A.
www.atisa.com.gt
7a. calle 4-34 Zona 10
Guatemala Centro America
PBX: (502) 3620005

Email:

****************************************

"William Garcia" escribió en el mensaje
news:
Necesito pasar este codigo a SQL

USE "c:\mis documentos\internet\proye\prem\DOCUMENT.dbf" EXCL
INDEX ON ABOCOD TAG ABOCOD

close data

use "c:\mis documentos\internet\proye\prem\PRU.dbf" shared in 0

USE "c:\mis documentos\internet\proye\prem\DOCUMENT.dbf" order ABOCOD


shared
in 0

select PRU
go top
scan
varAbocod=abocod
select Document
seek VARABOCOD
store 0 to mDebito, mHaber
do while varAbocod=abocod .and. .not. eof()
if abocod=varAbocod
do case
Case doctpo="1".or.doctpo="4".or.doctpo="6".or.doctpo="7"
mDebito = mDebito + DocImp
Case doctpo="2".or.doctpo="5".or.doctpo="3"
mHaber = mHaber + DocImp
Endcase
endif
skip
enddo
Select PRU
replace debito with mDebito, Haber with mHaber, saldo with Debito-Haber
endscan


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida