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:

Mostrar la cita
Sinceramente,

Josué Maldonado.
#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:
Mostrar la cita
shared
Mostrar la cita
Ads by Google
Search Busqueda sugerida