Showing posts with label Access. Show all posts
Showing posts with label Access. Show all posts

Monday, August 31, 2020

 Suppose we have 3 table in an MS-Access database.

Sample File Download Link.

1. Table 1 tblItems have items details information. Here ItemCode is Primary Key field.


2. Table 2 tblPurchase contain transactions of material purchasing.



3. Table 3 tblSales contain sales transactions.



Output Result:



Now we want to calculate stock position from these 3 tables. We will take items details from tblItems, purchase quantity from tblPurchase, sales quantity from tblSales for each item then minus sales quantity from purchase quantity to show stock quantity.

Below is query to calculate stock from these 3 table.

SELECT TblItems.ItemCode, TblItems.Description, TblItems.ItemClass, TblItems.ItemCategory, Nz(TblPurchaseAgg.pQuantity,0) AS PurchaseQuantity, Nz(TblSalesAggs.sQuantity,0) AS SalesQuantity, (Nz(TblPurchaseAgg.pQuantity,0)-Nz(TblSalesAggs.sQuantity,0)) AS Stock, TblItems.Unit FROM (TblItems INNER JOIN (SELECT TblPurchase.ItemCode AS ItemCode, Sum(TblPurchase.Quantity) AS pQuantity FROM TblPurchase GROUP BY TblPurchase.ItemCode)  AS TblPurchaseAgg ON TblItems.ItemCode = TblPurchaseAgg.ItemCode) LEFT JOIN (SELECT tblSales.ItemCode AS ItemCode, Sum(tblSales.Quantity) AS sQuantity FROM tblSales GROUP BY tblSales.ItemCode)  AS TblSalesAggs ON TblItems.ItemCode = TblSalesAggs.ItemCode;

Above query will show items which have purchase transactions as we use INNER JOIN to tblPurchase. If if we want to see all the items from tblItems which has purchase transactions or not then we have to use LEFT JOIN to tblPurchase. Basically left join will select all the items from tblItems and the items are equal to tblPurchase. So, query will be like below-

SELECT TblItems.ItemCode, TblItems.Description, TblItems.ItemClass, TblItems.ItemCategory, Nz(TblPurchaseAgg.pQuantity,0) AS PurchaseQuantity, Nz(TblSalesAggs.sQuantity,0) AS SalesQuantity, (Nz(TblPurchaseAgg.pQuantity,0)-Nz(TblSalesAggs.sQuantity,0)) AS Stock, TblItems.Unit FROM (TblItems LEFT JOIN (SELECT TblPurchase.ItemCode AS ItemCode, Sum(TblPurchase.Quantity) AS pQuantity FROM TblPurchase GROUP BY TblPurchase.ItemCode)  AS TblPurchaseAgg ON TblItems.ItemCode = TblPurchaseAgg.ItemCode) LEFT JOIN (SELECT tblSales.ItemCode AS ItemCode, Sum(tblSales.Quantity) AS sQuantity FROM tblSales GROUP BY tblSales.ItemCode)  AS TblSalesAggs ON TblItems.ItemCode = TblSalesAggs.ItemCode;

And if anyone want to see only those items which stocks are available. In an another word which stock is zero, we don't want see those in query result then use following query.

SELECT TblItems.ItemCode, TblItems.Description, TblItems.ItemClass, TblItems.ItemCategory, Nz(TblPurchaseAgg.pQuantity,0) AS PurchaseQuantity, Nz(TblSalesAggs.sQuantity,0) AS SalesQuantity, (Nz(TblPurchaseAgg.pQuantity,0)-Nz(TblSalesAggs.sQuantity,0)) AS Stock, TblItems.Unit FROM (TblItems LEFT JOIN (SELECT TblPurchase.ItemCode AS ItemCode, Sum(TblPurchase.Quantity) AS pQuantity FROM TblPurchase GROUP BY TblPurchase.ItemCode)  AS TblPurchaseAgg ON TblItems.ItemCode = TblPurchaseAgg.ItemCode) LEFT JOIN (SELECT tblSales.ItemCode AS ItemCode, Sum(tblSales.Quantity) AS sQuantity FROM tblSales GROUP BY tblSales.ItemCode)  AS TblSalesAggs ON TblItems.ItemCode = TblSalesAggs.ItemCode WHERE ((((Nz(TblPurchaseAgg.pQuantity,0)-Nz(TblSalesAggs.sQuantity,0)))>0));


If you have any query then please let us know by comments. Also you can send mail to harun24hr@gmail.com

My question to stackoverflow.

Thursday, July 23, 2020

Sometime we need to enter password via inputbox for many reason. Microsoft excel or access do not have any inputbox to take input password. It take input as clear text and any user can see the password while typing. We can make it in two way. We can create a data input form having Text Box and specify property to mask input character as start (*) or other symbol. Another way is to write custom VBA function to do this. I will show how to write custom VBA function to mask inputbox character. Lets start.

1. First open a new workbook.
2. Open VBA code window (Alt+F11).
3. Insert a new module (Follow the below screenshot).


4. Copy and paste below codes to this module. You can also download codes from this link.

'======================= Code Start ======================

Option Explicit
Private Declare PtrSafe Function CallNextHookEx Lib "user32" (ByVal hHook As LongPtr, _
    ByVal ncode As LongPtr, ByVal wParam As LongPtr, lParam As Any) As LongPtr

Private Declare PtrSafe Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As LongPtr

Private Declare PtrSafe Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
    (ByVal idHook As LongPtr, ByVal lpfn As LongPtr, ByVal hmod As LongPtr, ByVal dwThreadId As LongPtr) As LongPtr

Private Declare PtrSafe Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As LongPtr) As LongPtr

Private Declare PtrSafe Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _
(ByVal hDlg As LongPtr, ByVal nIDDlgItem As LongPtr, ByVal wMsg As LongPtr, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr

Private Declare PtrSafe Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As LongPtr, _
ByVal lpClassName As String, ByVal nMaxCount As LongPtr) As LongPtr

Private Declare PtrSafe Function GetCurrentThreadId Lib "kernel32" () As LongPtr

Private Const EM_SETPASSWORDCHAR = &HCC
Private Const WH_CBT = 5
Private Const HCBT_ACTIVATE = 5
Private Const HC_ACTION = 0

Private hHook As LongPtr


Public Function NewProc(ByVal lngCode As LongPtr, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr
    Dim RetVal
    Dim strClassName As String, lngBuffer As LongPtr

    If lngCode < HC_ACTION Then
        NewProc = CallNextHookEx(hHook, lngCode, wParam, lParam)
        Exit Function
    End If

    strClassName = String$(256, " ")
    lngBuffer = 255

    If lngCode = HCBT_ACTIVATE Then
        RetVal = GetClassName(wParam, strClassName, lngBuffer)
        If Left$(strClassName, RetVal) = "#32770" Then
            SendDlgItemMessage wParam, &H1324, EM_SETPASSWORDCHAR, Asc("*"), &H0
        End If
    End If

    CallNextHookEx hHook, lngCode, wParam, lParam
End Function

Public Function PasswordBox(Prompt, Title) As String
    Dim lngModHwnd As LongPtr, lngThreadID As LongPtr

    lngThreadID = GetCurrentThreadId
    lngModHwnd = GetModuleHandle(vbNullString)

    hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID)

    PasswordBox = InputBox(Prompt, Title)
    UnhookWindowsHookEx hHook
End Function

'================= Code End ===================

5. Then make a public sub to call the PasswordBox function. You can call the function like below.

Sub TestPasswordBox()
    Range("A1") = PasswordBox("Enter password to test.", "Password Box")
End Sub


E-Mail: harun24hr@gmail.com

Wednesday, January 6, 2016

Post এর Heading অনেকের কাছে এলোমেলো লাগতে পারে। আমার আজকের টিউনের মূল উদ্দেশ্য হলো Microsoft Access এ কিভাবে List box এর ডাটা ফিল্টারিং করতে হয় এবং তার ব্যবহার।


(১) MS Access open করে একটি নতুন ফাইল নেই।
(২) নিচের চিত্রের মত করে একটি টেবিল ডিজাইন করি। টেবিলটি tblAbrAcr নামে save করি।

(৩) এখন ঐ টেবলের ডাটা নিয়ে একটি Query Design করি এবং qryAbrAcr নামে save করি। (নিচের চিত্রে কুয়েরী ডিজাইনের ধাপ সমূহ দেওয়া হলো।

(৪) একটি Form নেই এবং এতে একটি Text box এবং একটি List box নেই। Text box এর নাম txtSearch এবং List box এর নাম lstAbrAcr দিয়ে Form টি frmAbrAcr নামে সেভ করি।
(৫) List Box এর Row source হিসেবে qryAbrAcr Select করুন। (নিচের চিত্র দেখুন)

(৬) Text box এর “On Change” event এ নিচের কোড গুলো লিখুন। (নিচের চিত্রে কোড লিখার ধাপসমূহ দেওয়া হলো।
On Error GoToErrHandler
Me.lstAbrAcr.RowSource = "Select*from qryAbrAcr where acr like ('" &Me.txtSearch.Text& "*')"
Exit Sub
ErrHandler:
MsgBoxErr.Description, vbCritical, "Error"

Save করে code window close করে দিন। এবার form টি রান করে Text box এ আপনার কাঙ্খিত Acronym টি লিখুন, প্রতিটি Letter type করার সাথে সাথে List box এর ডাটা ফিল্টার হবে এবং টেক্সট বক্সের ডাটার সাথে মিলকৃত ডাটা সমূহ দেখাবে।

আপনি ইচ্ছা করলে Data add বা Edit ও করতে পারেন। কোন Abbreviation add বা Edit করতে চাইলে আমার Sample File এর Form এর Add/Edit Abbreviation এ ক্লিক করুন।

এখন Acronym box acronym এবং Abbreviation box এ abbreviation লিখে Add Button এ ক্লিক করুন, তাহলে Data টি ‍add হয়ে যাবে। আপনি ইচ্ছা করলে কোন ডাটা Edit বা Remove ও করতে পারেন।

যেকোন Query এর জন্য মেইল করুন harun24hr@gmail.com

Sample File Download:    Hide_Show_Ribbon              Zip File (20 KB)

প্রথমে MS Access একটি নতুন ফাইল নিন একটি Form Form চারটি Command button নিন উপরের ছবির মত করে সাজিয়ে বাটনগুলোর নাম দিন

Show Ribbon button এর কোড:
DoCmd.ShowToolbar "Ribbon", acToolbarYes

Hide Ribbon button এর কোড:
DoCmd.ShowToolbar "Ribbon", acToolbarNo

Show Navigation Pane button এর কোড:
Call DoCmd.SelectObject(acTable, , True)

Hide Navigation Pane button এর কোড:
Call DoCmd.NavigateTo("acNavigationCategoryObjectType")
Call DoCmd.RunCommand(acCmdWindowHide)

নিচের Screenshot কোডগুলো দেওয়া আছে



Private Sub cmdHideNavPane_Click()
    Call DoCmd.NavigateTo("acNavigationCategoryObjectType")
    Call DoCmd.RunCommand(acCmdWindowHide)
End Sub

Private Sub cmdHideRibbon_Click()
    DoCmd.ShowToolbar "Ribbon", acToolbarNo
End Sub

Private Sub cmdShowNavPane_Click()
    Call DoCmd.SelectObject(acTable, , True)
End Sub

Private Sub cmdShowRibbon_Click()
    DoCmd.ShowToolbar "Ribbon", acToolbarYes
End Sub

Hide Ribbon Hide Navigation Pane এর কোড Startup Form এর “On Load” event লিখলে যখন ফাইলটি ওপেন করবেন তখন Ribbon Navigation Pane hide হয়ে যাবে

বুঝতে কোথাও সমস্যা হলে মেইল করবেন harun24hr@gmail.com
এখানে একটি MS Access প্রোগ্রাম ব্যবহার করে একটি Invoice System তৈরি করা হয়েছে। প্রোগ্রামটির কোড সমূহ উন্মুক্ত রাখা হয়েছে যাতে আগ্রহীরা কোডসমূহ দেখতে পারে এবং নিজেরা মডিফাই করতে পারে। আসুন দেখি কিভাবে এটি ব্যবহার করতে হবে।


(১) ফাইলটি খুললে নিচের ছবির মত Page দেখাবে।


(২) Invoice তৈরির জন্য Invoices Button এ ক্লিক করুন। নিচের ছবির মত একটি পেজ আসবে। নতুন Invoice তৈরির জন্য New button এ ক্লিক করুন। আপনার ডাটা এন্ট্রি করুন। এন্ট্রি শেষে Save button এ ক্লিক করুন। এখন View Button এ ক্লিক করে Invoice টি দেখতে ও প্রিন্ট করতে পারেন। Print Button এ Click করে সরাসরি প্রিন্ট করতে পারেন।এখানে Invoice টি দোকানের প্যাডে প্রিন্ট করার মত করে ডিজাইন করা হয়েছে (নিচের Screen Shot দেখুন)। আপনি চাইলে আপনার মত করে ডিজাইন করে নিতে পারেন। দোকান বা প্রতিষ্ঠানের নাম লগো ব্যবহার করতে পারেন।


(৩) কোন আইটেম Add বা Edit করার জন্য Add Item button এ ক্লিক করুন।

(৪) Model, Brand, Price ইত্যাদি Add বা Edit করার জন্য Add Models Button এ ক্লিক করুন। Price টা শুধুমাত্র দোকানদার নিজে দেখার জন্য।

(৫) সকল আইটেম একসাথে দেখার জন্য View All Items button এ ক্লিক করুন। এখান থেকেও আপনি বিভিন্ন তথ্য মডিফাই করতে পারবেন।

# Feel free to contact if you have any query about this post harun24hr@hotmail.com
Dependable Combo Box: Dependable Combo Box হলো একটি Combo Box এর Value এর উপর ভিত্তি করে আরেকটি Combo Box এর Value List define করা। আমরা দেখব কিভাবে Microsoft Access এ Dependable Combo Box তৈরি করা যায়।

এখান থেকে Sample File Download করে নিন।

(1)  প্রধমে একটি নতুন অ্যাকসেস পজেক্ট নেই। নিচের ছবির মত একটি table design করি। টেবিলের নাম দেই tblItemBrandModel এবং এত নিচরে মত করে Data Entry করি (Sample File  এ ডাটা দেওয়া আছে)।

(2)  এবার একটি Form নেই এবং Form এ তিনটি Combo Box নেই। Combo Box গুলোর নাম দেই যথাক্রমে cboItem, cboBrand, cboModel. Form টি frmComboBoxes নামে সেভ করি।

(3)  cboItem এর property থেকে Data ----> Row Source এ ক্লিক করি।

(4)  নিচের চিত্রের মত Show Table ---> Select Table ----> Add ---> Close ---> Select “Item” in Field ‍select করি। Save & Close Query builder.

(5)  cboBrand এর জন্য cboItem এর মত করে Query builder window open করি এবং নিচের চিত্রের মত করে প্রথমে Brand এবং পরে Item Filed select করি। Item filed এর Criteria তে এই Expression লিখি [Forms]![frmComboBoxes]![cboItem] ‍  Save করে Close করে দিই।

(6)  এবার cboModel এর জন্য Query builder window open করে নিচের চিত্রের মত Field সমূহ সেলেক্ট করি। Item Field এর Criteria তে লিখি [Forms]![frmComboBoxes]![cboItem] এবং Model Field এর Criteria তে লিখি [Forms]![frmComboBoxes]![cboBrand]     Save করে Close করি।

(7)  এবার cboItem এর After Update Event এ নিচের কোড লিখি  (নিচের চিত্র Follow করুন)
On Error GoTo ErrHandler
Me.cboBrand.Requery
Me.cboModel.Requery
Exit Sub
ErrHandler:
MsgBox Err.Description, vbCritical, "Error"

(8)  এবার cboBrand এর After Update Event এ নিচের কোড লিখি  (নিচের চিত্র Follow করুন)
On Error GoTo ErrHandler
Me.cboModel.Requery
Exit Sub
ErrHandler:
MsgBox Err.Description, vbCritical, "Error"
 


Save করে window টি close করে দিই।

(9)   এখন form টি Run করে cboItem থেকে যেকোন Item Select করি এবং cboBrand এ ক্লিক করি। আমরা দেখব যে, cboBrand এ শুধুমাত্র ঐ Item এর Brand সমূহ দেখাচ্ছে। cboBrand এ যেকোন Brand Select করে cboModel এ ক্লিক করি। আমরা দেখব যে cboModel এ শুধুমাত্র ঐ Item এর Selected Brand এর Model সমূহ দেখাচ্ছে।

যেকোন Query এর জন্য মেইল করুন harun24hr@gmail.com
এখানে ব্যবহৃত সকল ডাটা কাল্পনিক।
আমরা যারা MS Access Database নিয়ে কাজ করি তাদের হয়তো আজকের টিউনটি কাজে আসতে পারে। আজকের টিউনের উদ্দেশ্য হলো কিভাবে শুধুমাত্র ID select করে ঐ আডির সাথে সম্পর্কিত ডাটা অটোমেটিক পরবর্তী ফিল্ড সমূহে বসাবেন তা জানা। আমরা প্রথমে একটি টেবিলে Employee Information entry করব। তারপর আরেকটা টেবিলে Employee রা যে সমস্ত ডিভাইস স্টোর থেকে নিয়ে থাকে তার হিসাব রাখার জন্য ডাটা এন্ট্রি করব। এই ডাটা এন্ট্রি করার সময় আমরা শুধু Employee এর আডি সেলেক্ট করব, সেলেক্ট করার পর তার অন্যান্য তথ্য Automatic চলে আসবে।





For any Query email me harun24hr@gmail.com
মাইক্রোসফট অফিস অ্যাকসেস এ অনেকভাবে লগ-ইন ফরম বানানো যায়। আবার Access এ ফাইল ওপেন করার জন্য password ও সেট করা যায় ডিফল্ট ভাবে। আমি আজকে দেখাব DLookup function ব্যবহার করে কিভাবে Log-in Form বানানো যায়।বুঝার সুবিধার জন্য নিচের লিংক থেকে sample file ডাউনলোড করুন।


(1)    প্রথমে Access open করে একটি নতুন ডাটাবেজ তৈরি করুন। নিচের চিত্রের মত করে একটি টেবিল তৈরি করুন। Password field এর Input Mask এ অবশ্যই password সেলেক্ট করবেন। Input Mask এ password সেলেক্ট করলে আপনি যখন password টাইপ করবেন তখন স্টার (*) mark show করবে। অন্যথায় যা টাইপ করবেন তাই দেখাবে।

(2)    টেবিলে User এবং Password add করুন। আমি sample file এ user= admin, password= admin ব্যবহার করেছি।
(3)    এখন একটি form design এ দুটি Text Box এবং একটি Command Button নিন। Text Box দুটির নাম দিন যথাক্রমে txtUserID এবং txtPassword. Command Button এর নাম দিন cmdLogin. txtPassword এর property sheet থেকে Data tab এ গিয়ে Input Mask এ password select করুন। নিচের চিত্র দেখুন।

(4)    আরেকটি form design করুন এর নাম দিন frmMain.
(5)    cmdLogin button এর click event এ নিচের কোডসমূহ লিখুন।


On Error GoTo ErrHandler
Dim UserLookUp As Variant
Dim PasswordLookup As Variant
   
    UserLookUp = DLookup("[UserID]", "[tblUsers]", "[UserID]='" & Me.txtUserID & "'")
    PasswordLookup = DLookup("[Password]", "[tblUsers]", "[UserID]='" & Me.txtUserID & "'")
                
        If (UserLookUp = Me.txtUserID) And (PasswordLookup = Me.txtPassword) Then
              DoCmd.Close acForm, "frmLogin", acSaveYes
              DoCmd.OpenForm "frmMain"
        Else
            MsgBox "Invalid Login!!!" & vbCrLf & "Check your user name and password and then try again.", vbCritical, "Invalid Login"
        End If

Exit Sub
ErrHandler:
MsgBox Err.Description, vbCritical, "Error"

(6)    এবার Form টি run করান এবং আপনার user ও password দিয়ে test করুন।

কোডের ব্যাখা:
প্রথমে এরর হান্ডলিং মেকানিজম ব্যবহার করা হয়েছে। Dlookup function এর মাধ্যমে user এবং password খোজা হয়েছে। User এবং password match করলে ‍second form open হবে অথবা Error message দেখাবে।

Any problem, Please comment in comment. You can also mail me at harun24hr@gmail.com
আমরা আজকে দেখব কিভাবে দুই তারিখের মধ্যে ডাটা ফিল্টারিং করা যায় আমি এখানে sample হিসাবে কিছু বিক্রয়ের তথ্য ব্যবহার করেছি আপনারা আপনাদের ডাটা ব্যবহার করে কাজটি করতে পারেনআমি ভিডিওতে সম্পূর্ন কাজটা দেখিয়েছি। ভিডিওটা ডাউনলোড করে দেখবেন, তাহলে আপনারা পরিস্কার ভাবে বুঝতে পারবেন।


Sample File Download: Data Filtering Between Two Date (968 KB)                Zip File (52 KB)
Video Tutorial Download:  Data Filtering Between Two Date

*** নিচের কোন step না বুঝতে পারলে অবশ্যই video টা দেখবেন।
(১) প্রথমে নিচের চিত্রের মত করে একটি টেবিল ডিজাইন করুন। টেবিলের নাম দিন tblSalesData

(২) এরপর টেবিলে কিছু ডাটা এন্ট্রি করুন।

(৩) এখন একটা ফরম ডিজাইন করুন, যেখানে দুইটা Textbox এবং একটা Command Button নিন। Textbox দুটোর নাম দিন যথাক্রমে txtStartDate এবং txtEndDate. Form টা frmFilter নামে সেভ করুন।

(4) এখন একটা Query design করুন (Quer এর নাম দিন qrySalesData) নিচের চিত্রের মত করে এবং ‍SalesDate এর criteria তে এই লাইন add করুন। Between [Forms]![frmFilter]![txtStartDate] And [Forms]![frmFilter]![txtEndDate]

এই লাইনটাই ডাটা ফরম এর মধ্যে দেওয়া তারিখ অনুযায়ী ফিল্টার করবে। এখানে frmFilter এর যায়গায় আপনাদের ফরমের নাম ব্যবহার করবেন (যদি ফরম অন্য নামে সেভ করে থাকেন)।

(৫) এখন নিচের ছবির মত করে একটি report design করুন। Report এর Record Source হিসাবে Query (qrySalesData) ব্যবহার করুন।

(৬) frmFilter এ যে command button নিয়েছেন তার “On Click” event এ নিচের ছবির মত করে Macro design করুন। এরপর Form টা চালু করে টেক্সট বক্সে তারিখ বসিয়ে কমান্ড বাটনে ক্লিক করুন। আপনার দেয়া তারিখ অনুযায়ী ডাটা report এ দেখাবে।



*** কোন জিজ্ঞাসা থাকলে কমেন্টে অথবা ইমেইলে জানাবেন। আমার ই-মেইল: harun24hr@gmail.com


Thursday, February 26, 2015

Shop Management System.



Download Link: Shop Management System. (3 MB)      Zip File (668 KB)

Software টির কিছু বৈশিষ্ট্যঃ
(1)     ক্রয়ের (Purchase) হিসাব এবং রিপোর্ট। Purchase Report, Daily, Monthly, Yearly abd Between two date.
(2)    Invoice তৈরি এবং বিক্রয়ের হিসাব এবং বিক্রয় রিপোর্ট। Sales Report, Daily, Monthly, Yearly abd Between two date.
(3)    স্টক হিসাব। Stock Report, Item, Brand, Model Wise.
(4)    বাকীর হিসাব।Due Invoice Report, Customer and Amount>= & Amount<=
(5)    টাকা গ্রহন ও প্রদানের বিস্তারিত বিবরন। (Payment/Transction history)
(6)    ক্রেতার তথ্য (Customer Information) সংরক্ষন এবং রিপোর্ট।
(7)    সাপ্লায়ারের তথ্য (Supplier Information) সংরক্ষন এবং রিপোর্ট।
(8)    পন্যের বিস্তারিত তথ্য (Item Information) যেমন:- Item, Brand, Model, Category, Price and Description.
(9)    দৈনন্দিন খরচের হিসাব (ব্যক্তিগত ও দোকানের হিসাব)। Cost Report, Daily, Monthly, Yearly abd Between two date.
(10)   সাপ্লায়ারকে পরিশোধের রিপোর্ট। Pay To Supplier Report, Daily, Monthly, Yearly abd Between two date.

Software টির Fully Customize (Your company name, Logo, Report Print) পেতে ইমেইল করুন harun24hr@gmail.com এই মেইলে।
নিচে Software টির কয়েকটি স্ক্রীনশর্ট দেওয়া হলো।

Invoice Form


Invoice Report


Reports Form


Stock Report Form


Stock Report


Categories

Featured Post

Excel Advance: How to filter data of a column that have specific word?

Suppose I have list of animal (See screenshot). I want to filter data which have word cat. So, for filtering data with word cat use th...

Recent Comments

Popular Posts