PDA

View Full Version : سوال: نحوه کار با حساب مشتری



bastakboys
چهارشنبه 04 آذر 1388, 18:15 عصر
دوستان مشتری توی برنامه دو کار انجام می ده
1 . خرید میکنه(که در جدول فاکتور فروش ذخیره میشه)
2 . پرداخت میکنه ( که در جدول صندوق ذخیره میشه)
-------
حالا من می خواهم حساب این مشتری را چک کنم و می خواهم که لیستی از خرید ها و پرداخت های این مشتری در یک دیتا گرید داشته باشم بر مبنای تاریخ عمل انجام شده
--------
به نظر شما چه راه حلی برای این مشکل است.؟

ACorvinus
چهارشنبه 04 آذر 1388, 21:13 عصر
سلام .

قبل از همه این کارها یه جدول درست کنین به نام Actor_T ( طرف حساب )
کار این جدول این خواهد بود که شما بتونین مشتری های خاص ( و یا در موارد خاص، عام ) رو در این جدول ذخیره کنین .

با این کارتون هر مشتری یه ID داره ( یه فیلد AutoNumber ) که مشخص کننده شناسه مشتری هستش .

حالا دوست من میتونین یه Select از جدول هاتون بگیرین (با اعمال شرط تاریخ) و بعد از Join اونارو در DataTable داشته باشین .

موفق باشی .

bastakboys
چهارشنبه 04 آذر 1388, 22:23 عصر
سلام .

قبل از همه این کارها یه جدول درست کنین به نام Actor_T ( طرف حساب )
کار این جدول این خواهد بود که شما بتونین مشتری های خاص ( و یا در موارد خاص، عام ) رو در این جدول ذخیره کنین .

با این کارتون هر مشتری یه ID داره ( یه فیلد AutoNumber ) که مشخص کننده شناسه مشتری هستش .

حالا دوست من میتونین یه Select از جدول هاتون بگیرین (با اعمال شرط تاریخ) و بعد از Join اونارو در DataTable داشته باشین .

موفق باشی .
جدول بالا و ID مشتری رادارم ولی طریقه JOin را بلد نیستم.

ACorvinus
پنج شنبه 05 آذر 1388, 07:55 صبح
امیدوارم موفق باشی عزیز:


http://www.w3schools.com/sql/sql_join.asp


اگه بازم مشکلی بود مطرح کن .

bastakboys
پنج شنبه 05 آذر 1388, 15:34 عصر
دوست عزیز من به این لینک نگاه کردم اما نمونه JOIN که بتونه مشکل را حل کنه پیدا نکردم
من می خواهم که در دیتا گرید دو ستون از جدول اول و دو ستون از جدول دوم باشد و در سطر های که از جدول اول است ستون های مربوط به جدول دوم خالی یا صفر باشد و بلعکس.

DoDoklak
پنج شنبه 05 آذر 1388, 17:43 عصر
دوست عزیز من به این لینک نگاه کردم اما نمونه JOIN که بتونه مشکل را حل کنه پیدا نکردم
من می خواهم که در دیتا گرید دو ستون از جدول اول و دو ستون از جدول دوم باشد و در سطر های که از جدول اول است ستون های مربوط به جدول دوم خالی یا صفر باشد و بلعکس.


فرض کن تا جدول داری با نامهای
X=IDX,X1,X2
Y=IDY,Y1,Y2
X,Y نام جدول و X1,X2,Y1,Y2 فیلدهای مربوطه هستند و IDX,IDY کلیدهای جدول با دستور زیر این دو جدول با هم ادغام میشن

SELECT X.*,Y.* From X INNER JOIN Y ON X.IDX=Y.IDY
امیدوارم با توضیحات کم شما بتونه مشکلتونو حل کنه

bastakboys
پنج شنبه 05 آذر 1388, 19:36 عصر
ببین من جواب این سلکت را مجموع سطر های x و y می خواهم(یعنی اگه تعداد سطر های xبرابر با 25 تا و y برابر با32 باشد) تعداد سطر های این کوئری برابر با57 سطر باشد .

ebrahimv
جمعه 06 آذر 1388, 00:38 صبح
مي تو بايد يه جدول موقت براي اين كار بسازي بعد يه Stored Procedures تعريف كني
كه اول جدول موقت را پاك كند بعد خريد هاي مشتري را به آن Insert كني بعد پرداخت هاي مشتري را به آن Insert كن بعد بعد يه SELECT بزن و ستون هاتو انتخاب كن بعد تمام
البته همه اين كار ها را در پايگاه داده بايد انجام بدي
به نمونه كد برات مي زارم كه خودم براي يه كاري استفاده كردم


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE SPtblPD
-- Add the parameters for the stored procedure here
@Salkare nVarChar(4), @NumFormal nVarChar(15)
AS
BEGIN
DELETE FROM tblPD
INSERT INTO tblPD ( Date, Sharh, Bas, Bad)
SELECT tblDariaft.Date, tblDariaft.SarhSanad, '-' AS Bas, tblDariaft.MablagKol
FROM tblDariaft INNER JOIN
tblDAjor ON tblDariaft.Number = tblDAjor.NumDariaft
WHERE (tblDariaft.SalKare = @Salkare) AND (str( tblDAjor.NumFormal) like @NumFormal)
INSERT INTO tblPD ( Date, Sharh, Bas, Bad)
SELECT tblPardakht.Date, tblPardakht.SarhSanad, tblPardakht.MablagKol, '-' AS bad
FROM tblPardakht INNER JOIN
tblPKarkard ON tblPardakht.Number = tblPKarkard.NumPardakht
WHERE (tblPardakht.Salkare = @Salkare) AND (str( tblPKarkard.NumFormal) like @NumFormal)

SELECT Date, Sharh, Bas, Bad, M
FROM tblPD
ORDER BY Date DESC
END
GO