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

ترحيل اعمدة وسجلات معينة الي الاكسيل مع التنسيق


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

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

343569040_2.png.4e6b678eb9d39e5f6553b3c613af91f6.png

السلام عليكم 

عمالقة المنتدي الكبار 

مشكلة لم اجد لها حلا لذا لجأت اليكم لتساعدوني ولا تبخلو علي من وقتكم 

انا عملت نموزج اسمه "search" موجود به Listview اسمها "searchlist" تظهر بها مجموعة من الاعمدة تصل ل38 عمود و255 سجل تستورد البيانات من خلال استعلام اسمه "DataTech" من جدول اسمه "Data_Tech"

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

1.png

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

اخي العزيز  @ahmed_2040

اضف نموذج التصدير في الملف المرفق الى قاعدة بياناتك

وقم بتغيير اسم الاستعلام

ومن ثم تصدير الحقول المطلوبة الى اكسيل

تحباتي

export excel.accdb

تم تعديل بواسطه Ahmed_J
  • Like 1
رابط هذا التعليق
شارك

والله انا شايف ان الموضوع معقد وخصوصا انه اسماء الجداول والاستعلامات مختلفة 

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

واكون شاكر جدا لزوق حضرتك وبارك الله فيك

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

  • أفضل إجابة

اخي العزيز

مش عارف سبب الخطا عندك (لانه مسار حفظ ملف الاكسل على سطح المكتب)

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

تحياتي لك

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

السلام عليكم استاذ @ahmed_2040

واجهتني مشكلة اسماء الحقول بالانكليزي  A1 , A2  الى اخره قمت بتغيير اسمائها من خلال التصدير الى اكسل

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

المهم :

عملت لك 10 حفول للتصدير الى اكسل مثال للعمل مع التنسيقات

افتح النموذج  Search  ثم قم بتصفية النموذج  ثم اختر التصدير الى اكسيل 

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

ثم اضغط على زر تصدير 

ستجد ملف اكسل منسق 

اتمنى يكون المطلوب

نجياتي

 

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

تمام بس استاذن حضرتك احذف المشاركة الاخيرة لسرية واهمية البيانات وانا عامل ملف اخر في المشاركة السابقة به بيانات اخري غير هامة 

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

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

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

ثم فتح ملف الاكسيل بعد التصدير 

موضوع تنسيق الملف الاكسيل ده مش مهم اوي المهم هو استخراج الحقول والاعمدة (اريد ايضا تحديد اعمده معينة) زي الحقول 

وترتيبهم من اليمين لليسار زي ما حضرتك عامل 

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

Dtpath

varItm

xlWs1

QFEx

رسالة الخطا variable not defined 

لماذا ؟؟

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

انا عملت التعديلات دي من زر امر " تصدير للاكسيل" الملونة بلون احمر

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

 

On Error Resume Next
Dim curPath As String
Dim DTPath As String
    Dim xlApp1 As Object  'Excel.Application
    Dim xlWB1 As Object   'Excel.Workbook
    Dim xlWs1 As Object
        DTPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")
     curPath = DTPath & "\salah- " & Format(Date, "dd-mm-yyyy") & ".xlsx"

 

If SearchList.ItemsSelected.Count = 0 Then
Beep
MsgBox "اختر الحقول مراد تصديرهم"
Exit Sub

 

End If
Dim Ssql As String
Dim varItm As Object
    For Each varItm In SearchList.ItemsSelected
    Ssql = Ssql & "[" & SearchList.ItemData(varItm) & "] ,"
        
    Next varItm
    Ssql = Mid(Ssql, 1, Len(Ssql) - 1)
Ssql = "select " & Ssql
Ssql = Ssql & " from "
Dim QFEx As Object
Set QFEx = CurrentDb.CreateQueryDef("Qtoexport", Ssql)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Qtoexport", curPath, , "Qtoexport"
    'DoCmd.OutputTo acOutputQuery, "Qtoexport", acViewPreview
DoCmd.DeleteObject acQuery, "Qtoexport"
'========format ExcelFile
FormatExcelOut (curPath)
'=======================
      Set xlApp1 = CreateObject("Excel.Application")
    xlApp1.Visible = False   'True

 

    Set xlWB1 = xlApp1.Workbooks.Open(curPath)
    Set xlWs1 = xlWB1.Worksheets("Qtoexport")
    
    xlWs1.DisplayRightToLeft = True
    
     xlWB1.Save
    
      xlApp1.Quit
    Set xlWs1 = Nothing
    Set xlWB1 = Nothing
    Set xlApp1 = Nothing
Beep
MsgBox "لقد تم تصدير البيانات بنجاح"
 
تم تعديل بواسطه ahmed_2040
رابط هذا التعليق
شارك

اخي العزيز

لان الكود مرتبط Me.ChooseTble  اي اخيار الجدول او الاستعلام و Me.mm  بتخديد الحقول

المهم في حل اخر 

ان تقوم باضافة حقول نموذج التصدير الى اكسل الى نموذجك الاصلي  ويصبح نموذج واحد

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

تحياتي للجميع

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

شكرا وبارك الله فيك وفي اعضاء الجروب وكتر خيركم 

بالنسبة للفكرة المفترحة فهي مش عملية

اخر طلب لي وهو شرح الكود السابق 

وخاصة ssql  - varItm

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

م نالواضح ان حضرتك فهمت مقصدي غلط انا مش عاوز اصدر حقول انا عاوز اصدر الصف كامل بحقوله الي ملف اكسيل 

بشرط يكون لدي امكانية اختيار الحقول والصفوف ايضا 

مثال انا لدي جدول به 35 حقل او عمود / وبه 155 صف 

محتاج اختار 10 حقول مثلا + 5 صفوف بدون ترتيب للاثنين

اعتقد حضرتك الان فهمتني !!

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

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