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

نسخة كاملة : برنامج وارد ومصروفات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاتة وكل عام وانتم بخير وسعادة وبعد

ارجو المساعدة في بعض الاكواد 

1- كود التنقل بين السجلات واظهار السجل المتواجد فية حاليا
2- كود ارسال بيانات الداتا جريد الي ملف اكسيل 
3- كيفية عمل تقرير يومي وبين تاريخين
السلام عليكم ورحمة الله وبركاتة 

اية ياجماعة الخير مفيش رد هو الموضوع صعب ؟؟؟
(16-06-18, 02:14 PM)abdohassan كتب : [ -> ]السلام عليكم ورحمة الله وبركاتة وكل عام وانتم بخير وسعادة وبعد

ارجو المساعدة في بعض الاكواد 

1- كود التنقل بين السجلات واظهار السجل المتواجد فية حاليا
2- كود ارسال بيانات الداتا جريد الي ملف اكسيل 
3- كيفية عمل تقرير يومي وبين تاريخين


ليس بالموضوع الصعب اخى الحبيب

لكن نحن فى يومين العيد ومن الصعب
تجد الجميع متواجد هنا لكي يساعد
فعيد سعيد عليك

اولاً بخصوص رقم 1
قم بتوضيح رقم الفورم المطلوب عمل عليه ما تريد
حتى يتم كتابة الكود المناسب بناءاً على المسميات لديك

ثانياً بخضوض رقم 2
فى البداية قم بانشاء الـ Sub التالى
كود :
Private Sub releaseObject(ByVal obj As Object)
   Try
       System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
       obj = Nothing
   Catch ex As Exception
       obj = Nothing
   Finally
       GC.Collect()
   End Try
End Sub

ثم بعد ذلك ضع هذا الكود داخل الـ Buttun
كود :
   Dim xlApp As Microsoft.Office.Interop.Excel.Application
   Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
   Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
   Dim misValue As Object = System.Reflection.Missing.Value
   Dim i As Integer
   Dim j As Integer

   xlApp = New Microsoft.Office.Interop.Excel.ApplicationClass
   xlWorkBook = xlApp.Workbooks.Add(misValue)
   xlWorkSheet = xlWorkBook.Sheets("sheet1")


   For i = 0 To DataGridView1.RowCount - 2
       For j = 0 To DataGridView1.ColumnCount - 1
           For k As Integer = 1 To DataGridView1.Columns.Count
               xlWorkSheet.Cells(1, k) = DataGridView1.Columns(k - 1).HeaderText
               xlWorkSheet.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString()
           Next
       Next
   Next

   xlWorkSheet.SaveAs("D:\vbexcel.xlsx")
   xlWorkBook.Close()
   xlApp.Quit()

   releaseObject(xlApp)
   releaseObject(xlWorkBook)
   releaseObject(xlWorkSheet)

   MsgBox("You can find the file D:\vbexcel.xlsx")

ثالثاً بخصوص رقم 3
كل ما عليك هو استخدام الاستعلام التالى
كود :
SELECT * FROM nametable WHERE namedate >= date1, namedate <=date2

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

تحياتى لك
وتمنياتى لك التوفيق
(18-06-18, 02:36 AM)elgokr كتب : [ -> ]
(16-06-18, 02:14 PM)abdohassan كتب : [ -> ]السلام عليكم ورحمة الله وبركاتة وكل عام وانتم بخير وسعادة وبعد

ارجو المساعدة في بعض الاكواد 

1- كود التنقل بين السجلات واظهار السجل المتواجد فية حاليا
2- كود ارسال بيانات الداتا جريد الي ملف اكسيل 
3- كيفية عمل تقرير يومي وبين تاريخين


ليس بالموضوع الصعب اخى الحبيب

لكن نحن فى يومين العيد ومن الصعب
تجد الجميع متواجد هنا لكي يساعد
فعيد سعيد عليك

اولاً بخصوص رقم 1
قم بتوضيح رقم الفورم المطلوب عمل عليه ما تريد
حتى يتم كتابة الكود المناسب بناءاً على المسميات لديك

ثانياً بخضوض رقم 2
فى البداية قم بانشاء الـ Sub التالى
كود :
Private Sub releaseObject(ByVal obj As Object)
   Try
       System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
       obj = Nothing
   Catch ex As Exception
       obj = Nothing
   Finally
       GC.Collect()
   End Try
End Sub

ثم بعد ذلك ضع هذا الكود داخل الـ Buttun
كود :
   Dim xlApp As Microsoft.Office.Interop.Excel.Application
   Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
   Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
   Dim misValue As Object = System.Reflection.Missing.Value
   Dim i As Integer
   Dim j As Integer

   xlApp = New Microsoft.Office.Interop.Excel.ApplicationClass
   xlWorkBook = xlApp.Workbooks.Add(misValue)
   xlWorkSheet = xlWorkBook.Sheets("sheet1")


   For i = 0 To DataGridView1.RowCount - 2
       For j = 0 To DataGridView1.ColumnCount - 1
           For k As Integer = 1 To DataGridView1.Columns.Count
               xlWorkSheet.Cells(1, k) = DataGridView1.Columns(k - 1).HeaderText
               xlWorkSheet.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString()
           Next
       Next
   Next

   xlWorkSheet.SaveAs("D:\vbexcel.xlsx")
   xlWorkBook.Close()
   xlApp.Quit()

   releaseObject(xlApp)
   releaseObject(xlWorkBook)
   releaseObject(xlWorkSheet)

   MsgBox("You can find the file D:\vbexcel.xlsx")

ثالثاً بخصوص رقم 3
كل ما عليك هو استخدام الاستعلام التالى
كود :
SELECT * FROM nametable WHERE namedate >= date1, namedate <=date2

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

تحياتى لك
وتمنياتى لك التوفيق

السلام عليكم ورحمة الله وبركاتة وكل عام وانت بخير اخي [b]elgokr [/b]

[b]اولاً بشكرك علي ردك جعلة الله في ميزان حسناتك [/b]
[b]ثانيا بخصوص رقم 1 وليكن الفورم 3 [/b]
لتصدير المعلومات باسرع طريقة ( عند وجود عدد كبير جدا من العلومات ) او في حال تريد تصدير البيانات دون وجود MS Office على الجهاز .
استخدم الكود هنا
السلام عليكم ورحمة الله وبركاتة اخي [b]HASAN6.0 وكل عام وانت بخير [/b]

[b]شكرا علي ردك بس ممكن شرح عمل الكود ؟[/b]
(19-06-18, 01:50 PM)abdohassan كتب : [ -> ]السلام عليكم ورحمة الله وبركاتة وكل عام وانت بخير اخي [b]elgokr [/b]

[b]اولاً بشكرك علي ردك جعلة الله في ميزان حسناتك [/b]
[b]ثانيا بخصوص رقم 1 وليكن الفورم 3 [/b]


عفواً اخى انا سهيت فى الكتابة بخصوص رقم 1

لا اقصد به رقم الفورم  Big Grin
فسامحنى على السهو وعدم الانتباه

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

ما ارسده توضيح السجلات المقصودة وبيانتها
او ارفاق مثال مصغر حتى يتم عمل الكود بناءاً على ما ترفقه

واتمنى رقم 2 و 3 قد يكون تم معك وامره بسيطة لديك
كما الاخ HASAN6.0
اضف لك طريقة فعالة ايضاً

تحياتى لك
شكرا اخي الفاضل علي تعبك معاي لاني مبتدئ

بس ممكن توضحلي كود الاستعلام بين تاريخين بشرط الاسم الموجود في التكست بوكس
(19-06-18, 06:07 PM)abdohassan كتب : [ -> ]شكرا اخي الفاضل علي تعبك معاي لاني مبتدئ

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


فقط استخدم نفس ما قمت بكتابته مسبقاً 

مع اضافة التحقق بالاسم كما التالى
كود :
SELECT * FROM nametable WHERE namedate >= date1, namedate <=date2, name='textbox'

مع تغيير المسميات وطريقة استدعاء TextBox بالكود حسب المسميات لديك

تحياتى لك
وتمنياتى لك التوفيق