تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيفية عمل تعدد الشركات في البرنامج المحاسبي
#19
بعد ان حلت المشكلة باذن الله نتابع ما بدأناه .

أولا نعرف متغيير من نوع سترغ داخل السيتنغ بـ اسم DatabaseName كالتالي :

   

ثم نذهب الى الداتا غيرد فيو في نافذة CompanysFrm و نختار الحدث CellDoubleClick و نكتب الكود التالي :

قبل ذالك نقوم بتعريف متغيير في المديول بنفس الاسم ليكون كالتالي :

PHP كود :
    Public DatabaseNameXT As String 

الكود الخاص بالدتا غريد فيو :

PHP كود :
   Private Sub DataGridView1_CellDoubleClick(sender As ObjectAs DataGridViewCellEventArgsHandles DataGridView1.CellDoubleClick
        My
.Settings.DatabaseName DataGridView1.CurrentRow.Cells("DatabaseName").Value
        My
.Settings.Save()
 
       DatabaseNameXT DataGridView1.CurrentRow.Cells("DatabaseName").Value
        Dim StrSQL 
As String "Select * From UserControl "
 
       If ExeSqlUserDT(StrSQL).Rows.Count 0 Then
            Dim Frm 
As New UserLogin
            Frm
.Show()
 
           Close()
 
       Else
            Dim Frm 
As New NewUserLogin
            Frm
.Show()
 
           Close()
 
       End If
 
   End Sub 


والان كود زر فتح BtnOpenCompany :


PHP كود :
   Private Sub BtnOpenCompany_Click(sender As ObjectAs EventArgsHandles BtnOpenCompany.Click
        My
.Settings.DatabaseName DataGridView1.CurrentRow.Cells("DatabaseName").Value
        My
.Settings.Save()
 
       DatabaseNameXT DataGridView1.CurrentRow.Cells("DatabaseName").Value
        Dim StrSQL 
As String "Select * From UserControl "
 
       If ExeSqlUserDT(StrSQL).Rows.Count 0 Then
            Dim Frm 
As New UserLogin
            Frm
.Show()
 
           Close()
 
       Else
            Dim Frm 
As New NewUserLogin
            Frm
.Show()
 
           Close()
 
       End If
 
   End Sub 


 الان نذهب الى خصائص البرنامج Application -> Shutdown mode و نختار When last form closes كالتالي :

   

و الان نبدأ بنافذة NewUserLogin :

لتكون كالشكل التالي :

   

الان نبدأ بكتابة الكود :

كود زر BtnAdd :

PHP كود :
   Private Sub BtnAdd_Click(sender As ObjectAs EventArgsHandles BtnAdd.Click
        Dim StrSQL 
As String "Select IIF(Max(ID) Is NULL,1,Max(ID)+1) From UserControl"
 
       For Each Cntrl As Control In Me.Controls
            If TypeOf Cntrl Is TextBox Then
                Cntrl
.Text String.Empty
 
           End If
 
           If TypeOf Cntrl Is CheckBox Then
                Dim obg 
As CheckBox Cntrl
                obg
.Checked False
            End 
If
 
       Next
        Txt_ID
.Text ExeSqlUserDT(StrSQL).Rows(0)(0)
 
       BtnAdd.Enabled False
        BtnEdit
.Enabled False
        BtnDelete
.Enabled False
        BtnUpdate
.Enabled True
        BtnCancel
.Enabled True
    End Sub 

كود زر BtnEdit :

PHP كود :
   Private Sub BtnEdit_Click(sender As ObjectAs EventArgsHandles BtnEdit.Click
        Dim StrSQL 
As String "UPDATE UserControl SET FullName='" Txt_FullName.Text "', User_Name='" _
        
Txt_User_Name.Text "', User_Password='" Txt_User_Password.Text "', ViewForm='" Chk_ViewForm.Checked _
        
"', AddRecord='" Chk_AddRecord.Checked "', EditRecord='" Chk_EditRecord.Checked "', DeleteRecod='" _
        
Chk_DeleteRecod.Checked "', PrintRecord='" Chk_PrintRecord.Checked "', FindRecord='" Chk_FindRecord.Checked _
        
"', Import='" Chk_Import.Checked "', Export='" Chk_Export.Checked "' Where ID=" Txt_ID.Text
        ExeSqlUser
(StrSQL)
 
       NewUserLogin_Load(NothingNothing)
 
   End Sub 

كود زر BtnUpdate :

PHP كود :
   Private Sub BtnUpdate_Click(sender As ObjectAs EventArgsHandles BtnUpdate.Click
        Dim StrSQL 
As String "INSERT INTO UserControl (ID,FullName,User_Name,User_Password,ViewForm,AddRecord,EditRecord,DeleteRecod,PrintRecord,FindRecord,Import,Export ) VALUES ('" _
       
Txt_ID.Text "','" Txt_FullName.Text "','" Txt_User_Name.Text "','" Txt_User_Password.Text "','" _
       
Chk_ViewForm.Checked "','" Chk_AddRecord.Checked "','" Chk_EditRecord.Checked "','" Chk_DeleteRecod.Checked _
       
"','" Chk_PrintRecord.Checked "','" Chk_FindRecord.Checked "','" Chk_Import.Checked "','" _
       
Chk_Export.Checked "')"
 
       ExeSqlUser(StrSQL)
 
       BtnAdd.Enabled True
        BtnEdit
.Enabled True
        BtnDelete
.Enabled True
        BtnUpdate
.Enabled False
        BtnCancel
.Enabled False
        NewUserLogin_Load
(NothingNothing)
 
   End Sub 

كود زر BtnCancel :

PHP كود :
   Private Sub BtnCancel_Click(sender As ObjectAs EventArgsHandles BtnCancel.Click
        BtnAdd
.Enabled True
        BtnEdit
.Enabled True
        BtnDelete
.Enabled True
        BtnUpdate
.Enabled False
        BtnCancel
.Enabled False
        NewUserLogin_Load
(sendere)
 
   End Sub 

كود زر BtnDelete :

PHP كود :
   Private Sub BtnDelete_Click(sender As ObjectAs EventArgsHandles BtnDelete.Click
        Dim StrSQL 
As String "Delete From  UserControl  Where ID = '" Txt_ID.Text "'"
 
       Dim TxtID As String Txt_ID.Text
        If MsgBox
("هل أنت متأكد من حذف السجل المحدد " Txt_ID.TextMsgBoxStyle.YesNo MsgBoxStyle.Question MsgBoxStyle.MsgBoxRight MsgBoxStyle.MsgBoxRtlReading"حذف سجل") = MsgBoxResult.Yes Then
            ExeSqlUser
(StrSQL)
 
           MsgBox("تم حذف السجل المحدد " Txt_ID.Text " بنجاح "MsgBoxStyle.Information MsgBoxStyle.MsgBoxRight MsgBoxStyle.MsgBoxRtlReading"حذف سجل")
 
       End If
 
       NewUserLogin_Load(NothingNothing)
 
   End Sub 

كود زر BtnSearch :

PHP كود :
   Private Sub BtnSearch_Click(sender As ObjectAs EventArgsHandles BtnSearch.Click
        Dim StrSQL 
As String "Select * From UserControl  Where FullName Like '%" TxtSearch.Text "%'"
 
       Dgv_Table.Rows.Clear()
 
       For Each row As DataRow In ExeSqlUserDT(StrSQL).Rows
            Dgv_Table
.Rows.Add(row.ItemArray)
 
       Next
    End Sub 

كود زر BtnClose :

PHP كود :
   Private Sub BtnClose_Click(sender As ObjectAs EventArgsHandles BtnClose.Click
        Close
()
 
   End Sub 

كود اللود فورم :

PHP كود :
   Private Sub NewUserLogin_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        Dim StrSQL 
As String "Select * From UserControl "
 
       Dim dt As New DataTable
        dt
.Clear()
 
       dt ExeSqlUserDT(StrSQL)
 
       LoadRows(dt0)
 
       Dgv_Table.Rows.Clear()
 
       For Each row As DataRow In dt.Rows
            Dgv_Table
.Rows.Add(row.ItemArray)
 
       Next
    End Sub 

كود تحميل السجلات :

PHP كود :
   Sub LoadRows(dt As DataTableNum As Integer)
 
       If dt.Rows.Count 0 Then
            Exit Sub
        End 
If
 
       Txt_ID.Text dt(Num)("ID").ToString
        Txt_FullName
.Text dt(Num)("FullName").ToString
        Txt_User_Name
.Text dt(Num)("User_Name").ToString
        Txt_User_Password
.Text dt(Num)("User_Password").ToString
        Chk_ViewForm
.Checked dt(Num)("ViewForm").ToString
        Chk_AddRecord
.Checked dt(Num)("AddRecord").ToString
        Chk_EditRecord
.Checked dt(Num)("EditRecord").ToString
        Chk_DeleteRecod
.Checked dt(Num)("DeleteRecod").ToString
        Chk_PrintRecord
.Checked dt(Num)("PrintRecord").ToString
        Chk_FindRecord
.Checked dt(Num)("FindRecord").ToString
        Chk_Import
.Checked dt(Num)("Import").ToString
        Chk_Export
.Checked dt(Num)("Export").ToString
    End Sub 

كود الضغط على الداتا غريد فيو :

PHP كود :
   Private Sub Dgv_Table_CellClick(sender As ObjectAs DataGridViewCellEventArgsHandles Dgv_Table.CellClick
        Dim StrSQL 
As String "Select * From UserControl where ID=" Dgv_Table.CurrentRow.Cells(0).Value
        LoadRows
(ExeSqlUserDT(StrSQL), 0)
 
   End Sub 

نتابع بالحلقة القادمة .

و الان نافذة تسجيل الدخول UserLogin و تكون كالتالي :

   

قبل اضافة الكود نضيف المتغيرين التالين الى المديول :

PHP كود :
   Public DatabaseNameXT As String
    Public UserNameXT 
As String 

و الان نكتب الاكواد التالية :

PHP كود :
   Private Sub BtnClose_Click(sender As ObjectAs EventArgsHandles BtnClose.Click
        Close
()
 
   End Sub
    Private Sub BtnLogin_Click
(sender As ObjectAs EventArgsHandles BtnLogin.Click
        Dim StrSQL 
As String "Select * From UserControl  Where User_Name = '" Txt_User_Name.Text "' And User_Password = '" Txt_User_Password.Text "'"
 
       Dim DT As New DataTable
        DT
.Clear()
 
       DT ExeSqlUserDT(StrSQL)
 
       If DT.Rows.Count 0 Then
            If DT
.Rows(0)("User_Name") = Txt_User_Name.Text And DT.Rows(0)("User_Password") = Txt_User_Password.Text Then
                Dim Frm 
As New MainForm
                UserNameXT 
Txt_User_Name.Text
                Frm
.Show()
 
               Close()
 
           Else
                MsgBox
("خطأ في اسم المستخدم او كلمة المرور")
 
           End If
 
       Else
            MsgBox
("خطأ في اسم المستخدم او كلمة المرور")
 
       End If
 
   End Sub 


و اخيرا نافذة MainForm تكون كالتالي :

   

و نكتب الكود التالي بها :

PHP كود :
   Private Sub MainForm_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        TSSLBLDBNAME
.Text DatabaseNameXT
        TSSLBLUser
.Text UserNameXT
        DataGridView1
.DataSource ExeSqlUserDT("Select * From AccountsTree")
 
       TSSLBLRecordCount.Text DataGridView1.Rows.Count " - Record"
 
       DataGridView1.Columns(4).AutoSizeMode DataGridViewAutoSizeColumnMode.Fill
        DataGridView1
.DefaultCellStyle.BackColor Color.FromArgb(255255255)
 
       DataGridView1.AlternatingRowsDefaultCellStyle.BackColor Color.FromArgb(255255192)
 
   End Sub 

   

--------------------------

   

--------------------------

   

--------------------------

   

--------------------------

نضيف هذه الاكواد الى الموديول :

PHP كود :
   Public Sub ExeSqlUser(StrSQL As String)
 
      ' 'Dim conn As New System.Data.SqlClient.SqlConnection("Server =(local);database=" My.Settings.DatabaseName ";integrated security=false;User ID=Test;Password=123456789")
 
       Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQLOpenCon)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
   End Sub
    Public 
Function ExeSqlUserDT(StrSQL As String) As DataTable
        Dim da 
As New System.Data.SqlClient.SqlDataAdapter(StrSQLOpenCon)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
       Return dt
    End 
Function
 
   Function OpenCon() As SqlClient.SqlConnection
        Dim conn 
As New System.Data.SqlClient.SqlConnection("Server =(local);database=" My.Settings.DatabaseName ";integrated security=true")
 
       Return conn
    End 
Function 

انتهى الموضوع اي سؤال او استفسار ؟


الملفات المرفقة
.zip   CompanyName.v11.zip (الحجم : 1.33 م ب / التحميلات : 152)
الرد }}}
تم الشكر بواسطة: princelovelorn


الردود في هذا الموضوع
RE: كيفية عمل تعدد الشركات في البرنامج المحاسبي - بواسطة asemshahen5 - 15-08-19, 04:31 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  دورة كيفية تصميم برنامج محاسبة VB.NET+SQL محاسب يوسف 7 38,635 01-08-23, 05:25 PM
آخر رد: ibrahimibrahim
  كيفية تهيئة وتحديد مسار التثبيت وكذلك خيارت الاختصارات مع المعلومات [ الدرس الثاني ] elgokr 9 5,744 28-06-20, 06:10 PM
آخر رد: alsouf
  كيفية انشاء حقوق ملكية وشروط الاستخدام وافتتاحية التحزيم [ الدرس الاول ]. elgokr 23 10,778 28-06-20, 05:59 PM
آخر رد: alsouf
  ياشباب ممكن حد ياساعددني في البرنامج ده ؟ medowassem50 0 1,889 29-01-20, 08:41 PM
آخر رد: medowassem50
  كيفية اتمام شاشات بخصائص وخيارات تتيح للمستخدم حرية الاختيار [ الدرس الثالث ] elgokr 4 3,843 05-07-19, 08:17 PM
آخر رد: elgokr
  [VB.NET] عمل تحديث لمستخدمين البرنامج الخاص بك اونلاين عن طريق ال DropBox YousefOkasha 8 7,773 24-04-19, 03:50 PM
آخر رد: YousefOkasha
  [كود] change language of programm easy way by VB.Net تغيير لغة البرنامج بطريقة عالمية وبسي وعد مولود 1 2,989 27-08-18, 08:48 AM
آخر رد: elgokr
  [سؤال] عندي مشكلة لما انهيت البرنامج hamada_commerce 2 2,891 06-11-17, 03:48 PM
آخر رد: hamada_commerce

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم