PDA

View Full Version : سوال: ایجاد سال مالی جدید با ایجاد دیتابیس جدید



niknam_mh
شنبه 14 اسفند 1395, 19:41 عصر
با سلام خدمت اساتید بزرگوار
من یه دیتابیس sql دارم با نام hesab1395 و میخوام یه دیتابیس جدید با نام hesab1396 با استفاده از فایل exe بسازم و همزمان تمامی جدول ها و پروسیجرها رو هم بسازم و اطلاعات پایان سال مالی رو نیز انتقال بدم دوستان چه پیشنهادی دارن؟شدنی هست؟

gilsoft
یک شنبه 15 اسفند 1395, 22:48 عصر
با سلام خدمت اساتید بزرگوار
من یه دیتابیس sql دارم با نام hesab1395 و میخوام یه دیتابیس جدید با نام hesab1396 با استفاده از فایل exe بسازم و همزمان تمامی جدول ها و پروسیجرها رو هم بسازم و اطلاعات پایان سال مالی رو نیز انتقال بدم دوستان چه پیشنهادی دارن؟شدنی هست؟

سلام دوست عزیز

مرحله اول: Backup گرفتن از دیتابیس hesab1395
USE MASTER;


BACKUP DATABASE [hesab1395]
TO DISK = 'C:\temp\hesab1395.bak' -- some writeable folder.
WITH COPY_ONLY; -- or COMPRESSION
GO
مرحله دوم: Restroe‌کردن Backup با نام hesab1396

USE MASTER;


RESTORE DATABASE [hesab1396]
FROM DISK = 'C:\temp\hesab1395.bak'
WITH
MOVE 'hesab1395' TO 'D:\DataSql\Data\hesab1396.mdf', -- or wherever these live on target
MOVE 'hesab1395_log' TO 'D:\DataSql\Data\hesab1396_log.ldf',
REPLACE,
RECOVERY;
GO

موفق باشید .....

niknam_mh
جمعه 04 فروردین 1396, 09:03 صبح
سلام دوست عزیز

مرحله اول: Backup گرفتن از دیتابیس hesab1395
USE MASTER;


BACKUP DATABASE [hesab1395]
TO DISK = 'C:\temp\hesab1395.bak' -- some writeable folder.
WITH COPY_ONLY; -- or COMPRESSION
GO
مرحله دوم: Restroe‌کردن Backup با نام hesab1396

USE MASTER;


RESTORE DATABASE [hesab1396]
FROM DISK = 'C:\temp\hesab1395.bak'
WITH
MOVE 'hesab1395' TO 'D:\DataSql\Data\hesab1396.mdf', -- or wherever these live on target
MOVE 'hesab1395_log' TO 'D:\DataSql\Data\hesab1396_log.ldf',
REPLACE,
RECOVERY;
GO

موفق باشید .....

سلام
با تشکر از جناب محرابی عزیز میشه در مورد کدها توضیح بدید چوم من هر کاری می کنم ارور میده.

چینی ساز
یک شنبه 06 فروردین 1396, 10:39 صبح
سلام
لطفا در مورد بانک اکسس هم توضیح بدین و کد بزاریین؟
البته چون دوستمون گفت سال مالی بنظرم باید خلاصه اطلاعات در بانک جدید باشه مثلا اگه جدول داشته باشیم با دو فیلد برداشت و واریز در بانک جدید باید کل مبلغ واریز و کل برداشت ثبت بشه؟
مگه انجور نیست؟

shahryari
سه شنبه 08 فروردین 1396, 15:07 عصر
سلام
درمورد بحث سال مالی نرم افزار های مالی، چند مرود حائز اهمیته
چون یسری اطلاعات هستش که تو هرسال نیازه مثل اسامی مشتریان، کالاها، بانکها، انبارها و ..... نیاز نیست دوباره در سال جدید وارد بشن(یعنی برای هرسال مشترکه و موجوده)
اینکه انتقال پیدا میکنه به سال بعد، حسابها ، پرداختی ها ، اسناد ، خرید ها و فروشهاست
لزومی نداره شما یه دیتابیس جدید با نام سال مالی 96 یا 97 و.... ایجاد کنید
شما در واقع جداول حسابها ، پرداختی ها ، اسناد ، خرید ها و فروشها و... رو با استفاده از اسکریپت میسازید (با نام جدید هرسال مثال : faktor95 و faktor96 و ... ) و مجموع بدهکاری یا بستانکاری این جداول رو از سال قبل میگیرید و یک رکورد در ابتدای جدول با نام "افتتاحیه" یا "منقول از سال قبل" در جداول جدید ایجاد میکنید و در ستون مربوط به (بدکار یا بستانکار) اینسرت میکنید
در صورتی که برای هر سال دیتابیس جدید داشته باشید ، در بکاپ گیری باید از هر سال بکاپ مجدد بگیرید

چینی ساز
چهارشنبه 09 فروردین 1396, 09:33 صبح
سلام درمورد بحث سال مالی نرم افزار های مالی، چند مرود حائز اهمیته چون یسری اطلاعات هستش که تو هرسال نیازه مثل اسامی مشتریان، کالاها، بانکها، انبارها و ..... نیاز نیست دوباره در سال جدید وارد بشن(یعنی برای هرسال مشترکه و موجوده) اینکه انتقال پیدا میکنه به سال بعد، حسابها ، پرداختی ها ، اسناد ، خرید ها و فروشهاست لزومی نداره شما یه دیتابیس جدید با نام سال مالی 96 یا 97 و.... ایجاد کنید شما در واقع جداول حسابها ، پرداختی ها ، اسناد ، خرید ها و فروشها و... رو با استفاده از اسکریپت میسازید (با نام جدید هرسال مثال : faktor95 و faktor96 و ... ) و مجموع بدهکاری یا بستانکاری این جداول رو از سال قبل میگیرید و یک رکورد در ابتدای جدول با نام "افتتاحیه" یا "منقول از سال قبل" در جداول جدید ایجاد میکنید و در ستون مربوط به (بدکار یا بستانکار) اینسرت میکنید در صورتی که برای هر سال دیتابیس جدید داشته باشید ، در بکاپ گیری باید از هر سال بکاپ مجدد بگیرید با سلام و تشکر شما کاملا درست می فرمائید منظور ما هم همون ساخت جدوال با نام جدید هرسال مثال : faktor95 و faktor96 و ... است و مجموع بدهکاری یا بستانکاری این جداول رو از سال قبل بگیر و یک رکورد در ابتدای جدول با نام "افتتاحیه" یا "منقول از سال قبل" در جداول جدید ایجاد کند و در ستون مربوط به (بدکار یا بستانکار) اینسرت کن با چ دستوراتی میشه با توجه به اینجه جدول موجود هست فقط باید خالی بشه و فقط تغییر نام بشه و اون سطر اول ایجاد بکنه وقتی زدیم ایجاد سال مالی این کار انجام بده من که مبتدی هستم و از اکسس استفاده می کنم

niknam_mh
چهارشنبه 09 فروردین 1396, 13:45 عصر
با سلام و تشکر شما کاملا درست می فرمائید منظور ما هم همون ساخت جدوال با نام جدید هرسال مثال : faktor95 و faktor96 و ... است و مجموع بدهکاری یا بستانکاری این جداول رو از سال قبل بگیر و یک رکورد در ابتدای جدول با نام "افتتاحیه" یا "منقول از سال قبل" در جداول جدید ایجاد کند و در ستون مربوط به (بدکار یا بستانکار) اینسرت کن با چ دستوراتی میشه با توجه به اینجه جدول موجود هست فقط باید خالی بشه و فقط تغییر نام بشه و اون سطر اول ایجاد بکنه وقتی زدیم ایجاد سال مالی این کار انجام بده من که مبتدی هستم و از اکسس استفاده می کنم
باسلام
من از روشی که جناب شهریاری میگن چندساله استفاده می کنم و خیلی هم خوب جواب میده فقط مشکلم بر سر حجم دیتابیس هست که همینطور در حال افزایشه.

shahryari
چهارشنبه 09 فروردین 1396, 13:55 عصر
سلام
این پروسه همه بانک های اطلاعاتی صادقه و اکسس و سیکول و غیره نداره
1- مجموع مانده بدهکاری اشخاص در جداول سال جاری باید استخراج بشه (دستورات اگریگت فانکشن رو درتالار جستجو کندی) مثال :
select (sum(bedehkari) - sum(bastankary)) from Accounts as mande where Id = @id
در دستور بالا گفتم جمع بدهکاری رو از جمع بستانکاری از جدول حسابها بگیر زمانی که ایدی شخص برابر فلانه و بعنوان مانده برگردان
حاصل دستور بالا یه عدد
2- سپس در بانک میتونید با دستور CREATE TABLE یه جدول بسازید و نام و فیلدهاشو مشخص کنید (برای سهولت میتونید از بانک اسکریپت بگیرید )
و درنهایت اینسرت اینتو اکانتس ..... الی اخر
ربطی هم به نوع بانک نداره چه اکسس چه اسکیوالایت و چه سیکول سرور
برای روشن شدن مطلب تو تالار جستجو کن مواردی رو که گفتم

niknam_mh
چهارشنبه 09 فروردین 1396, 16:22 عصر
سلام
این پروسه همه بانک های اطلاعاتی صادقه و اکسس و سیکول و غیره نداره
1- مجموع مانده بدهکاری اشخاص در جداول سال جاری باید استخراج بشه (دستورات اگریگت فانکشن رو درتالار جستجو کندی) مثال :
select (sum(bedehkari) - sum(bastankary)) from Accounts as mande where Id = @id
در دستور بالا گفتم جمع بدهکاری رو از جمع بستانکاری از جدول حسابها بگیر زمانی که ایدی شخص برابر فلانه و بعنوان مانده برگردان
حاصل دستور بالا یه عدد
2- سپس در بانک میتونید با دستور CREATE TABLE یه جدول بسازید و نام و فیلدهاشو مشخص کنید (برای سهولت میتونید از بانک اسکریپت بگیرید )
و درنهایت اینسرت اینتو اکانتس ..... الی اخر
ربطی هم به نوع بانک نداره چه اکسس چه اسکیوالایت و چه سیکول سرور
برای روشن شدن مطلب تو تالار جستجو کن مواردی رو که گفتم

استاد عزیزم جناب شهریاری
بسیار عالی .ممنون

gilsoft
شنبه 12 فروردین 1396, 23:40 عصر
سلام
با تشکر از جناب محرابی عزیز میشه در مورد کدها توضیح بدید چوم من هر کاری می کنم ارور میده.

سلام دوست عزیز

سال نو مبارک

ببخشید که خیلی دیر جواب میدم ( چون به تازگی وارد اینترنت شدم ) ....

میشه بفرمائید چه خطایی میده ؟

من دوباره Test کردم ( حتی تو یه سیستم دیگه ) .. بدرستی کار می‌کنه ...

niknam_mh
دوشنبه 14 فروردین 1396, 08:20 صبح
سلام دوست عزیز

سال نو مبارک

ببخشید که خیلی دیر جواب میدم ( چون به تازگی وارد اینترنت شدم ) ....

میشه بفرمائید چه خطایی میده ؟

من دوباره Test کردم ( حتی تو یه سیستم دیگه ) .. بدرستی کار می‌کنه ...

با سلام خدمت استاد گرامی جناب محرابی عزیز
ارور زیر رو میده خیلی هم روش کار کردم ولی نشد!!

144853

gilsoft
دوشنبه 21 فروردین 1396, 09:02 صبح
با سلام خدمت استاد گرامی جناب محرابی عزیز
ارور زیر رو میده خیلی هم روش کار کردم ولی نشد!!

144853

سلام دوست عزیز

لطفا از قسمتهای زیر در Sql Server ( مشخصات دیتابیس مورد نظر ) عکس بگیر .. تا ببینم مشکل از کجاست :متفکر:

144927
144928

منتظرم .....

niknam_mh
دوشنبه 21 فروردین 1396, 16:57 عصر
با سلام

144931

144932