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

دبل كليك على My Project و نختار منها Settings و نقوم باضافة المتغيرين التاليين :

AdminUserID - AdminPassword 

   

و الان نقوم بعمل فورم جديدة نسميها AddAdminCompanys تكون كالتالي :

   

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

PHP كود :
Public Class AddAdminCompanys
    Private Sub BtnSave_Click
(sender As ObjectAs EventArgsHandles BtnSave.Click
        If Txt_UserName
.Text.Length Or Txt_Password1.Text.Length Or Txt_password2.Text.Length 0 Then
            MsgBox
("الرجاء تعبئة جميع الحقول")
 
           Exit Sub
        End 
If
 
       If Txt_Password1.Text Txt_password2.Text Then
            My
.Settings.AdminUserID Txt_UserName.Text
            My
.Settings.AdminPassword Txt_Password1.Text
            My
.Settings.Save()
 
           MsgBox("تم حفظ إعدادات مدير النظام")
 
           BtnSave.Enabled False
        End 
If
 
   End Sub
    Private Sub BtnClose_Click
(sender As ObjectAs EventArgsHandles BtnClose.Click
        If BtnSave
.Enabled False Then
            Dim Frm 
As New CreateCompany
            Frm
.Show()
 
           Close()
 
       Else
            End
        End 
If
 
   End Sub
End 
Class 

و بكدا بنكون انهينا الفورم .

و نبدأ بعمل فورم جديدة اسمها CreateCompany و تكون كالتالي :

   

و الان نقوم باضفة الكود التالي الى الموديول الذي قمنا بانشائه :

PHP كود :
   Public Function MaxId(ID As StringTableName As String) As Integer
        Dim StrSQL 
As String "Select IIF(Max(" ID ") Is NULL,1,Max(" ID ")+1) From " TableName
        Dim da 
As New System.Data.SqlClient.SqlDataAdapter(StrSQLcon)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
       Return dt.Rows(0)(0)
 
   End Function
 
   Public Sub ExeSql(StrSQL As String)
 
       Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQLcon)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
   End Sub
    Public 
Function GetDatabaseName(StrSQL As String) As String
        Dim da 
As New System.Data.SqlClient.SqlDataAdapter(StrSQLcon)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
       Return "stock" dt.Rows.Count 1
    End 
Function 


نعود للفورم و نكتب الاكواد التالية :

زر BtnADD :


 
PHP كود :
   Private Sub BtnAdd_Click(sender As ObjectAs EventArgsHandles BtnAdd.Click
        Txt_CompanyName
.Clear()
 
       Txt_DatabaseName.Clear()
 
       Txt_ServerName.Clear()
 
       Dtp_StartDate.Value Now.ToString
        Dtp_EndDate
.Value Now.AddYears(1)
 
       Chk_CompanyCase.Checked False
        Txt_ID
.Text MaxId("ID""CompanyName")
 
       Txt_DatabaseName.Text GetDatabaseName("select name from sysdatabases where name Like '%Stock%'")
 
       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 CompanyName SET CompanyName='" Txt_CompanyName.Text "', StartDate='" Dtp_StartDate.Value "', EndDate='" Dtp_EndDate.Value "', CompanyCase='" Chk_CompanyCase.Checked "', ServerName='" Txt_ServerName.Text "', DatabaseName='" Txt_DatabaseName.Text "' Where ID='" Txt_ID.Text "'"
 
       ExeSql(StrSQL)
 
       MsgBox("تمت عملية تعديل معلومات الشركة بنجاح")
 
   End Sub 

زر BtnUpdate

قبل ذالك نضيف كود قرائة و تنفيذ الاستعلام من ملف سيكول طبعا يكون مكتوب فيه استعلامات انشاء قاعدة البيانات stock و المعلومات الاساسية لبعض الجداول مثال شجرة 

الحسابات و ما الى ذالك الى الموديول :

PHP كود :
#Region "Creat Database And Table From Sql Scrpt"
 
   'يقرأ ملفات السكول سيرفر من ملفات التكست الموجودة في مسار البرنامج'
 
   Public Sub ExecutesqlFile(ByVal sqlFile As StringDatabaseName As String)
 
       Using connection As New SqlClient.SqlConnection("Server =(local);database=" DatabaseName ";integrated security=true")
 
           If connection.State ConnectionState.Closed Then connection.Open()
 
           Dim sql As String ""
 
           Using strm As FileStream File.OpenRead(sqlFile)
 
               Dim reader As New StreamReader(strm)
 
               sql reader.ReadToEnd()
 
           End Using
            Dim regex 
As New RegularExpressions.Regex("^GO"RegexOptions.IgnoreCase Or RegexOptions.Multiline)
 
           Dim lines As String() = regex.Split(sql)
 
           Dim transaction As SqlClient.SqlTransaction connection.BeginTransaction()
 
           Using cmd As SqlClient.SqlCommand connection.CreateCommand()
 
               cmd.Connection connection
                cmd
.Transaction transaction
                For Each line 
As String In lines
                    If line
.Length 0 Then
                        cmd
.CommandText line
                        cmd
.CommandType CommandType.Text
                        Try
                            cmd
.ExecuteNonQuery()
 
                       Catch generatedExceptionName As SqlClient.SqlException
                            MsgBox
(generatedExceptionName.MessageMsgBoxStyle.Critical"")
 
                           transaction.Rollback()
 
                           Throw
                        End 
Try
 
                   End If
 
               Next
            End Using
            transaction
.Commit()
 
           If connection.State ConnectionState.Open Then connection.Close()
 
       End Using
    End Sub
#End Region 


و الان نضع كود الزر BtnUpdate :


PHP كود :
   Private Sub BtnUpdate_Click(sender As ObjectAs EventArgsHandles BtnUpdate.Click
        Dim SqlStrXT 
As String "create Database " Txt_DatabaseName.Text
        ExeSql
(SqlStrXT)
 
       Try
            ExecutesqlFile
(Application.StartupPath "\SqlCreateCompany.Sql"Txt_DatabaseName.Text)
 
       Catch ex As Exception
            MsgBox
(ex.Message)
 
           Exit Sub
        End 
Try
 
       Dim StrSQL As String "INSERT INTO CompanyName (ID,CompanyName,StartDate,EndDate,CompanyCase,ServerName,DatabaseName ) VALUES ('" Txt_ID.Text "','" Txt_CompanyName.Text "','" Dtp_StartDate.Value "','" Dtp_EndDate.Value "','" Chk_CompanyCase.Checked "','" Txt_ServerName.Text "','" Txt_DatabaseName.Text "')"
 
       ExeSql(StrSQL)
 
       BtnAdd.Enabled True
        BtnEdit
.Enabled True
        BtnDelete
.Enabled True
        BtnUpdate
.Enabled False
        BtnCancel
.Enabled False
    End Sub 


و الان نضيف فانكشن جديد للموديول :

PHP كود :
   Public Function ExeSqlDT(StrSQL As String) As DataTable
        Dim da 
As New System.Data.SqlClient.SqlDataAdapter(StrSQLcon)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
       Return dt
    End 
Function 

و الان زر BtnCancel :

PHP كود :
   Private Sub BtnCancel_Click(sender As ObjectAs EventArgsHandles BtnCancel.Click
        Dim StrSQL 
As String "Select * From CompanyName"
 
       Dim DT As New DataTable
        DT
.Clear()
 
       DT ExeSqlDT(StrSQL)
 
       If DT.Rows.Count 0 Then
            Txt_CompanyName
.Text DT.Rows(0)("CompanyName")
 
           Txt_DatabaseName.Text DT.Rows(0)("DatabaseName")
 
           Txt_ID.Text DT.Rows(0)("ID")
 
           Txt_ServerName.Text DT.Rows(0)("ServerName")
 
           Dtp_StartDate.Value CDate(DT.Rows(0)("StartDate"))
 
           Dtp_EndDate.Value CDate(DT.Rows(0)("EndDate"))
 
           Chk_CompanyCase.Checked CBool(DT.Rows(0)("CompanyCase"))
 
       End If
 
       BtnAdd.Enabled True
        BtnEdit
.Enabled True
        BtnDelete
.Enabled True
        BtnUpdate
.Enabled False
        BtnCancel
.Enabled False
    End Sub 

زر BtnDelete :

PHP كود :
   Private Sub BtnDelete_Click(sender As ObjectAs EventArgsHandles BtnDelete.Click
        Dim StrSQL 
As String "Delete From  CompanyName  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
            Dim SqlStrXT 
As String "ALTER DATABASE [" Txt_DatabaseName.Text "] Set SINGLE_USER With ROLLBACK IMMEDIATE" vbNewLine
            SqlStrXT 
+= "DROP DATABASE [" Txt_DatabaseName.Text "]" vbNewLine
            ExeSql
(SqlStrXT)
 
           ExeSql(StrSQL)
 
           MsgBox("تم حذف السجل المحدد " Txt_ID.Text " بنجاح "MsgBoxStyle.Information MsgBoxStyle.MsgBoxRight MsgBoxStyle.MsgBoxRtlReading"حذف سجل")
 
       End If
 
   End Sub 

زر BtnSearch :

PHP كود :
   Private Sub BtnSearch_Click(sender As ObjectAs EventArgsHandles BtnSearch.Click
        Dim StrSQL 
As String "Select * From CompanyName  Where CompanyName = '" TxtSearch.Text "'"
 
       ExeSql(StrSQL)
 
   End Sub 

زر BtnClose :

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

اذا وجدت عندك اي اخطاء استدع فضائات الاسماء التالية :

PHP كود :
Imports System.Text
Imports System
.Text.RegularExpressions
Imports System
.IO 

نكمل في الحلقة القادمة .
الرد }}}
#12
الف شكر على المجهود الرائع والشرح الواضح اى عبارات الشكر لاتكفيك
تم الحمد لله تطبيق الشرح بنجاح
ولا توجد أخطاء
ولكن عند الضغط على اضافة يخرج البرنامج وتظهر الرساله المرفقة


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة: asemshahen5
#13
نكمل الان نضيف فورم جديد و نسميه LoginAdminFrm و يكون كالتالي :

   

نضع الكود التالي بداخله :

PHP كود :
Public Class LoginAdminFrm
    Private Sub BtnLogin_Click
(sender As ObjectAs EventArgsHandles BtnLogin.Click
        If Txt_UserName
.Text My.Settings.AdminUserID And Txt_Password.Text My.Settings.AdminPassword Then
            Dim Frm 
As New CreateCompany
            Frm
.ShowDialog()
 
           Close()
 
       Else
            MsgBox
("اسم المستخدم أو كلمة المرور خاطئة")
 
       End If
 
   End Sub
    Private Sub BtnClose_Click
(sender As ObjectAs EventArgsHandles BtnClose.Click
        Close
()
 
   End Sub
End 
Class 

وبذالك نكون قد انهينا النافذة .

نعود لنافذة CompanysFrm و نبدأ بكتابة الاكواد :

   

في حدث تحميل الفورم Form1_Load نضع الكود التالي :

PHP كود :
   Private Sub Form1_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        FindDBComName
(DataGridView1)
 
       If DataGridView1.Rows.Count 0 Then
            If My
.Settings.AdminUserID.Length Or My.Settings.AdminPassword.Length 0 Then
                Dim Frm 
As New AddAdminCompanys
                Frm
.ShowDialog()
 
           Else
                Dim Frm 
As New LoginAdminFrm
                Frm
.ShowDialog()
 
           End If
 
       End If
 
   End Sub 


و في زر BtnAddCompany نضع الكود التالي :

PHP كود :
       If My.Settings.AdminUserID.Length Or My.Settings.AdminPassword.Length 0 Then
            Dim Frm 
As New AddAdminCompanys
            Frm
.ShowDialog()
 
       Else
            Dim Frm 
As New LoginAdminFrm
            Frm
.ShowDialog()
 
       End If 

و الان نأتي الى زر BtnDeleteCompany نضع نفس الكود السابق :

PHP كود :
   Private Sub BtnDeleteCompany_Click(sender As ObjectAs EventArgsHandles BtnDeleteCompany.Click
        If My
.Settings.AdminUserID.Length Or My.Settings.AdminPassword.Length 0 Then
            Dim Frm 
As New AddAdminCompanys
            Frm
.ShowDialog()
 
       Else
            Dim Frm 
As New LoginAdminFrm
            Frm
.ShowDialog()
 
       End If
 
   End Sub 

بقي أهم كود في البرنامج ككل كود زر BtnClose نضع الكود التالي :

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

و نكون بهذا انهينا النوافذ الخاصة بموضوع الشركات .

اعرف عندك سؤال كيف سأستفيد من كل هذا الموضوع الاساسي هو تسجل الدخول الى ملف قاعدة البيانات الخاص بشركة محددة و نص السؤال الاساسي ؟

نبدأ الان باذن الله .

نضيف مجلد جديد للمشروع نسميه CompanyForm نضع به :

نضيف الفورمات التالية و نسميهما MainForm - NewUserLogin - UserLogin .

و قبل البدا بعمل عليهم نسترجع بعض الذكرايات التالية :

كود ExecutesqlFile وو ظيفته     'يقرأ ملفات السكول سيرفر من ملفات التكست الموجودة في مسار البرنامج' لماذا هذا السب وضع الان سأقول لك نجهز سكربت كود

إنشاء الجداول التالية :

UserControl - AccountsTree ونعبئ جدول الشجرة المحاسبية بالسجلات وملف السكربت يوضع في مجلد Debug الخاص بالبرنامج .

سأرفق السكربت بالمرفقات .

نكمل بالحلقة القادمة .

ارني رسالة الخطأ و كود الاستدعاء و كود الاتصال على فكرة كل خطوة كتبتها طبقتها على مثال عندي قبل كتابتها .

   


الملفات المرفقة
.zip   SqlCreateCompany.zip (الحجم : 2.85 ك ب / التحميلات : 82)
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , ahmedramzyaish , princelovelorn
#14
مرفق ملف المشروع ارجو منك المراجعة لانى لا اعرف سبب الخطأ عندى


الملفات المرفقة
.rar   ADD COMPANY.rar (الحجم : 109.87 ك ب / التحميلات : 67)
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5
#15
هذا ملف المشروع من عندي انا استعمل فيجوال استديو 2012 .

على فكرة لا يوجد عندك اي خطأ بالمشروع جربته شغال 100% تفقد الجدول في قاعدة البيانات .

   


الملفات المرفقة
.zip   CompanyName.zip (الحجم : 988.69 ك ب / التحميلات : 203)
الرد }}}
تم الشكر بواسطة: princelovelorn
#16
عفوا انا لا اقصد ان عندك خطأ
ولكن هل اضيف قاعدة بيانات اسمها Company
وافرد بها الاسكربت
الرد }}}
تم الشكر بواسطة: asemshahen5
#17
قاعدة البيانات تنشأ تلقائيا مع الجدول عند اول تشغيل جرب السورس الموجود عندي بالمرفقات اذا ظهرت المشكلة صور الخطأ و ضع صورته .

بالنسبة لموضوع السكربت ضعه في مسار البرنامج فقط لا تفرده اواي شيئ عند إضافة شركة جديدة البرنامج بيفرده و ينشئ القاعدة مع الجداول التي به .
الرد }}}
تم الشكر بواسطة: princelovelorn
#18
نفس المشكلة


الملفات المرفقة صورة/صور
       
الرد }}}
تم الشكر بواسطة: asemshahen5
#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
#20
برجاء رفع المثال بعد هذا الشرح الرائع
الرد }}}
تم الشكر بواسطة: asemshahen5


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

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


يقوم بقرائة الموضوع: