اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

خطأ في تصدير البيانات الى اكسل


waheidi
إذهب إلى أفضل إجابة Solved by waheidi,

الردود الموصى بها

الاخوة الافاضل

في المثال المرفق عند فتح النموذج سجل العلامات واختيار الصف السادس الشعبة أ والضغط على زر عرض الكشف ليتم تخزين البيانات في الاستعلام qryelements 

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

ارجو مساعدتكم ودمتم

مثال.rar

تم تعديل بواسطه waheidi
رابط هذا التعليق
شارك

14 ساعات مضت, waheidi said:

الاخوة الافاضل

في المثال المرفق عند فتح النموذج سجل العلامات واختيار الصف السادس الشعبة أ والضغط على زر عرض الكشف ليتم تخزين البيانات في الاستعلام qryelements 

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

ارجو مساعدتكم ودمتم

مثال.rar 47.77 kB · 4 downloads

انا اكتب من الهاتف ..

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

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

واذا توفر جهاز كمبيوتر اقوم بتحميل ملفك ... او احد الاخوة يقوم بذلك .. بارك الله فيك

رابط هذا التعليق
شارك

اعتقد المشكلة في نوع الاستعلام لانه يعتمد على التصفية في النموذج .....

الحل المؤقت

هو انشاء جدول مؤقت Temp من الاستعلام qryElemnts  ثم تربط ما تريد به مباشرة ويتم حذفة بعد تصدير البيانات مباشرة

 

  • Like 3
رابط هذا التعليق
شارك

11 دقائق مضت, waheidi said:

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

 

جرب هذه الكود تحت نفس زر التصدير بعد مسح الكود القديم الصق هذا الكود

On Error Resume Next

CurrentDb.Execute ("Delete * From temp")
DoCmd.SetWarnings False
DoCmd.RunSQL " SELECT qryElemnts1.stname INTO temp " & _
" FROM qryElemnts1;"
DoCmd.SetWarnings True

Dim TheFile As String
Dim BackFile As String
Dim lngColumn As Long
Dim xlx As Object, xlw As Object, xls As Object, xlc As Object
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim blnEXCEL As Boolean, blnHeaderRow As Boolean

blnEXCEL = False
blnHeaderRow = False
On Error Resume Next
Set xlx = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
      Set xlx = CreateObject("Excel.Application")
      blnEXCEL = True
End If
Err.Clear
On Error GoTo 0
xlx.Visible = True
TheFile = CurrentProject.Path & "\ms.xlsx"
BackFile = CurrentProject.Path & "\äÓÎÉ ÇÍÊíÇØíÉ ãä ms.xlk"
Set xlw = xlx.Workbooks.Open(TheFile)
Set xls = xlw.Worksheets("students") 'ÇÓã æÑÞÉ ÇáÚãá
Set xlc = xls.Range("B6") 'Çæá ÎáíÉ Ýí ãáÝ ÇáÇßÓá ÊÈÏà ÇáÊÚÈÆÉ ãäåÇ
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("temp", dbOpenDynaset) 'ÇÓã ÇáÇÓÊÚáÇã

If rst.EOF = False And rst.BOF = False Then
      rst.MoveFirst

      If blnHeaderRow = True Then
            For lngColumn = 0 To rst.Fields.Count - 1
                  xlc.Offset(0, lngColumn).Value = rst.Fields(lngColumn).name
            Next lngColumn
            Set xlc = xlc.Offset(1, 0)
      End If

      Do While rst.EOF = False

For lngColumn = 0 To rst.Fields.Count - 1
rst.Edit
'rst!datasheat = rst!stname & HyperlinkPart(rst.Fields("datasheat"), acAddress)
rst.Update
                  xlc.Offset(0, lngColumn).Value = rst.Fields(lngColumn).Value
            Next lngColumn
            rst.MoveNext
            Set xlc = xlc.Offset(1, 0)
      Loop
End If

rst.Close
Set rst = Nothing
dbs.Close
Set dbs = Nothing
Set xlc = Nothing
Set xls = Nothing
xlw.Close True
Set xlw = Nothing
If blnEXCEL = True Then xlx.Quit
Set xlx = Nothing
Kill (BackFile)

 

  • Like 3
رابط هذا التعليق
شارك

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

رابط هذا التعليق
شارك

12 دقائق مضت, waheidi said:

ولكن لقد ارهقت نفسي وارهقتكم معي سوف انسى الفكرة كليا ولك جزيل الشكر

هذه الكلمه وغيرها من الكلمات يجب على المبرمج ان ينساها تماما ...........

جرب المرفق ...... 

 

مثال.accdb

  • Like 3
رابط هذا التعليق
شارك

مجرد رأي :

ملف الاكسل واحد ... صحيح

عند تصدير الفصل أ

ثم تصدير الفصل ب

ثم ج د هـ

تجد مشكلة في اسماء الطلاب وتداخلها ... فتضطر لمسح ملف الاكسل كل مرة ( ماذا لو جعلت ملف الاكسل قالب ) تكون افضل وفي كل مرة تصدير يطلب منك البرنامج اسم جديد ... اقضل

انظر للمرفق الجديد وملف الاكسل الموجود فيه هو قالب لا يتغير بل يطلب منك اسم لكل تصدير وموقع للتصدير ....

جرب المرفق وأعلمنا بالنتيجة ....

kanory.rar

  • Like 3
  • Thanks 1
رابط هذا التعليق
شارك

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

ربنا يزيدك من علمه

بقي شيء واحد اذا بدي اغلبك 

كيف بدي اطبع ملف الاكسل من داخل الاكسس

ولك كل الاحترام

تم تعديل بواسطه waheidi
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information