Selamat pagi Pak Aksan dan rekan-rekan
Mohon maaf lambat membalas,
berikut link excelnya :
https://onedrive.live.com/redir?resid=1DCF79929FB91DA3!107&authkey=!ANJUN4Ui7HLfM0U&ithint=file%2c.xlsx
Pada intinya dari table transaksi kita pecah ke opening balance, transaksi dan ending balance dengan cut off periode tertentu
Saya sudah coba 3 dari 4 saran Pak Aksan, kecuali yang no.4 function dan berhasil
dari ke-4 cara tersebut yang paling cepat yang nomor 3 kah?
rencananya pengolahan datanya di storeprocedur dan ditampilkan di form access
ohya, yang belum saya ketahui dan mungkin ada rekan-rekan yang belum bisa juga yaitu
konsep recordset seperti yang Pak Aksan jelaskan diawal seperti apa ya
karena saya coba baca referensi di internet penjelasaanya menurut saya kurang jelas
4 teknik yang Pak Aksan sampaikan sungguh berguna bagi saya
terima kasih
basuseno
On Tuesday, February 25, 2014 9:54 AM, aksan kurdin <aksan.kurdin@gmail.com> wrote:
apakah hasilnya berupa satu tabel ? bagaimana formatnya ?
berupa dua tabel? bagaimana fomatnya ?
berupa tiga tabel? bagaimana formatnya ?
coba ilustrasikan dengan file excel, asal data dan hasil yang diinginkan.
ado recordset bisa mengembalikan banyak recordset dari satu eksekusi stored procedure yang menghasilkan banyak recordset.
misalkan kita punya storeprocedure yang mengembalikan dua recordset:
create proc sp_x_dan_y
as
select a,b,c from x
select a,b,c from y
maka di vba dengan ado kita bisa tarik recordset dari suatu command:
(r1 dan r2 adalah recordset object, cmd adalah command)
set r1 = cmd.execute
set r2 = r1.nextrecodset
bekerja dengan banyak tabel di storeprocedure sql server dapat ditempuh dengan berbagai cara:
1. subquery
select x.a,x.b,y.c
from
(select a,b,c
from x) as x
inner join
(select a,b,c
from y) as y
on x.a=y.a
2. temporary table
select a,b,c into #x from x
select a,b,c into #y from y
select x.a,x.b, y.c
from #x x
inner join #y y on x.a=y.a
drop table #x
drop table #y
3. temp table variable (more faster than temporary table)
declare @x table (a varchar(30), b int, c int)
declare @y table (a varchar(30), b int, c int)
insert into @x (a,b,c)
select a,b,c from x
insert into @y (a,b,c)
select a,b,c from y
select x.a, x.b, y.c
from @x x
inner join @y y on x.a=y.a
4. function return table
create function fn_x()
returns table
as
return
select a,b,c from x
create function fn_y()
returns table
as return
select a,b,c from y
select x.a, x.b, y.c
from fn_x() x
inner join fn_y() y on x.a = x.b
aksan kurdin
On 2/25/2014 6:21 AM, kbasuseno@yahoo.com wrote:
berupa dua tabel? bagaimana fomatnya ?
berupa tiga tabel? bagaimana formatnya ?
coba ilustrasikan dengan file excel, asal data dan hasil yang diinginkan.
ado recordset bisa mengembalikan banyak recordset dari satu eksekusi stored procedure yang menghasilkan banyak recordset.
misalkan kita punya storeprocedure yang mengembalikan dua recordset:
create proc sp_x_dan_y
as
select a,b,c from x
select a,b,c from y
maka di vba dengan ado kita bisa tarik recordset dari suatu command:
(r1 dan r2 adalah recordset object, cmd adalah command)
set r1 = cmd.execute
set r2 = r1.nextrecodset
bekerja dengan banyak tabel di storeprocedure sql server dapat ditempuh dengan berbagai cara:
1. subquery
select x.a,x.b,y.c
from
(select a,b,c
from x) as x
inner join
(select a,b,c
from y) as y
on x.a=y.a
2. temporary table
select a,b,c into #x from x
select a,b,c into #y from y
select x.a,x.b, y.c
from #x x
inner join #y y on x.a=y.a
drop table #x
drop table #y
3. temp table variable (more faster than temporary table)
declare @x table (a varchar(30), b int, c int)
declare @y table (a varchar(30), b int, c int)
insert into @x (a,b,c)
select a,b,c from x
insert into @y (a,b,c)
select a,b,c from y
select x.a, x.b, y.c
from @x x
inner join @y y on x.a=y.a
4. function return table
create function fn_x()
returns table
as
return
select a,b,c from x
create function fn_y()
returns table
as return
select a,b,c from y
select x.a, x.b, y.c
from fn_x() x
inner join fn_y() y on x.a = x.b
aksan kurdin
On 2/25/2014 6:21 AM, kbasuseno@yahoo.com wrote:
Dear Pakar,
Mau tanyaMisalkan kita ada data sbb :
Date COA Debit Credit
01-Jan 11101 100 -
01-Jan 11101 200 -
01-Jan 11101 150 -
01-Jan 11101 - 50
02-Jan 11101 - 50
02-Jan 11101 200
02-Jan 11101 100 -
02-Jan 11101 200 -
02-Jan 11101 150 -
02-Jan 11101 - 50
03-Jan 11101 - 50
03-Jan 11101 200
03-Jan 11101 100 -
03-Jan 11101 200 -
03-Jan 11101 150 -
03-Jan 11101 - 50Saya ingin pecah data tersebut menjadi Opening Balance, Transaction dan Ending BalanceOpening Balance :Select COA, sum(Debit) As OBDebit, Sum(Credit) As OBCredit From dbo.tableName
Where Doc_date '2014-02-01')Transaction :Select COA, sum(Debit) As TransDebit, Sum(Credit) As TransCredit From dbo.tableName
Where Doc_date Between '2014-02-01' and '2014-03-01'
Ending Balance :EBDebit = OBDebit + TransDebit - TransCredit
EBCredit = OBCredit - TransDebit + TransCreditApakah bisa dibuat dalam 1 query / sp di sql server?
selama ini saya buat dulu 2 view baru di joint di sp, apakah bisa langsung dibuat dalam setu sp saja?terima kasih
__._,_.___
| Reply via web post | Reply to sender | Reply to group | Start a New Topic | Messages in this topic (4) |
SPAM IS PROHIBITED
.
__,_._,___
Tidak ada komentar:
Posting Komentar