تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] التوجه الى سجل مُحدد من الـ DataSource
#11
لدى برنامج آخر كان يعمل على الاكسس بشكل جيد
لما حولته اكسيل لا يتعرف على انواع البيانات بشكل صحيح ، بمعنى ان فيه بيانات رقمية كانت فى الاكسس والعمود كان Number
وعند عمل اضافة لا يتم وضع البيان داخل علامات تنصيص كهذه ' '
المهم , البرنامج يتعرف على جميع اعمدة الاكسيل على انها نصية ، بالتالى يظهر خطأ عند اضافة بيانات رقمية.. كيف احدد للاكسيل نوع البيان فى عمود مُحدد مثل الاكسس
الرد }}}
تم الشكر بواسطة:
#12
السلام عليكم ورحمة الله

أخي يوسف

تحديد نوع البيانات في الاكسل يكون عن طريق الخاصية NumberFormat الخاصة بالخلية

وهذا مثال لنوع بيانات رقمي
PHP كود :
xlSheet.Range("A1").NumberFormat "0.00" 
أو
PHP كود :
Dim row As Integer 1
Dim col 
As Integer 1
xlSheet
.Cells(rowcol).NumberFormat "0.00" 

وهذا مثال لنوع بيانات نصي
PHP كود :
xlSheet.Range("A1").NumberFormat "@" 
أو
PHP كود :
Dim row As Integer 1
Dim col 
As Integer 1
xlSheet
.Cells(rowcol).NumberFormat "@" 
الرد }}}
تم الشكر بواسطة: Youssef1313
#13
انا استخدمت ADO فى ربط البرنامج بالاكسيل
اريد طريقة داخلية من الاكسيل نفسه كما فى الاكسس.. جربت عدة طرق على الانترنت ولم تنجح معى
الرد }}}
تم الشكر بواسطة:
#14
السلام عليكم ورحمة الله

أخي يوسف

لا أعرف كيف "استخدمت ADO فى ربط البرنامج بالاكسيل"
ولم أفهم ماذا تقصد بقولك"طريقة داخلية من الاكسيل نفسه كما فى الاكسس"
الرد }}}
تم الشكر بواسطة: Youssef1313
#15
استخدمت OLEDBConnection و OLEDBCommand ، إلخ لربط البرنامج بالاكسيل
وكما قلت مُسبقًا البرنامج كان على الاكسس.. فى الاكسس تستطيع تحديد نوع البيانات لكل عمود فى اى جدول من الـ Design View .. اريد شىء شبيه لذلك فى الاكسيل ويتناسب مع طلبى ، لا اريده يتعارض مع استخدامى للـ ADO Smile
الرد }}}
تم الشكر بواسطة:
#16
السلام عليكم ورحمة الله

أخي يوسف

إذا أردت تحديد نوع بيانات عمود في ورقة إكسل بطريقة يدوية إفتح ملف الإكسل واضغط على رأس العمود بالزر الأيمن واختيار "تنسيق خلايا" وتحديد من القائمة "الرقم"

ولو تذكر الكود الذي تعارض معك أو توضحة أكثر يكون أفضل
الرد }}}
تم الشكر بواسطة:
#17
اتذكر اننى جربت ذلك الحل مُسبقًا وبعد اضافة سجل واحد فى الجدول ترجع كما كانت..
عمومًا سأجرب مرة اخرى وارد لك خبر

يوجد شىء آخر بمشروعى بالنسبة للاكسس
كود :
        ComboCertPurpose.DataSource = DirectCast(New myDB, myDB).GetData("SELECT [كود البيان],[البيان] FROM [RecCode] WHERE [نوع البيان]=2")
        ComboCertPurpose.DisplayMember = "البيان"
        ComboCertPurpose.ValueMember = "كود البيان"

بالنسبة لدالة GetData الموجودة فى كلاس myDB ترجع بـ DataTable
المُهم
يظهر فى الكومبوبوكس عمود " البيان "
وان اردت جلب كود البيان للعنصر المُحدد ساستخدم ComboCertPurpose.SelectedValue
ماذا لو اردت جلب الاندكس حسب " كود البيان " ؟ كيف سيكون ذلك ؟

قمت بعمل المطلوب بشكل مباشر ، كنت اعتقد SelectedValue انها ReadOnly
لكن فقط حولت القيمة التى اريدها لها بشكل مُباشر Smile
الرد }}}
تم الشكر بواسطة:


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


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