PDA

View Full Version : مشكل در MSHFG



MMR_1344
سه شنبه 21 خرداد 1387, 12:44 عصر
با سلام به کليه دوستان عزيز
من برنامه ای برای تنظيم ساعات ورود و خروج کالا از انبار ايجاد کردم در اين برنامه اطلاعات مربوط به ورود و خروج کالا که توسط دستگاهی ثبت میشود خوانده و درون فايل اکسس ريخته میشود (فايل Merchandise) در اين فايل دو جدول وجود دارد جدول اول Table1 مربوط به ساعت ورود و خروج میباشد که هر يک (ساعت ورود يا ساعت خروج) در سطر جداگانه درج میگردد جدول شماره 2 مروط به روزهای ماه (Date) و روزهای هفته (Text)می باشد
پس از اجرای برنامه اطلاعات مربوط به کد کالا در يک MSFG و اطلاعات مربوط به ساعت ورود و خروج پس از انتخاب کد کالا در يک MSHFG نمايش داده میشه در اين برنامه میتوان اطلاعات مورد نياز رو ویرایش نمود منظور از ويرايش اصلاح ساعت ورود يا خروج می¬باشد
مشکل اصلی در اين است که اگر بخواهم در برنامه اطلاعات را پس از ويرايش ضبط کنیم روش اين کار را نمیدانم یعنی اگر اطلاعات تغييری نکرد در فايل تاثيری نگذارد اگر اطلاعات تغيير نمود اصلاحات انجام شود واگر اطلاعات حذف شود در فايل نيز عمل حذف انجام شود و در نهايت اگر اطلاعات جديد وارد شد اين اطلاعات به فايل افزوده شود در اين برنامه ماژولی ضميمه شده به نام mdiSave_Data که من بر اساس آنچه که در نظر داشتم دستوراتی را وارد نمودم
همچنين مشکل ديگر اين است که چنانچه يک کالا را بيش از يک بار انتخاب کنيم اطلاعات افزوده شده بدان مجدداً به فايل اکسل اضافه میشود و تعداد آن افزايش مییابد
اگر امکان داره مشکل اون رو بررسی و چناچه راهکاربهتری برای اين کار وجود داره ارائه کنيد

MMR_1344
سه شنبه 21 خرداد 1387, 20:58 عصر
دوستان محترم کسی نيست اين مشکل رو حل کنه

دوستان من مدتی نبودم انگار کسی هم در اين مورد نظری نداره نمیدونم شايد هم اينقدر ساده به نظر میرسه که کسی نمخواد خودش رو خسته کنه به هر حال اگر بتونين کمک کنين متشکر میشم ممنون

Mbt925
چهارشنبه 29 خرداد 1387, 13:55 عصر
علت پاسخ داده نشدن سوال شما توسط دوستان عنوان تاپیکتونه.

اصلا عنوان خوبی انتخاب نکردید، کسی چه می دونه که منظور شما از MSHFG کنترل FlexGrid و یا یه نوعی از اونه؟

توی روشی که شما انتخاب کردید ، همه ی کارا رو دارید بصورت دستی انجام میدید و این کارتون رو خیلی دشوار می کنه.

از کنترل هایی که مستقیم به دیتابیس متصل میشن استفاده کنید.

__siavash__
چهارشنبه 29 خرداد 1387, 15:44 عصر
منم پیشنهاد میکنم اگر محدودیتی وجود نداره از vsFlexGrid استفاده کنید و
در رویداد Form_Load این کد رو جایگزین کدهای قبلی کنید

Dim Conter As Integer
Dim Cnn As New ADODB.Connection
Dim RecSet As New ADODB.Recordset
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\BaseName.mdb"
RecSet.Open "Select Name & Space(3) & Famili AS NameFamili,Per_Code From Personel", Cnn, adOpenKeyset, adLockOptimistic, adCmdText
'# Set RecordSet As vsFlexGrid DataSource
Set MSFG.DataSource = RecSet
'# Set vsFlexGrid RowNomber For First FixedColumn
For Conter = 1 To RecSet.RecordCount
MSFG.TextMatrix(Conter, 0) = Conter
Next
'# Organization vsFlexGrid
For Conter = 0 To MSFG.Cols - 1
MSFG.ColWidth(Conter) = IIf(Conter = 0, 450, 1400)
MSFG.ColAlignment(Conter) = flexAlignCenterCenter
Next

RecSet.Close
Cnn.Close
تا اطلاعات رو به همان شکل قبلی منتها با کدی کوتاهتر داشته باشید
اگر مشکلی با این قسمت ندارید بقیه کد رو مطابق با این تغییر تصحیح کنیم !!!
این تصویر خروجی کدهای بالاست

MMR_1344
یک شنبه 02 تیر 1387, 15:02 عصر
متشکرم دوست عزیز
اين کار رو انجام میدم ببينم مشکلم حل میشه یا نه