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

listbox نقل الحقول من الكمبو بوكس الي vba


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

ا- اريد ان اقوم بتعبئة list fields  بحقول الجدول بالتسمية العربية وليست الاختصاره

2- يظهر في listfieds اسماء الحقول بالعربي وجنبهم علامة صح لاختيار الحقل المطلوب او عدم اختيارة

3- بعد اختيار الحقول من listfields  يتم نقلهم الي SearchListEXP  مع اظهار البيانات الموجودة في جدول Data_Tech تحت كل حقل حسب الاختيار من list fields

CustomColumns.accdb

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

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

أخي الكريم ahmed_204079

أرجو أن تعجبك طريقتي في تنفيذ طلبك فهي بسيطة وفعالة وبدون استعمال اكواد أو استعمال النموذج المرفق وتقوم بالتصدير لملف الإكسل مباشرة

إذا كنت تريد ظهور اسماء الحقول بالاسماء العربية في ملف الاكسل قم بتغيرها في جدول الاكسس فلم تعد بحاجة للتسمية بأسماءالأعمدة في اكسل وسوف أقوم بظبط ملف الاكسس مرة أخرى لك.

:fff:تحياتي :fff:

1.gif

التصدير الي اكسل بعد الفرز.accdb

تم تعديل بواسطه ahmed draz
  • Thanks 1
رابط هذا التعليق
شارك

ومشاركةً مع أخي @ahmed draz ،

 

اجعل كود الحدث بعد التحديث للقائمة cmb_TQ كما يلي ، لجلب التسمية التوضيحية للحقول من الجدول المختار من القائمة ..

 

Private Sub cmb_TQ_AfterUpdate()
    Dim db As Database, td As TableDef
    Dim fld As Field
    Dim sql As String
    Dim captions As String
    Set db = CurrentDb
    Set td = db.TableDefs(Me.cmb_TQ.Value)
    sql = "SELECT data_tech.* FROM data_tech WHERE data_tech.a1 LIKE '" & Me.cmb_TQ.Value & "' ORDER BY a1"
    With Me.ListFields
        .ColumnCount = 1
        .RowSourceType = "Value List"
        .RowSource = ""
    End With
    For Each fld In td.Fields
        If fld.Properties("Caption") <> "" Then
            captions = fld.Properties("Caption")
        Else
            captions = fld.Name
        End If
        Me.ListFields.AddItem captions
    Next fld
    Set db = Nothing
    Set td = Nothing
End Sub

 

هذا فيما يخص الطلب الأول طبعاً .:biggrin: ، وأعتقد الثاني أيضاً ولكن بطريقة الاختيار المتعدد .

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

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

شكراً جزيلاً لك أخي الحبيب Foksh

اشكرك على اهتمامك

ولكنني لم استخدم المرفق الخاص به ولم أقم إلا باستيراد الجدول فقط و طريقتي لا يوجد بها أكواد vba 

:fff:ولذلك وجب التوضيح وشكراًجزيلا لك:fff:

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

السلام عليكم اساتذتي الكرام 

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

بالنسبة لطريقة ا/ احمد دراز فهي غير مطلوبة لدي قد تجدي نفعا مع غيري

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

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

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

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

واللي بعته لحضرتك ده جزء من البرنامج الذي يحتوي عل 17 جدول  50 نموزج لكل المراحل ابتدائي واعدادي وثانوي

وكذلك تقرير كتير واستعلامات اكتر مصممه من 2017 ولكن قررت اليوم تطويره 

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

انا عاوز كل حاجه في البرنامج تتم برمجيا انا كنت شغال فيجول بيسك 6 من فتره كبيره وللاسف نسيت منه اكواد كتير 

بحاول اتذكرها معكم

Screenshot 2024-07-29 172303.png

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

يا استاذ  @ahmed_204079 افندى

المرفق اللى حضرتك وضعته مش بتاعك لان فى اكواد غلط وفى حجات ناقصة و و بلا بلا بلا......

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

وكنت جهزت لك موضوع الليست بوكس وعلى ما رجعت من الشغل جيت ارفقه لاقيت اخونا الهمام الله يبارك بعمره الاستاذ @Foksh قام بالواجب على اكمل وجه الله يبارك له 

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

14 minutes ago, ابو جودي said:

يا استاذ  @ahmed_204079 افندى

المرفق اللى حضرتك وضعته مش بتاعك لان فى اكواد غلط وفى حجات ناقصة و و بلا بلا بلا......

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

وكنت جهزت لك موضوع الليست بوكس وعلى ما رجعت من الشغل جيت ارفقه لاقيت اخونا الهمام الله يبارك بعمره الاستاذ @Foksh قام بالواجب على اكمل وجه الله يبارك له 

اتفضل استاذ ابو جودي رجاء ارسال ما جهزته حضرتك للاستفادة من الكود

7.Export_to_Excel_05.1.mdb

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

35 دقائق مضت, ahmed_204079 said:

رجاء ارسال ما جهزته حضرتك للاستفادة من الكود

بس كده غالى والطلب رخيص من عيونى الجوز انت تأمر 

اتفضل الكود  اهو يا قمر

Private Sub cmb_TQ_AfterUpdate()
    ' Declare variables
    Dim db As DAO.Database
    Dim td As DAO.TableDef
    Dim fld As DAO.Field
    Dim fldCaption As String
    Dim captions() As String
    Dim i As Integer
    
    ' Get the current database
    Set db = CurrentDb
    ' Get the selected table definition
    Set td = db.TableDefs(Me.cmb_TQ.Value)
    
    ' Clear the contents of the current listbox
    Me.ListFields.RowSource = ""
    
    ' Set the number of columns to 1
    Me.ListFields.ColumnCount = 1
    
    ' Initialize the array to store captions or field names
    ReDim captions(td.Fields.Count - 1)
    
    ' Loop through each field in the table definition
    i = 0
    For Each fld In td.Fields
        ' Check if the Caption property exists and use it; otherwise, use the field name
        If FieldHasCaption(fld) Then
            fldCaption = fld.Properties("Caption")
        Else
            fldCaption = fld.Name
        End If
        
        ' Add the caption or field name to the array
        captions(i) = fldCaption
        i = i + 1
    Next fld
    
    ' Set the row source for the ListFields control
    Me.ListFields.RowSourceType = "Value List"
    Me.ListFields.RowSource = Join(captions, ";")
    
    ' Clear memory
    Set db = Nothing
    Set td = Nothing
End Sub

Private Function FieldHasCaption(fld As DAO.Field) As Boolean
    On Error Resume Next
    FieldHasCaption = Not IsNull(fld.Properties("Caption"))
    On Error GoTo 0
End Function

 

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

الشرح :
-  تعريف المتغيرات اللازمة
 

' Declare variables
Dim db As DAO.Database
Dim td As DAO.TableDef
Dim fld As DAO.Field
Dim fldCaption As String
Dim rowSourceString As String


- الحصول على قاعدة البيانات الحالية وتعريف الجدول
 

' Get the current database
Set db = CurrentDb
' Get the selected table definition
Set td = db.TableDefs(Me.cmb_TQ.Value)


- إفراغ محتويات القائمة الحالية وتعيين عدد الأعمدة إلى 1

' Clear the contents of the current listbox
Me.ListFields.RowSource = ""

' Set the number of columns to 1
Me.ListFields.ColumnCount = 1


- بناء سلسلة النصوص التي تحتوي على التسميات أو أسماء الحقول

' Initialize the string to build captions or field names
rowSourceString = ""

' Loop through each field in the table definition
For Each fld In td.Fields
    ' Check if the Caption property exists and use it; otherwise, use the field name
    On Error Resume Next
    fldCaption = fld.Properties("Caption")
    On Error GoTo 0
    
    If IsNull(fldCaption) Or fldCaption = "" Then
        fldCaption = fld.Name
    End If
    
    ' Add the caption or field name to the string
    rowSourceString = rowSourceString & fldCaption & ";"
Next fld


- إزالة الفاصلة الزائدة من نهاية السلسلة

' Remove the trailing semicolon from the end of the string
If Len(rowSourceString) > 0 Then
    rowSourceString = Left(rowSourceString, Len(rowSourceString) - 1)
End If


- تعيين مصدر الصفوف للتحكم ListFields
 

' Set the row source for the ListFields control
Me.ListFields.RowSourceType = "Value List"
Me.ListFields.RowSource = rowSourceString


- تحرير الذاكرة
 

' Clear memory
Set db = Nothing
Set td = Nothing


- التحقق من وجود التسمية
 

' Check if the Caption property exists
If FieldHasCaption(fld) Then
    fldCaption = fld.Properties("Caption")
Else
    fldCaption = fld.Name
End If


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

Private Function FieldHasCaption(fld As DAO.Field) As Boolean
    On Error Resume Next
    FieldHasCaption = Not IsNull(fld.Properties("Caption"))
    On Error GoTo 0
End Function


- استخدام مصفوفة لتخزين أسماء الحقول ومن ثم تعيين مصدر الصفوف مرة واحدة

Dim captions() As String
Dim i As Integer

ReDim captions(td.Fields.Count - 1)

' Loop through each field in the table definition
i = 0
For Each fld In td.Fields
    ' Check if the Caption property exists and use it; otherwise, use the field name
    If FieldHasCaption(fld) Then
        fldCaption = fld.Properties("Caption")
    Else
        fldCaption = fld.Name
    End If
    
    captions(i) = fldCaption
    i = i + 1
Next fld

' Set the row source for the ListFields control
Me.ListFields.RowSourceType = "Value List"
Me.ListFields.RowSource = Join(captions, ";")


المميزات

إضافة الدالة FieldHasCaption والتى تتحقق من وجود خاصية "Caption" بطريقة احترافية

استخدام مصفوفة لتخزين أسماء الحقول ومن ثم تعيين مصدر الصفوف مرة واحدة لتحسين الأداء 

بس خلاص :biggrin2:

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

طيب الكودين تحت المجهر   >>----->  الكود الاول للاستاذ العظيم @Foksh :fff: والكود الثانى اللى هو احسن طبعا   <<----< مين يشهد للعروسة

 

الكود الاول :
استخدام AddItem لإضافة العناصر بشكل فردي بدلا من بناء سلسلة نصية يقوم الكود بإضافة أسماء الحقول إلى قائمة
ListFields بشكل فردي باستخدام AddItem
عدم التعامل مع الأخطاء الكود لا يحتوي على أي تعامل مع الأخطاء مما قد يسبب أخطاء غير متوقعة
إعداد RowSource في بداية العملية يتم إعداد RowSource وإفراغه قبل البدء في إضافة العناصر
عدم استخدام جملة sql جملة sql الموجودة في الكود لا تؤثر على الكود ويمكن إزالتها لأنها غير مستخدمة

الكود الثانى :
استخدام متغير rowSourceString لبناء قائمة
ListFields الكود يجمع كل أسماء الحقول في سلسلة نصية مفصولة بفواصل
إعداد RowSource مباشرة بسلسلة نصية في النهاية حيث يقوم الكود بإعداد RowSource لقائمة
ListFields باستخدام السلسلة النصية التي تم بناؤها
التعامل مع الأخطاء بشكل آمن يتم التعامل مع الأخطاء عند محاولة الوصول إلى خاصية "Caption" في الحقول بشكل آمن عبر استخدام On Error Resume Next ثم On Error GoTo 0 بعد محاولة الوصول
مسح الذاكرة بشكل صحيح: يتم تعيين المتغيرات db و td إلى Nothing في النهاية، مما يساعد على تحرير الذاكرة.

المرونة والأداء:
الكود الثانى  قد يكون أفضل من حيث الأداء ده كده كده لانه بتاعى  :eek2: بالعند فيك يا استاذ @Foksh :fff:
حيث يتم بناء السلسلة النصية مرة واحدة ثم تعيينها إلى RowSource بدلاً من إضافة العناصر بشكل فردي كما في الكود الاول
فى الكود الثانى يتم التعامل مع الأخطاء بشكل صحيح مما يجعله نسبيا ً أكثر استقراراً 

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

الخلاصة بقة لان ده شغل فاخر من الاخر :clapping::jump::
الكود الثانى  يعتبر أفضل بسببين بس بعد الرغى ده كله ومعاكسة اغلى الغوالى
1- تعامله الأفضل مع الأخطاء
2- فعاليته في الأداء من خلال إعداد RowSource دفعة واحدة ووضوحه في التنفيذ


 

من غير ما تدخل تزعق يا عم @Foksh  هدى اعصابك بس روح ع الجدول وامسح اى تسمية لاى حقل وجرب  :eek2:

 

مش بقولك شغل فاخر من الاخر اه والله زيمبئولك كده :clapping:

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

هههههه انا قلت @Foksh هيزعق لى ويدينى بالمجهر فى دماغى ويعيط ويدبدب برجله زى ناس اسمها @safaa salem5 وفى الاخر يقولى انا مش داخل هنا تانى ومش عاوز منك حاجة وهروح عند الاجانب

انا راضى زمتكم الاجانب عندهم @Moosak صاحب المكتبة العامرة واللا عندهم @Foksh ابو قلب ابيض العسل ده والا عندهم واحدة بتكلم العرب بالعربى والعرب عاوزين مترجم علشان يفهموها اسمها الباش مهندس @hanan_ms حتة واحدة وبتفضل تحط مرفقات تخبل وتجنن وفيها اخترعات غريبة من كوكب تانى اه والله زيمبئولكم كده روحوا شوفوا شغلها يجنن بس اتفرجوا على الشغل هلى طول بدون ما تقرأوا كلامها :yes::biggrin2:

والله احلى صحبة هنا ناس عسل مالهومش زى احل اخل واخوات فى الدنيا واعظم اساتذة فى الوجود

ال مش لاعبه هنا تانى واروح العب عند الاجانب قال :tongue2: 

روحى يا اختى

 

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

 ابو جودي والله ما قصرت 🥰 بس محتاج منك تكملي اللمطلوب وهو اختيار الحقل او عدة حقول واظهارهم

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

CustomColumns.accdb

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

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

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

شوف يا غالى شكلك لسة جديد خلينا نتفق على شئ علشان منتعبش بعض ماشى

انا صعيدى يعنى واحد مبيفهمش بسهولة بس بأقولك ايه :eek2: سامعك بطل ضحك يا واد لما بأفهم والله بأبقى حلو وتلاقينى فوريره كده اومااااااااااال ههههههه بس لما بقه انت وحظك

النص الاولانى فاهمه

واظهار بياناتهم تقصد القيم اللى بالحقل ؟؟؟

ما هو الجدول يا ابنى لو مليون سجل مثلا انا انقل بيانات ايه 

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

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

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

يعنى تحكى لى حلمك بالتفصيل يا عثل انت علشان نشوف بقه هنعمل ايه فى الحلم اللى مش باين له ملامح ده كمان

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

12 minutes ago, ابو جودي said:

شوف يا غالى شكلك لسة جديد خلينا نتفق على شئ علشان منتعبش بعض ماشى

انا صعيدى يعنى واحد مبيفهمش بسهولة بس بأقولك ايه :eek2: سامعك بطل ضحك يا واد لما بأفهم والله بأبقى حلو وتلاقينى فوريره كده اومااااااااااال ههههههه بس لما بقه انت وحظك

النص الاولانى فاهمه

واظهار بياناتهم تقصد القيم اللى بالحقل ؟؟؟

ما هو الجدول يا ابنى لو مليون سجل مثلا انا انقل بيانات ايه 

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

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

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

يعنى تحكى لى حلمك بالتفصيل يا عثل انت علشان نشوف بقه هنعمل ايه فى الحلم اللى مش باين له ملامح ده كمان

زي كده يا معلم 

Screenshot 2024-07-29 225456.png

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

2 ساعات مضت, ahmed_204079 said:

عشان الميزنيات المطلوبة

يا راجل مش تقول من بدرى
يا نهار ابيض
ع العموم اجابة السؤال كاملة اهى علشان الميزانية بس  :eek2:   <---<< 

الشق الاول 
 


Private Sub cmb_TQ_AfterUpdate()
    ' Declare variables
    Dim db As DAO.Database
    Dim tableDef As DAO.tableDef
    Dim field As DAO.field
    Dim fieldCaption As String
    Dim fieldCaptions() As String
    Dim fieldIndex As Integer
    
    ' Get the current database
    Set db = CurrentDb
    ' Get the selected table definition
    Set tableDef = db.TableDefs(Me.cmb_TQ.Value)
    
    ' Clear the contents of the current listbox
    Me.ListFields.RowSource = ""
    
    ' Set the number of columns to 1
    Me.ListFields.columnCount = 1
    
    ' Initialize the array to store captions or field names
    ReDim fieldCaptions(tableDef.Fields.Count - 1)
    
    ' Loop through each field in the table definition
    fieldIndex = 0
    For Each field In tableDef.Fields
        ' Check if the Caption property exists and use it; otherwise, use the field name
        If FieldHasCaption(field) Then
            fieldCaption = field.Properties("Caption")
        Else
            fieldCaption = field.Name
        End If
        
        ' Add the caption or field name to the array
        fieldCaptions(fieldIndex) = fieldCaption
        fieldIndex = fieldIndex + 1
    Next field
    
    ' Set the row source for the ListFields control
    Me.ListFields.RowSourceType = "Value List"
    Me.ListFields.RowSource = Join(fieldCaptions, ";")
    
    ' Clear memory
    Set db = Nothing
    Set tableDef = Nothing
End Sub

' Function to check if a field has a Caption property
' Input: field (DAO.Field) - The field to check for a caption
' Output: Boolean - True if the field has a caption, False otherwise
Private Function FieldHasCaption(field As DAO.field) As Boolean
    On Error Resume Next
    FieldHasCaption = Not IsNull(field.Properties("Caption"))
    On Error GoTo 0
End Function

 

اما الشق التانى :

waw.JPG.6f974d8b44c2a338c5ec012862e8f2f2.JPG

ومتقوليش شرح علشان مش فاضى والله بقدر الامكان هتلاقى شرح ع الكود

انا عملت لك زر امر جديد هيكون اسمه : btnExport

والكود بتاعه اهو 

 

Private Sub btnExport_Click()
    On Error GoTo ErrorHandler

    ' Declare variables
    Dim sqlStatement As String
    Dim selectedFields As String
    Dim fieldIndex As Long
    Dim fieldName As String
    Dim field As DAO.field
    Dim tableName As String
    Dim db As DAO.Database
    Dim tableOrQuery As Object
    Dim fieldCaptionDict As Object
    Dim fieldCaption As String
    Dim selectedFieldCount As Integer

    ' Create a dictionary to store field captions and names
    Set fieldCaptionDict = CreateObject("Scripting.Dictionary")
    
    ' Check if a table or query is selected
    If Len(Me.cmb_TQ & "") = 0 Then
        MsgBox "Please select Table or Query"
        Me.cmb_TQ.SetFocus
        Exit Sub
    End If

    tableName = Me.cmb_TQ
    
    ' Check if the table or query exists in the database
    Set db = CurrentDb
    On Error Resume Next
    Set tableOrQuery = db.TableDefs(tableName)
    If tableOrQuery Is Nothing Then
        ' If it's not a table, check the queries
        Set tableOrQuery = db.QueryDefs(tableName)
    End If
    On Error GoTo ErrorHandler
    
    If tableOrQuery Is Nothing Then
        MsgBox "The table or query '" & tableName & "' does not exist."
        Exit Sub
    End If

    ' Populate the dictionary with field captions and names
    For Each field In tableOrQuery.Fields
        On Error Resume Next
        fieldCaption = field.Properties("Caption")
        On Error GoTo 0
        If IsNull(fieldCaption) Then
            fieldCaption = field.Name
        End If
        If Not fieldCaptionDict.Exists(fieldCaption) Then
            fieldCaptionDict.Add fieldCaption, field.Name
        End If
    Next field

    ' Check selected fields in the listbox
    selectedFields = ""
    selectedFieldCount = 0

    For fieldIndex = 0 To Me.ListFields.ListCount - 1
        If Me.ListFields.Selected(fieldIndex) Then
            fieldCaption = Me.ListFields.Column(0, fieldIndex) ' assuming column 0 contains the captions
            If fieldCaptionDict.Exists(fieldCaption) Then
                fieldName = fieldCaptionDict(fieldCaption)
            Else
                fieldName = fieldCaption
            End If
            
            ' Add the field to the selected fields string
            selectedFields = selectedFields & fieldName & ", "
            selectedFieldCount = selectedFieldCount + 1
        End If
    Next fieldIndex

    ' Remove the trailing comma from the selected fields string
    If Len(selectedFields) > 0 Then
        selectedFields = Left(selectedFields, Len(selectedFields) - 2)
    Else
        ' If no fields are selected, select all fields
        selectedFields = "*"
    End If

    ' Print the selected field names
    Debug.Print "Selected Fields: " & selectedFields

    ' Build the SQL statement based on the selected fields
    sqlStatement = "SELECT " & selectedFields & " FROM " & tableName
    
    ' Print the SQL statement
    Debug.Print "SQL Statement: " & sqlStatement

    ' Set the SQL statement as the data source for the SearchListEXP textbox
    Me.SearchListEXP.RowSourceType = "Table/Query"
    Me.SearchListEXP.RowSource = sqlStatement

    ' Update the number of columns in SearchListEXP
    Me.SearchListEXP.columnCount = selectedFieldCount

    ' Set the column headers
    Me.SearchListEXP.ColumnHeads = True
    Me.SearchListEXP.ColumnWidths = "2in" ' Adjust as needed

    ' Requery the data
    Me.SearchListEXP.Requery

    Exit Sub

ErrorHandler:
    MsgBox "Error " & Err.Number & ": " & Err.Description
    DoCmd.Hourglass False
End Sub

 

على الله بقة مانتلككش تانى ونخلص بئه ونسلم الشغل بسرعة علشان الميزانية 

 

 

تقبل تحياتى :fff:

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

في 30‏/7‏/2024 at 15:27, ahmed_204079 said:

الله يباركلك عاوز اسلم البرنامج للادارة عشان الميزنيات المطلوبة مننا 

:eek2: هو مش كنت مستعجل تقريبا 

يعنى ع الاقل رد تقول الدنيا تمام واللا لاء:rol:

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

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

انا وضعت الكود في حدث After updte  في الليست الصغيرة listfields 

اولا: لما بختار عنصر من اليست الصغيرة  listfields عن طريق النقر المفرد اول كلمة وهي مسلسل لا تظهر في الليست الكبيرة SearchListEXP واختار كلمة الكود بعدها تظهر ثم اسم المعلم المهم ان اول اختيار مش بيظهر ويظهرالاختيار اللي يليلة 

ثانيا اليست الكبيرة SearchListEXP لا يظهر بها شريط تمرير من الاسفل وكل ما اضيف حقول بتضضيق وبتتخنق والبينات مش بتبقي واضحة 

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

مرفق ملف صغير للتوضيح بعد اضافة الكود بتاعك لليست listfields 

 

CustomColumns.accdb

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

16 ساعات مضت, ahmed_204079 said:

وبعتذر عن تاخري في الرد بسبب انقطاع النت امس 

انا حاطط كاميرات وكله متراقب :biggrin: اومااااااااااااال :wink2:

انت دخلت وفضلت فى المنتىدى حبتين حلوين مش حبه واحدة بس

وجربت الكود براحتك واشتغل معاك بس شكلك كسلت ترد وقتها 

وبعدين ولما عدلت اللى انت عاوزة على هواك وتعطلت دخلت ترد 

انا هاعمل من بنها :yes:

غريب امركم ايها المثريون

 

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information