ورود

View Full Version : مبتدی: ايجاد سند جديد (dbgrid)



mojtaba0912433
سه شنبه 23 آذر 1389, 08:15 صبح
سلام
برنامه استفاده شده :دلفي 7
db:اكسس
برنامه نوشته شده :حسابداري
ارتباط از طريق ado table
وقتي فرم سند باز ميشه مي خوام dbgrid اطلاعات قبلي را از db نخونه(نشون نده) و با توجه به شماره سند جديد كه منحصر به فرد هست يك dbgrid جديد باز بشه .ممنون از راهنماييهاتون.

hossein_h62
سه شنبه 23 آذر 1389, 16:05 عصر
سلام
جواب این سوال بیشتر به طراحی و استراتژی پیاده سازی شما برمیگرده.
راههای زیادی هست برای این کار، من پیشنهاد میکنم یک جدول جداگانه برای ثبت سند جدید در نظر بگیرید و به گرید وصل کنید.بعد از اینکه سند دستی رو وارد کردید و بعد از کنترل بالانس سند و اعتبارسنجی حسابها و ...، کل رکوردهای ثبت شده در جدول سند جدید رو به جدول اسناد منتقل کنید.
در ضمن شماره منحصر بفرد سندتون هم میشه max+1 شماره سندها در جدول کلی اسناد.

hamidkarimy
پنج شنبه 25 آذر 1389, 20:22 عصر
روشی که برای اینکار انتخاب کردید کلا اشتباه هست
باید از clientdataset استفاده کنید
فیلد ها رو تعریف و Createdataset کنید
بعد از ورود اطلاعات در گرید و کنترل های لازمه از دیتاست یه sql درست کنید و اونرو با یه command اجرا کنید

mojtaba0912433
شنبه 27 آذر 1389, 09:02 صبح
[QUOTE=hossein_h62;1172794]سلام
جواب این سوال بیشتر به طراحی و استراتژی پیاده سازی شما برمیگرده.
سلام ممنون
يه روش ديگه هم هست نميدونم بعدن به مشكل بربخورم يا نه؟اين كه grid را با adoquery به جاي adotable متصل كنم و تو query تعريف كنم كه شماره سند جديد هست واطلاعات قبلي را نخونه

pezhvakco
شنبه 27 آذر 1389, 20:05 عصر
grid را با adoquery به جاي adotable متصل كنم و تو query تعريف كنم كه شماره سند جديد هست واطلاعات قبلي را نخونه
نمی دونم با چه روشی می خوای داده هایی در کوئری وارد کنید .
روشی که جناب hossein_h62 (http://barnamenevis.org/member.php?97704-hossein_h62) گفتن بهتره :
برای انجام این کار یک جدول مانند جدول اصلی در دیتابیس داشته باشی (TempTable) و با اون کار کنی . شماره سند را بر مبنای جدول اصلی بدست بیاری و ردیف های سند را در این جدول (Temp) وارد کنی و در اخر اگر کاربر خواست ردیف ها را در جدول اصلی وارد کنی .

mojtaba0912433
چهارشنبه 01 دی 1389, 09:21 صبح
سلام
بهترين روسش استفاده از 2 جدول هست در ديتابيس يكي موقت براي ورود داده ها وكنترل يكي هم براي تبت سند.يه سوا هم دارم.چطور ميشه كليه اطلاعات يك table را در db حذف كرد(به صورت خط به خط نه )به صورت يكجا ممنون

hossein_h62
چهارشنبه 01 دی 1389, 10:22 صبح
اینجوری :

Delete from Table