تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
خطأ في Open File Dialog
#1
السلام عليكم
اعمل على برنامج في احد نوافذه اقوم باستيراد اكسل شيت الى الكرد فيو (DataGridView) الامور تعمل بشكل طبيعي و لكن يظر معي الخطأ التالي و لم اتوصل الى حل رغم عمليات البحث عن حلول
الخطا الذي يظهر هو:

PHP كود :
Attempted to read or write protected memoryThis is often an indication that other memory is corrupt

الكود البرمجي هو:

PHP كود :
Try
 
           Dim MyConnection As System.Data.OleDb.OleDbConnection
            Dim dataSet 
As System.Data.DataSet
            Dim MyCommand 
As System.Data.OleDb.OleDbDataAdapter
            Dim path 
As String ""
 
           Dim ofd As New OpenFileDialog
            With ofd
                
.Filter "MS Excel files (*.xls;*.xlsx)|*.xls;*.xlsx"
 
               .InitialDirectory "d:\"
                .Multiselect = False
                If .ShowDialog = Windows.Forms.DialogResult.OK Then
                    path = .FileName
                Else
                    Exit Sub
                End If

            End With
            MyConnection = New System.Data.OleDb.OleDbConnection("
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;")
            MyCommand = New System.Data.OleDb.OleDbDataAdapter("
select from [x$]", MyConnection)

            dataSet = New System.Data.DataSet
            MyCommand.Fill(dataSet)
            DataGridView1.DataSource = dataSet.Tables(0)

            MyConnection.Close()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, msgboxtitle)
        End Try 

السطر البرمجي الذي يظهر فيه الخطأ اعلاه هو :

PHP كود :
If .ShowDialog Windows.Forms.DialogResult.OK Then 

اجمل تحية
الرد }}}
تم الشكر بواسطة:
#2
و عليكم السلام و رحمة الله و بركاته
قمت بتطبيق الخطوات التي ادرجتها في ردك و لكن للاسف نفس الخطأ يظهر

تحياتي
الرد }}}
تم الشكر بواسطة:
#3
الكود يعمل ولا يوجد به مشاكل ...

.rar   WindowsApplication3.rar (الحجم : 49.54 ك ب / التحميلات : 43)
الرد }}}
تم الشكر بواسطة: ibraheam
#4
نفس المشكلة على بعض الاجازة وفي اجهزة يعملوا عليها بدون مشاكل
سبحان الله وبحمده
الرد }}}
تم الشكر بواسطة:
#5
PHP كود :
   'Dim ofd As New OpenFileDialog
    '
ofd.Filter "Excel|*.xls;*.xlsx"
 
   'If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
    ' 
   Me.Cursor Cursors.WaitCursor 'تغير المؤشر للانتظار
    ' 
   Dim MsExcel CreateObject("Excel.Application")
 
   '    Dim xlWorkBook = MsExcel.Workbooks.Open(ofd.FileName)
    ' 
   DGV1.DataSource Nothing
    
'    For I As Integer = 0 To MsExcel.Rows.Count - 2
    ' 
       If MsExcel.Cells(21).Value.ToString "" Then Exit For
 
   '        DGV1.Rows.Add()
    ' 
       Dim value1 As String MsExcel.Cells(21).Value.ToString.Trim
    
'        Dim value2 As String = MsExcel.Cells(I + 2, 2).Value.ToString.Trim
    ' 
       Dim value3 As Integer MsExcel.Cells(23).Value
    
'        Dim value4 As Integer = MsExcel.Cells(I + 2, 4).Value
    ' 
       Dim value5 As Integer MsExcel.Cells(25).Value
    
'        DGV1.Rows(I).Cells(0).Value = value1
    ' 
       DGV1.Rows(I).Cells(1).Value value2
    
'        DGV1.Rows(I).Cells(2).Value = value3
    ' 
       DGV1.Rows(I).Cells(3).Value value4
    
'        DGV1.Rows(I).Cells(4).Value = value5
    ' 
       DGV1.Rows(I).Cells(5).Value MsExcel.Cells(26).Value
    
'    Next
    ' 
   xlWorkBook.Close()
 
   '    MsExcel.Quit()
        ' 
   Me.Cursor Cursors.Default 'تغير المؤشر للاصل
    '
End If 
 جرب الطريقة دي
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد }}}
تم الشكر بواسطة:



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


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