Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
UPDATE instead of REPLACE
Message
From
28/12/2010 03:45:49
 
 
To
28/12/2010 03:26:17
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Network:
Windows XP
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01493981
Message ID:
01493984
Views:
135
This message has been marked as the solution to the initial question of the thread.
You can probably make this even simpler, but this should work.
 select crsalp
 goto top
Scan
   lnVou_no=crsalp.you_no
   select ;
      sum(iif(type="P",cr_amount,0))as cr_amount,;
      sum(iif(type="D",dr_amount,0))as ddr_amount1;
      where vou_no=lnvou_no;
      from crsalp;
      group by vou_no;
      into cursor xyz readwrite
   wait window transform(lnvou_no) at srows()/2,scols()/2 nowait
   update cr_sum set dr_amount=xyz.cr_amount-xyz.ddr_amount1 where vou_no=lnVou_no
Endscan
 
messagebox("Done",0+16+256,"Successfully")
>Dear Sir,
>
> I have following working codes
>
>
> select crsalp
> goto top
> do while !eof()
> 	scatter memvar
> 
> 	xyz="crs"+sys(2015)
> 	select ;
> 		sum(iif(type="P",cr_amount,0))as cr_amount,;
> 		sum(iif(type="D",dr_amount,0))as ddr_amount1;
> 		where vou_no=m.vou_no;
> 		from crsalp;
> 		group by vou_no;
> 		into cursor xyz readwrite
> 
> 	wait window alltrim(str(m.vou_no)) at srows()/2,scols()/2 nowait
> 
> 	select xyz
> 	am1=cr_amount-ddr_amount1
> 
> 	select cr_sum
> 	locate for vou_no=M.vou_no
> 	if found()
> 		replace dr_amount with am1
> 	endif
> 
> 	select crsalp
> 	if !eof()
> 		skip
> 	endif
> 
> enddo
> 
> messagebox("Done",0+16+256,"Successfully")
>
>
>I need UPDADTE SQL command against above codes.
>
>Please help
>
>
>
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform