PDA

View Full Version : ایجاد فایل نگین برای پرداخت حقوق



fazl11
جمعه 16 دی 1390, 20:34 عصر
سلام دوستان می خوام یه فایلی که به اون نگین می گن تولید کنم تا حقوق پرسنل رو توسط یه فلاپی به بانک بدم تا برام واریز کنه
برای اینکار به مسکل خوردم چون چند آیتم داره یکی اینکه ردیف می خواد بطوریکه باید 5 کارکتر باشه مثل 00001 و 00002 و .... 01890 و 01891 همینطور مبلغ حقوق هم 15 کارکتر باشه بطور مثال 000000009854340
با تغییر توی قابلیت فرمت نشون میده ولی وقتی خروجی می گیرم صفرهای پشت ردیف و حقوق رو از بین می بره چون باید به txt تبدیل بشه ممنون میشم راهنمایی بفرمایید

مهدی د
شنبه 17 دی 1390, 19:13 عصر
تابع جواب نمیده؟Format(FldName,"000000000000000")

mj_bayati
شنبه 17 دی 1390, 21:42 عصر
فک کنم باید فیلدی که این مقادیر توش ذخیره میشه از نوع Text باشه
اگه از نوع Number باشه حتی با اجرای تابع Format یا Mask و.. هم نمیشه در نهایت صفر پشت عدد وارد کرد
اگه فیلدتون Text باشه و یه فرمت مناسب روش بزارین فک نمیکنم مشکلی پیش بیاد
بازهم بهتره نمونه بزارین تا بحث واضح تر بشه

fazl11
یک شنبه 18 دی 1390, 19:49 عصر
سلام دوستان
همونطور که توضیح دادم از قالب فرمت و یا ماسک نمی تونیم استفاده کنیم از طرفی یه فایل که تعداد رکوردای زیادی داره از قسمت حقوق گرفته میشه که امکان ثبت برای من وجود نداره البته توی اکسل با چند بار جابجایی و یا استفاده از تابع mid فایل مورد نظر رو درست کرد من می خوام بعد از محاسبه حقوق فایل هم تولید بشه
ممنون میشم راهنمایی بفرمایید

mj_bayati
یک شنبه 18 دی 1390, 22:23 عصر
با سلام
فک میکنم (اگه منظورتون رو درست فهمیده باشم) مشکل شما حل شد
یعنی همون چیزی که گفتم رو اعمال کردم
فرمت فیلدهاتون رو از Number به Text تغییر دادم
بازم چکش کن، خبر بده

80413

fazl11
جمعه 23 دی 1390, 17:43 عصر
دوست عزیز خدمتت عرض کردم بعد از محاسبه حقوق به تعداد هزار نفر دیگه نمی تونم دوباره بیام دستی ردیف ایجاد کنم یا اینکه مبالغ رو چک کنم ببینم اگه 7 رقمی هشت رقم قبلش صفر بزارم الی آخر می خوام خود برنامه اینها رو چک کنه و بیاد فایل رو درست کنه یعنی مثل فایل پیوست بشه

Profesorjd
جمعه 23 دی 1390, 20:24 عصر
با سلام
یک کوئری آپدیت درست کن که فیلد مد نظرت رو با عدد 10000000000000000 جمع کنه و ازش یک Mid با دو رقم بگیره البته فرمتش باید تکست باشد

mid(10000000000000000+Filed;2)

Abbas Amiri
شنبه 24 دی 1390, 01:35 صبح
احتمال نمونه زیر جواب کارتان را می دهد:

fazl11
پنج شنبه 29 دی 1390, 20:34 عصر
ممنون از لطف تمام دوستان بالاخص جناب امیری

fazl11
دوشنبه 18 خرداد 1394, 15:09 عصر
جناب اقای امیر عزیز
سلام
مجددا مزاحمتون شدم
اگه ممکنه برای فایلی که زحمت کشیدید بتونید بالای ردیف اول یه header ایجاد کرد
با فرمت 4 اول کد شعبه 6 رقم بعدی تاریخ 18 رقم بابت جمع کل مبلغ واریزی و 5 رقم برای تعداد واریزی یا آخرین ردیف واریزی
پیشاپیش از زحماتتون ممنونم

Abbas Amiri
دوشنبه 18 خرداد 1394, 19:02 عصر
جناب اقای امیر عزیز
سلام
مجددا مزاحمتون شدم
اگه ممکنه برای فایلی که زحمت کشیدید بتونید بالای ردیف اول یه header ایجاد کرد
با فرمت 4 اول کد شعبه 6 رقم بعدی تاریخ 18 رقم بابت جمع کل مبلغ واریزی و 5 رقم برای تعداد واریزی یا آخرین ردیف واریزی
پیشاپیش از زحماتتون ممنونم

سلام
این اطلاعاتی که باید اضافه بشه ، کجا هست ؟ در یک جدول ، در فرم ؟ اگر مجددا نمونه بذارید بهتره .

mosaArabi
سه شنبه 19 خرداد 1394, 06:37 صبح
جناب امیری
با سلام
نمونه خدمت شما
لطفا اگه زحمتی نداره بشود در یک دکمه از تیبل خروجی به تکست گرفت و یک دکمه از گزارش خروجی به تکست
نمونه خروجی تکست بنده هم که مشکل فاصله داره کنار فایل پیوست میباشد
ممنون

Abbas Amiri
سه شنبه 19 خرداد 1394, 20:52 عصر
جناب امیری
با سلام
نمونه خدمت شما
لطفا اگه زحمتی نداره بشود در یک دکمه از تیبل خروجی به تکست گرفت و یک دکمه از گزارش خروجی به تکست
نمونه خروجی تکست بنده هم که مشکل فاصله داره کنار فایل پیوست میباشد
ممنون

سلام
برای تولید فایل تکست از همان روش پست 8 استفاده کنید تا بدون مشکل بتوانید این کار را انجام دهید .
برای خروجی از گزارش هم اگر گزارش را در حالت Report View استفاده کنید میتوانید از باتن و درج کد در رخداد کلیک آن استفاده کنید.

fazl11
شنبه 23 خرداد 1394, 13:53 عصر
با سلام مجدد
به پیوست فایل های مربوطه تقدیم می گردد
132198132199

Abbas Amiri
یک شنبه 24 خرداد 1394, 22:24 عصر
با سلام مجدد
به پیوست فایل های مربوطه تقدیم می گردد
132198132199

سلام
دوست عزیز شما در فرم عبارت:
"با دادن اطلاعات مثل کد شعبه (4رقمی) و تاریخ و جمع مبلغ و تعداد ردیف مثل فایل پیوست سرتیتر ایجاد نمود"
را درج کرده اید و جواب سوال بنده را نداده اید.این اطلاعات منظور شما از کجا می آید؟

fazl11
دوشنبه 25 خرداد 1394, 07:37 صبح
سلام
خدمتتان عرض کردم یه بعنوان پیش فرض با کد شعبه چهار رقمی 0129 و تاریخ روز جاری و جمع کل مبلغ واریزی که در فایل تولید میشه و تعداد ردیف های واریزی (بزرگترین ردیف)
یا روی فرم جایی برای درج کد شعبه ایجاد کرد تا از اون استفاده کرد تا مانند فایل تکست پیوست خروجی داشته باشه

Abbas Amiri
سه شنبه 26 خرداد 1394, 09:01 صبح
سلام
خدمتتان عرض کردم یه بعنوان پیش فرض با کد شعبه چهار رقمی 0129 و تاریخ روز جاری و جمع کل مبلغ واریزی که در فایل تولید میشه و تعداد ردیف های واریزی (بزرگترین ردیف)
یا روی فرم جایی برای درج کد شعبه ایجاد کرد تا از اون استفاده کرد تا مانند فایل تکست پیوست خروجی داشته باشه


سلام
باا فرض اینکه این فیلدهای مورد نظر درهمان جدول باشند(که به نظر منطقی نیست) کدهای زیر را جایگزین کنید:
Private Sub Command8_Click()
On Error GoTo errExport
Dim rs As DAO.Recordset
Dim strList As String, sPath As String
CurrentDb.Execute "DELETE * FROM " & Me.RecordSource & " WHERE Nz(Cash,0)=0 AND Nz(Account,0)=0"
sPath = txtAddress
If Dir(sPath) <> "" Then Kill sPath
Set rs = CurrentDb.OpenRecordset("Table2")
Open sPath For Binary Access Write As #1
strList = Format(Nz(rs.Fields("code")), String(4, "0")) & _
Format(Nz(rs.Fields("sDate")), String(6, "0")) & _
Format(Nz(rs.Fields("Total")), String(18, "0")) & _
Format(Nz(rs.Fields("VarizCount")), String(5, "0")) & vbNewLine
Put #1, , strList
Do While Not rs.EOF
strList = Format(Nz(rs.Fields(0), 0), String(5, "0")) & _
Format(Nz(rs.Fields(1), 0), String(15, "0")) & _
Format(Nz(rs.Fields(2), 0), String(15, "0")) & vbNewLine
Put #1, , strList
rs.MoveNext
Loop

Close #1
rs.Close
Set rs = Nothing
sPath = "notepad.exe " & sPath
Shell sPath, vbNormalFocus
Exit Sub
errExport:
Close #1
End Sub

fazl11
سه شنبه 26 خرداد 1394, 13:51 عصر
با تشکر از آقای امیری عزیز
روی کد ارسالی کار می کنم ان شااله که حل میشه
اگر راهکار بهتری به نظرتون رسید ممنون میشم ارائه بفرمائید
****فرض اینکه این فیلدهای مورد نظر درهمان جدول باشند(که به نظر منطقی نیست)****