اذهب الي المحتوي
أوفيسنا

Mazen.Excel

عضو جديد 01
  • Posts

    28
  • تاريخ الانضمام

  • تاريخ اخر زياره

مشاركات المكتوبه بواسطه Mazen.Excel

  1. مرحبا اخوتي

    بالامكان استخدام طريقة الاتصال ADO بين ملفات الاكسل

    وبتلك الطريقة نحتاج لملف اكسل واحد فقط يحتوي على البيانات ، ويمكن استخدام عدد كبير من الملفات الاخرى لادخال البيانات والاستعلام من ملف الاكسل الذي يحتوي على البيانات

    لي مشاركة يمكن الاطلاع عليها

    انا لي تجربة عملية على هذا الموضوع، ويمكن وضع ملف اكسل البيانات على سيرفر ، وفتح ملف الادخال من اي جهاز اخر. حتى لو للقراءة فقط ، فانه بالنهاية فقط للادخال والاستعلام.

     

  2. أستاذ ياسر والأستاذ أبو البراء والأستاذ الصقر

    اذا بالإمكان تنزيل

    SQL

    وهو برنامج مجاني من مايكروسوفت

    وانشاء الله ستاتي الدروس لاحقا

    ------

    انا اكثر اشي فادني بهاي المواضيع، انه بشغلي برنامج محاسبة ضخم أساسه

    sql

    وانا مش كثير راضي عن التقارير اللي بعطيني إياها البرنامج المحاسبي

    اضطريت اشبك البرنامج المحاسبي مع الاكسل  عن طريق ربط الاكسل بجداول اس كيو ال

    وحاليا بكسبة زر ببني كل التقارير اللي بدي إياها مع رسوم بيانية بدون ادخال أي قيمة يدوية

    -------

    ومع التجرية اقدرت ابني برامج بواجهة اكسل وبدون أي وجود للبيانات فيها، فقط برامج للتقارير

    وأيضا برامج اكسل تكون فقط بها شاشات ادخال وتخزن البيانات بقواعد بيانات اس كيو ال

    --------

     

     

    • Like 2
  3. مرحبا اخي الكريم

    من خلال الاكسل يمكنك ان تضيف او تعدل او تحذف بيانات من

    SQL Server

    أولا : كود استعلام البيانات

    Private Sub GetSQLData()
    On Error GoTo err
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim sql_string As String
    Dim strconn As String
    
    DataBaseName = "------"
    ServerName = "------"
    UserId = "------"
    Password = "------"
    
    strconn = "Provider=SQLOLEDB.1;Password=" & Password & ";User ID=" & UserId & ";Initial Catalog=" & DataBaseName & ";Data Source=" & ServerName
    sql_string = "SELECT  *  from transactions WHERE CustomerID= '2648'  "
    cn.Open strconn
    rs.Open sql_string, cn
    Range("a3").CopyFromRecordset rs
    rs.Close
    Set rs = Nothing
    cn.Close
    
    Exit Sub
    err:
    MsgBox err.Description
    End Sub

     ثانيا: كود الاضافة

    Private Sub InsertSQLData()
    On Error GoTo err
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim sql_string As String
    Dim strconn As String
    
    DataBaseName = "-----"
    ServerName = "-----"
    UserId = "----"
    Password = "----"
    
    strconn = "Provider=SQLOLEDB.1;Password=" & Password & ";User ID=" & UserId & ";Initial Catalog=" & DataBaseName & ";Data Source=" & ServerName
    sql_string = "Insert Into transactions (CustomerID, Amount)  values ( '1',1000) "
    cn.Open strconn
    rs.Open sql_string, cn
    
    
    Set rs = Nothing
    cn.Close
    
    Exit Sub
    err:
    MsgBox err.Description
    End Sub
    

    ثالثا: كود التعديل

    Private Sub UpdateSQLData()
    On Error GoTo err
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim sql_string As String
    Dim strconn As String
    
    DataBaseName = "----"
    ServerName = "----"
    UserId = "----"
    Password = "----"
    
    strconn = "Provider=SQLOLEDB.1;Password=" & Password & ";User ID=" & UserId & ";Initial Catalog=" & DataBaseName & ";Data Source=" & ServerName
    sql_string = "update transactions set CustomerID='2'  where amount =1000 "
    cn.Open strconn
    rs.Open sql_string, cn
    
    
    Set rs = Nothing
    cn.Close
    
    Exit Sub
    err:
    MsgBox err.Description
    End Sub

     

    طبعا بدل القيم الافتراضية التي انا ادخلتها يمكنك الاعتماد على قيم موجودة في خلايا اكسل او تكس بوكس في  نماذج

    مثلا بدل كتابة sql_string = "update transactions set CustomerID='2'  where amount =1000 "

    يمكنك كتابة sql_string = "update transactions set CustomerID= "& "'" &   range("a2") &  "'"  & " where amount =" & range("b2") 

    لاحظ إضافة

    '

    امام وخلف أي قيمة لا تكون مبنية في اس كيو ال انها قيمة

    int

    وشكرا

     

     

    • Like 1
  4. انشاء الله سيتم عمل دروس لربط الاكسل ب

    sql

    والموضوع اكثير مهم، وذلك بسبب وجود الكثير من البرامج المالية والإدارية تعتمد على

    sql

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

    ونحن نعرف هنا كم ممكن ان نستفيد من الاكسل للتقارير وللتحليل المالي

    وشكرا

     

  5. مرحبا

    الكود التالي لاستعلام البياتات من برنامج اس كيو ال

    Private Sub GetSQLData()
    On Error GoTo err
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim sql_string As String
    Dim strconn As String
    
    DataBaseName = "------"
    ServerName = "------"
    UserId = "------"
    Password = "------"
    
    strconn = "Provider=SQLOLEDB.1;Password=" & Password & ";User ID=" & UserId & ";Initial Catalog=" & DataBaseName & ";Data Source=" & ServerName
    sql_string = "SELECT  *  from transactions WHERE CustomerID= '2648'  "
    cn.Open strconn
    rs.Open sql_string, cn
    Range("a3").CopyFromRecordset rs
    rs.Close
    Set rs = Nothing
    cn.Close
    
    Exit Sub
    err:
    MsgBox err.Description
    End Sub

    مع العلم انه يجب تفعيل التالي من

    Tools - References

     

    adolibrary.jpg

  6. مرفق ملف للتوضيح

    Dملف باسم داتا يوضع مثلا على قرص كمبيوتر

    والملف الثاني لا يشترط وضعه في مكان

    وبالامكان تغير مساق الداتا

    wheredata.jpg

    كما يمكن تغير قيم الادخال وإدخال من خلايا الاكسل او من مربع نص بالفورم

    input.jpg

    Input And Query From DB.zip

    • Like 3
  7. انا اشتغلت على موضوع الشير لملف الاكسل

    بس كثير به مشاكل، اكثير موظفين بواجهوا صعوبة في الحفظ وملف حجمه كبير صعب بالفتح والخروج

    وكمان عندي الموظفين بدخلوا بيانات على نفس قاعدة البيانات ولما يعملوا حفظ بتبلش المشاكل

    بالطريقة الا انا ذكرتها، الموظفين ما بشوفوا قاعدة البيانات اصلا، هم بعبو ب فورم ادخال ، وهذا الفورم بفتح اتصال مع قاعدة البيانات وبس ينتهي ترحيل بغلق الاتصال

    والحلو انه كل موظف عنده ملف اكسل به فورم ادخال  والكل بقرا وبدخل على نفس قاعدة البيانات بدون مشاكل

    انا راح اعمل مثال عليه وارفقه انشاء الله

     

     

     

     

    • Like 1
  8. هاي الفكرة مش متداولة بالمنتيدات واكثير مهمة

    انا اكثير اتعبت لحد ما اقدرت اشتغل عليها

    حاليا عندي برنامج (شاشة الادخال بملف اكسل) وموزع على خمس موظفين ، كل موظف اله ملف،  والبينات مخزنة بملفات ثانية موجودة على جهاز سيرفر

    pic.jpg

     

    انا برنامجي اسمه

    lite

    وبدير 9 قواعد بيانات

    وبيقدر يشتغل عليها عدد لا نهائي من الموظفين

     

    • Like 1
  9. شكرا أستاذ ياسر

    طريقتك جدا جميلة

    انا استعملت طريقتي على اكثر من جهاز ولم احتاج الى ملف

    dll

    يبدو انه متوفر بكل بمعظم نسخ الاوفس

    وانا استعمله تقريبا بكل يوزر فورم اعمله

    فلا احتاج الا الى سطر واحد لاظهاره

    وسطر اكتب به القيمة التي اريدها ان تكون عند اجراء الحدث

     

     

     

    • Like 1
  10. ADO Connectionاستخدام الاكسيل كقاعدة بيانات عن طريق وسيلة الاتصال

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

    في البداية الطريقة تعتمد على وسيلة الاتصال

    Active Data Object ADO 

    وهي وسيلة اتصال بين برنامج كتابة الاكواد و قاعدة البيانات مثلا

    VB.net and SQL

    Visual Basic and Access

    وهي حصرية لبرامج مايكروسوفت فقط

    ولكي يكون لدينا اتصال كامل يجب ان يكون لدينا

    Connection String

    وهو عنوان قاعدة البيانات التي سيتم الاتصال بها، والذي من خلاله سيكون التالي:

     *  فتح اتصال*

    * جملة الاستعلام*

    * انهاء الاتصال*

    وهنا تكمن الميزة بهذه الطريقة، فجملة الاستعلام يجب كتابتها بطريقة 

    SQL dataBase

    وهنا تنطبق معظم جمل

    SQL

    امثلة على الجمل

    select * from [data]

    Select Count(Customer) from [data]

    Select Sum(Customers) from [data] where city ='Ramallah'

    تعلم كتابة جمل جديدة

    وغيرها من الجمل التي يعرفها جيدا المبرمجون باستخدام قواعد البيانات

    SQL,MYSQL,Oracle

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

    ولاستخدام هذه الطريقة يجب تفعيل التالي

    Tools-References

    adolibrary.jpg

     

    بالمرفق ملف اكسل يحتوي مثال على ما تم ذكره سابقا

     

     

    database.zip

    • Like 6
×
×
  • اضف...

Important Information