منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] كيفية عمل تعدد الشركات في البرنامج المحاسبي - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم دورات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=187)
+--- الموضوع : [VB.NET] كيفية عمل تعدد الشركات في البرنامج المحاسبي (/showthread.php?tid=30862)

الصفحات: 1 2 3 4


كيفية عمل تعدد الشركات في البرنامج المحاسبي - ahmedramzyaish - 13-08-19

المطلوب فى شاشه دخول البرنامج يكون فى اختيار اى قاعده بيانات تريد الاتصال بها مثلا
لو برنامح محاسبه فكره التعامل مع اكثر من شركه
وشكرااا


RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - asemshahen5 - 13-08-19

بالبداية يجب ان يكون عندك نافذة قبل نافذة تسجيل الدخول و هي نافذة اختيار الشركة و تكون كالتالي :

[attachment=22513]

و يكون بالجدول عامود مخفي فيه اسم قاعدة البيانات و كل هذا يكون بجدول بقاعدة بيانات تختص بخصائص البرنامج .

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

[attachment=22514]

و عند اختيار سجل من الداتا غريد فيو يقوم بحفظ القيمة المحددة من العامود المخفي في السيتنغ بالكود التالي :

PHP كود :
       My.Settings.DatabaseName Dgv_Table.CurrentRow.Cells("DATABASENAME").Value
        My
.Settings.Save() 

و يكون كود الاتصال بقاعدة البيانات كالتالي :

PHP كود :
       Dim cn As New SqlConnection("Server =(local);database=" My.Settings.DatabaseName ";integrated security=true"

و الباقي اصبح سهلا موفق انشاء الله .


RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - ahmedramzyaish - 13-08-19

(13-08-19, 09:43 PM)asemshahen5 كتب : بالبداية يجب ان يكون عندك نافذة قبل نافذة تسجيل الدخول و هي نافذة اختيار الشركة و تكون كالتالي :



و يكون بالجدول عامود مخفي فيه اسم قاعدة البيانات و كل هذا يكون بجدول بقاعدة بيانات تختص بخصائص البرنامج .

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



و عند اختيار سجل من الداتا غريد فيو يقوم بحفظ القيمة المحددة من العامود المخفي في السيتنغ بالكود التالي :

PHP كود :
       My.Settings.DatabaseName Dgv_Table.CurrentRow.Cells("DATABASENAME").Value
        My
.Settings.Save() 

و يكون كود الاتصال بقاعدة البيانات كالتالي :

PHP كود :
       Dim cn As New SqlConnection("Server =(local);database=" My.Settings.DatabaseName ";integrated security=true"

و الباقي اصبح سهلا موفق انشاء الله .

شكرااا جزيلاً جارى التجربه وسوف اوضح ما وصلت اليه ان شاء الله
شكراا مره اخرى

هل ممكن إرفاق المثال الموضح


RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - asemshahen5 - 13-08-19

المثال الموضح برنامج محاسبة اعمل عليه .


RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - ahmedramzyaish - 13-08-19

(13-08-19, 10:20 PM)asemshahen5 كتب : المثال الموضح برنامج محاسبة اعمل عليه .

انا اسف لتكرار الأسئلة
هل ممكن تعطينى صيغه ابحث عنها عن فديوهات شرح او امثله توضيحيه لانى مبتدئ وشكرااا لك


RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - asemshahen5 - 13-08-19

مالذي لم تفهمه لأقوم بشرحه لك .


RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - ahmedramzyaish - 13-08-19

المطلوب هو فتح اكثر من شركة
ولا اريد سنوات مالية
هل انشئ قاعدة بيانات اسمها company مثلا
او انا كنت افكر فى فكرة هى ان اقوم مثلا بانشاء قاعدة البيانات فى السيكول اكثر من مرة
ولتكن stock01 , stock02 ,وهاكذا وعند الدخول يختار اى قاعدة ولكن هذا يتطلب تعديل لكود الاتصال حتى لايكون مثبت به اسم قاعده معينة اعتقد انه يجب ان يكون متغير


RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - asemshahen5 - 13-08-19

إبدأ بفورم فارغ و ضع عليه التالي :

داتا غريد فيو - زر إضافة شركة - حذف شركة - فتح شركة محددة .

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

[attachment=22515]

و الان نقوم بالتالي :

نضع مديول جديد بالبرنامج و نسميه CompanyInformation .

نضع به كود البحث عن قاعدة بيانات الشركات في حال غير موجودة يقوم بانشائها مع جدول الشركات ثم يعبئ الجدول في الفورم التي انشانها كالتالي :

PHP كود :
Module CompanyInformation
    Dim cn 
As New System.Data.SqlClient.SqlConnection("Server =(local);database=master;integrated security=true")
 
   Dim con As New System.Data.SqlClient.SqlConnection("Server =(local);database=Companys;integrated security=true")
 
   Public Sub FindDBComName(Dgv As DataGridView)
 
       Dim StrSQL As String "select name from sysdatabases where name='Companys'"
 
       Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQLcn)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
       If dt.Rows.Count 0 Then
            CreateDatabaseCompanys
(Dgv)
 
       Else
            LoadDgv
(Dgv)
 
       End If
 
   End Sub
    Sub CreateDatabaseCompanys
(Dgv As DataGridView)
 
       Dim StrSQL As String "Create database Companys"
 
       Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQLcn)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
       CreateTable(Dgv)
 
   End Sub
    Sub CreateTable
(Dgv As DataGridView)
 
       Dim StrSQL As String "CREATE TABLE [dbo].[CompanyName](" _
 
"ID int Not Null," _
 
"CompanyName nvarchar(255) Not Null," _
 
"StartDate date Not Null," _
 
"EndDate date Not Null," _
 
"CompanyCase bit Not Null," _
 
"ServerName nvarchar(255) Not Null," _
 
"DatabaseName nvarchar(255) Not Null" _
 
") ON [PRIMARY]"
 
       Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQLcon)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
   End Sub
    Sub LoadDgv
(Dgv As DataGridView)
 
       Dim StrSQL As String "Select * From CompanyName"
 
       Dim da As New System.Data.SqlClient.SqlDataAdapter(StrSQLcon)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
       For Each row As DataRow In dt.Rows
            Dgv
.Rows.Add(row.ItemArray)
 
       Next
    End Sub
End Module 

و دي أول خطوة لانشاء ملفات الشركات نكمل في الحلقة القادمة .


RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - ahmedramzyaish - 14-08-19

شكرااا جدا على تعبك معايا وجارى التطبيق ومنتظر باقى الحلقات ان شاء الله ?


RE: كيفيه الاتصال باكثر من قاعده بياناتsql server - asemshahen5 - 14-08-19

قريبا باذن الله .