PDA

View Full Version : سوال: کد کل،معین و تفضیلی



M.Javad
شنبه 30 شهریور 1387, 14:11 بعد از ظهر
سلام خدمت همه دوستان
من 3 جدول دارم برای بدست اوردن کد یک حساب در برنامه حسابداری
1- جدول حساب کل
2- جدول حساب معین
3- جدول حساب تفضیلی
تونستم 3 کد رو ترکیب کرده و کد اصلی حساب رو بدست بیارم طبق نمونه ارسال از طریق کوئری qryAccount
اما مشکل اینه که وقتی می خواهم از این کد و نام حساب توی یک کوئری دیگه استفاده کنم امکانش نیست
ممنون میشم اگه راهنمایی کنید
اگر راه دیگه برای کد کل،معین و تفضیلی هست محبت کنید و راهنمایی کنید

dadsara
یکشنبه 31 شهریور 1387, 08:33 قبل از ظهر
باسلام
دوست عزیز ، معمولا در برنامه های حسابداری و یا روش سنتی (دفترداری ) کد معین بصورت دستی ایجاد می شود البته با فرمول خاص خود
- مثلا دو شماره اول شماره کل ، سه شماره بعد شماره معین ، و سه شماره آخر شماره جزء یا تفصیلی
علت عدم اجرای کوئری 2 شما این است که در جدول tblvec شماره حساب 101101101 می باشد ولی در کوئری QryAccount شماره حساب بصورت 1101101 ایجاد شده است طبعتا هنگام ارتباط این دو خطا پیش می آید .
- اگر برای ایجاد کدهای حساب خود از فرم استفاده می کنید و می خواهید شماره دهی به حساب تفصیلی بصورت اتوماتیک باشد ، می توانید به راحتی ابتدا حساب کل سپس کد معین را انتخاب کرده سپس نام حساب تفصیلی یا جزء خود را وارد نمائید و در رویداد کلید ذخیره خود اینگونه بنویسید که بزرگترین شماره حساب تفصیلی مربوط به معین را جستجو کند آنگاه به آن یکی اضافه کند و شماره حساب تفصیلی را ایجاد نماید

M.Javad
یکشنبه 31 شهریور 1387, 11:53 قبل از ظهر
دوست عزیزم جناب dadsara
ممنون که جواب دادین
ولی مشکل اصلی من توی شماره دهی به کد تفضیلی نیست و در حقیقت مشکل استفاده از کد ترکیبی بدست اومده توی یک سند حسابداری است
اجازه بدید بهتر توضیح بدم
من توی بانک سند چند فیلد دارم (شماره سند-تاریخ-بدهکار-بستانکار-کد حساب و نام حساب) و از طریق یک کوئری و سه جدول (کد کل-معین و تفصیلی) یک کد برای حساب بدست اوردم و می خواهم این کد رو به کد حساب در جدول سند ارتباط بدم البته برای این کار در Query2 ازارتباط دادن بین جدول tblVec و qryAccount استفاده کردم که متاسفانه به مشکل برخوردم
در ضمن مشکل دیگه اینکه اگر یک حساب کد تفصیلی نداشته باشه برنامه باید چطوری با اون برخورد کنه ؟
پیشاپیش از راهنمایی شما تشکر می کنم
در ضمن خطائئ رو که به اون برخوردم رو ضمیمه می کنم

sib_data
یکشنبه 31 شهریور 1387, 15:21 بعد از ظهر
سلام
شما بايد كدهاتون به صورت ثابت و به صورت تكست باشه يعني دو رقم براي كل سه رقم براي معين و سه رقم براي تفضيل حلا هر جا كه خواستيد كه كد 8 رقمي داري كه دو رقم سمت چپ كل ميشه از رقم سوم به طول سه رقم معين و از رقم 6 به طول سه رقم هم تفضيل كه جدا كردن ان هم با كد left و mid است.

dadsara
سه شنبه 02 مهر 1387, 09:09 قبل از ظهر
دوست عزیزم جناب dadsara
ممنون که جواب دادین
ولی مشکل اصلی من توی شماره دهی به کد تفضیلی نیست و در حقیقت مشکل استفاده از کد ترکیبی بدست اومده توی یک سند حسابداری است
اجازه بدید بهتر توضیح بدم
من توی بانک سند چند فیلد دارم (شماره سند-تاریخ-بدهکار-بستانکار-کد حساب و نام حساب) و از طریق یک کوئری و سه جدول (کد کل-معین و تفصیلی) یک کد برای حساب بدست اوردم و می خواهم این کد رو به کد حساب در جدول سند ارتباط بدم البته برای این کار در Query2 ازارتباط دادن بین جدول tblVec و qryAccount استفاده کردم که متاسفانه به مشکل برخوردم
در ضمن مشکل دیگه اینکه اگر یک حساب کد تفصیلی نداشته باشه برنامه باید چطوری با اون برخورد کنه ؟
پیشاپیش از راهنمایی شما تشکر می کنم
در ضمن خطائئ رو که به اون برخوردم رو ضمیمه می کنم
باسلام
- دوست عزیز در خط سوم عرایضم توضیح دادم که خطا پیش آمده از کجا می باشد
( عدم یکنواختی یا مشابه همدیگر نبودن شماره حسابها می باشد اگر کمی توجه کنید متوجه آن می شوید )
- با عرض پوزش باید عرض کنم اسناد حسابداری حداقل دو ردیف دارند که یکی از آنها بدهکار و دیگری بستانکار می باشد
- بانک جنابعالی باید به دو جدول تفکیک شود
1- شماره سند و تاریخ سند
2- شماره سند ، کد حساب تفضیلی ، بدهکار ، بستانکار و شرح سند
- لازم به توصیح می باشد که کد حساب تفضیلی باید با جدول حساب تفضیلی ارتباط داشته باشد

M.Javad
سه شنبه 02 مهر 1387, 13:13 بعد از ظهر
سلام
دوست عزيز من فايل رو مجدداً براتون مي گذارم ولي با اندک تغيير
1-کد حساب موجود در tblvec رو اصلاح کردم
2-در برنامه اصلي من 2 جدول براي ثبت سند وجود دارد که ان را نيز در فايل قرار دادم ولي متاسفانه باز هم مشکل من برطرف نشد
درضمن من رشته ام حسابداريه و با اصول حسابداري آشنا هستم و توي برنامه هم مي خواهم تز حسابداري دوبل (دوطرفه) استفاده بکنم
تنها مشکل من در حال حاضر استفاده از کد بدست آمده از ترکيب کد کل - معين و تفضيلي در فرم و يا گزارش هست
لطفا جهت حل مشکل مرا راهنمايي کنيد

dadsara
چهارشنبه 03 مهر 1387, 09:37 قبل از ظهر
سلام
دوست عزيز من فايل رو مجدداً براتون مي گذارم ولي با اندک تغيير
1-کد حساب موجود در tblvec رو اصلاح کردم
2-در برنامه اصلي من 2 جدول براي ثبت سند وجود دارد که ان را نيز در فايل قرار دادم ولي متاسفانه باز هم مشکل من برطرف نشد
درضمن من رشته ام حسابداريه و با اصول حسابداري آشنا هستم و توي برنامه هم مي خواهم تز حسابداري دوبل (دوطرفه) استفاده بکنم
تنها مشکل من در حال حاضر استفاده از کد بدست آمده از ترکيب کد کل - معين و تفضيلي در فرم و يا گزارش هست
لطفا جهت حل مشکل مرا راهنمايي کنيد
باسلام
دوست عزیز چنانچه اصراری نداشته باشید که کد حسابها از نوع عدد باشد
فایل جنابعالی اصلاح شد و کوئری 2 اجرا می شود

M.Javad
چهارشنبه 03 مهر 1387, 19:38 بعد از ظهر
دوست عزيز جناب dadsara
از راهنماييتون ممنون 2 سوال درام

1- ايا استفاده از فرمت Text به جاي Number اشکالي در برنامه ايجاد نخواهد کرد
2- آيا روش استفاده کد کل معين و تفضيلي به روش فوق روشي اصولي است يا خير

و نيز مشکل ديگري نيز دارم که شايد مربوط به موارد فوق نباشد و لي خواهشمندم اگر امکان دارد مرا راهنمايي کنيد:
من از طريق اتصال Ado به جداول فايل متصل مي شوم وبراي جستجو کردن يک رکورد خاص مثلا از جدول tblAccount_Main از تکه کد زير استفده مي کنم

Dim RecSet, MySgl As String
Dim Cnn1 As ADODB.Connection
Set Cnn1 = CurrentProject.Connection
Dim MyRecordSet As New ADODB.Recordset
MyRecordSet.ActiveConnection = Cnn1

MySgl = "tblAccount_Main"
MyRecordSet.Open MySgl, , adOpenStatic, adLockOptimistic
MyRecordSet.Find "MainAccountID=102"
ولي زماني که مي خواهم جستجو بر اساس 2 يا بيشتر پارامتر صورت بگيرد جواب مناسب را نمي گيرم
مثلا براي کد زير به جواب نمي رسم

MyRecordSet.Find "MainAccountID=102" AND "GeneralAccountID=2"

در صورت امکان راهنمايي فرماييد

dadsara
شنبه 06 مهر 1387, 08:29 قبل از ظهر
دوست عزيز جناب dadsara
از راهنماييتون ممنون 2 سوال درام

1- ايا استفاده از فرمت Text به جاي Number اشکالي در برنامه ايجاد نخواهد کرد
2- آيا روش استفاده کد کل معين و تفضيلي به روش فوق روشي اصولي است يا خير

و نيز مشکل ديگري نيز دارم که شايد مربوط به موارد فوق نباشد و لي خواهشمندم اگر امکان دارد مرا راهنمايي کنيد:
من از طريق اتصال Ado به جداول فايل متصل مي شوم وبراي جستجو کردن يک رکورد خاص مثلا از جدول tblAccount_Main از تکه کد زير استفده مي کنم

Dim RecSet, MySgl As String
Dim Cnn1 As ADODB.Connection
Set Cnn1 = CurrentProject.Connection
Dim MyRecordSet As New ADODB.Recordset
MyRecordSet.ActiveConnection = Cnn1

MySgl = "tblAccount_Main"
MyRecordSet.Open MySgl, , adOpenStatic, adLockOptimistic
MyRecordSet.Find "MainAccountID=102"
ولي زماني که مي خواهم جستجو بر اساس 2 يا بيشتر پارامتر صورت بگيرد جواب مناسب را نمي گيرم
مثلا براي کد زير به جواب نمي رسم

MyRecordSet.Find "MainAccountID=102" AND "GeneralAccountID=2"

در صورت امکان راهنمايي فرماييد
باسلام
- دوست عزیز استفاده از text به جای Number هیچ مشکلی پیش نمی آورد چرا که شما جهت شناسائی حسابهای خود احتیاج به یک کد دارید و نوع آن اصلا مهم نیست
- باتوجه به اینکه جنابعالی کد حسابهای خود را کلید قرار داده اید چنانچه فعالیت و یا تعداد حسابهای شما زیاد باشد با مشکل برخورد خواهید کرد
- پیشنهاد می کنم اگر حساب کل شما یک رقمی و معین شما 3 رقمی است حتما کد معین خود را ترکیب ( ابتدا حساب کل سپس کد معین ) یعنی 4 رقمی باشد و حساب تفضیلی شما چنانچهقصد دارید 3 رقمی باشد باید آنرا 7 رقمی انتخاب کنید که ترکیب ( کل+ معین+تفضیلی ) خواهد بود در اینصورت دیگر نیازی به اجرای کوئری 2 جهت تشکیل کد حساب نمی باشد و بعدا نیز با مشکلات کمتری برخورد خواهید نمود
- در خصوص اشکل پیش آمده درمورد پیدا کردن رکورد اگر صلاح بدانی و نمونه فایل را قرار دهید نمونه های راحت تری نیز جهت پیدا کردن یک حساب و . . . وجود دارد

M.Javad
یکشنبه 07 مهر 1387, 04:26 قبل از ظهر
با تشکر مشکلم حل شد