الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعديل على تصدير بيانات من اكسس الى اكسل

بدأه morad2012 في 21 أكتوبر 2013 · 4 رد · 479 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

 

كل عام وأنتم بخير ،،، وتقبل الله طاعاتكم

 

في المرفق نموذج نقل بيانات من اكسس الى اكسل للاخت زهرة حفظها الله

 

ما اريده فضلاً لا أمراً: 

 

تصدير الأسماء التي تمت فلترتها بعد اختيار رقم الصف من القائمة المنسدلة الموجودة في النموذج

الى قالب الاكسل المرفق، على أن يتم نقل أول 25 اسم ثم ينتقل الى الخلية التي رقمها 26

 

أي يبدأ التصدير في خلية (B14) وحتى خلية (B38) بما مجموعه 25 طالب

ثم ينتقل الى خلية رقم (B63) لاكمال التصدير

 

::

 

ملاحظة: المرفق بصيغة اكسس 2003

 

تحياتي

ExportToExcel.rar

تم تعديل هذه المشاركة بواسطة morad2012 في 21 أكتوبر 2013 في 12:35

اذا دعتـــك قدرتك على ظلـــم الناس   فتذكر قدرة الله عليــــــك

#2

أتمنى من الاخوان الإفادة ،،، للضرورة

 

تحياتي

اذا دعتـــك قدرتك على ظلـــم الناس   فتذكر قدرة الله عليــــــك

#3

تفضل الكود المعدل :)

 

Option Compare Database
Option Explicit

Private Sub CmdExport_Click()
Dim TheFile 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
Dim Counter As Integer

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 & "\Tables.xlt"
Set xlw = xlx.Workbooks.Open(TheFile)
Set xls = xlw.Worksheets("sheet1")
Set xlc = xls.Range("B14")
xls.Range("a2") = [txtcode]

Set dbs = CurrentDb()
'Set rst = dbs.OpenRecordset("s_names", dbOpenDynaset)
Set rst = Me.stu_F.Form.RecordsetClone

rst.MoveLast: rst.MoveFirst
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).Value

Next lngColumn
Set xlc = xlc.Offset(1, 0)
End If

Counter = 0
Do While rst.EOF = False
Counter = Counter + 1

For lngColumn = 0 To rst.Fields.Count - 1
''rst.Edit
'rst!datasheat = rst!elem_name & HyperlinkPart(rst.Fields("datasheat"), acAddress)
''rst.Update
xlc.Offset(0, lngColumn).Value = rst.Fields(lngColumn).Value

Next lngColumn
rst.MoveNext

If Counter = 25 Then Set xlc = xls.Range("B62")
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
End Sub

 

جعفر

1
#4

احسنت اخي الكريم جعفر ،،،

 

عمل رائع

 

+1

اذا دعتـــك قدرتك على ظلـــم الناس   فتذكر قدرة الله عليــــــك

#5

حياك الله :)

1

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…