منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] استفسار :- فرز البيانات على حسب السنوات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] استفسار :- فرز البيانات على حسب السنوات (/showthread.php?tid=25634)

الصفحات: 1 2 3


RE: استفسار :- فرز البيانات على حسب السنوات - elgokr - 08-07-18

(08-07-18, 01:24 PM)dubai.eig كتب :
(07-07-18, 08:50 PM)elgokr كتب :
الاخ Done
ما قصر فى تقديم المساعدة
فكل الشكر له على تقديم المساعدة 

تحياتى لك وللاخ Done
وتمنياتى لكم التوفيق

كلكم فيكم الخير والبركه 


عندي سؤال

الان في 
ComboBox
اكتب رقم السنه يدوي
2018
2017
2016
2015

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

من البحث 

حاولت بهذا الكود بس ما ضبط

كود :
("SELECT DISTINCT Year(qso_date)


اذا في مجال افيدوني بارك الله فيكم
وشكرا


بخصوص ذلك كما العادة الاخ Done

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

واضافتاً لما قدمه
اذا قمت بمراجعة السورس الذى قمت بارفاقه
بعد التعديل على سورس الاخ سعود كما طلب

ستجد انه يقوم فعلياً بعمل البحث بقاعدة البيانات
ولا يلزمك ان تستخدم عدد السنوات بالكومبو
فعد كتابة عام 2020 كتابياً يدوى مثلاً والضغط Enter

سيقوم بعمل البحث بقاعدة البيانات وعرض النتائج فى القائمة

تحياتى لك
وتمنياتى لك وللاخ Done كل التوفيق



RE: استفسار :- فرز البيانات على حسب السنوات - dubai.eig - 10-07-18

اهلا من جديد

طلعت لي مشكله في عرض البيانات من قاعدة البيانات

إقتباس :Conversion from type 'DBNull' to type 'String' is not valid 

هنا

كود :
 Private Sub viewpage(ByVal p As Integer)
       'On Error Resume Next
       Me.lbl_start.Text = "0 / 0"
       If totalpages = 0 Then Return
       If p > totalpages Then
           p = totalpages
           page = p
       End If
       Me.lbl_start.Text = String.Format("{0} / {1}", page, totalpages)
       p -= 1
       lst1.Items.Clear()

       For i = (p * perpage) To (p * perpage) + perpage - 1
           If i = dt.Rows.Count Then Exit Sub
           Dim r As DataRow = dt.Rows(i)
           lst1.Items.Add(New ListViewItem(
         {r("Qso_id"),
                           r("CALLop"),
                           r("qso_date"),
                           r("timek"),
                           r("bands"),
                           r("modes"),
                           r("Lfullname"),
                           r("country"),
                           r("dxcc"),
                           r("cqz"),
                           r("ituz"),
                           r("rst_sent"),
                           r("rst_rcvd"),
                           r("lotw_qsl_sent"),
                           r("lotw_qsl_rcvd"),
                           r("eqsl_qsl_sent"),
                           r("eqsl_qsl_rcvd"),
                           r("qsl_sent"),
                           r("qsl_rcvd"),
                           r("qsl_sent_date"),
                           r("qsl_print"),
                           r("qth"),
                           r("LAT"),
                           r("LON"),
                           r("GRIDSQUARE"),
                           r("Lqslmgr"),
                           r("PFX"),
                           r("freq"),
                           r("iota"),
                           r("state")
                          }))
       Next

   End Sub


والسبب ان في القاعدة عند ال dxcc مثلا فاضي

[attachment=18773]

واذا كان لا توجد بياننات في احد التيبلات يعطيني غلط

اللي اعرفه يجب اضافة

كود :
If IsDBNull(ret) Then


حاولت بس ما ضبط

بارك الله فيكم


RE: استفسار :- فرز البيانات على حسب السنوات - elgokr - 10-07-18

الكود الموجود بالرد غير كاملاً
حيث ان قيمة dt غير معروفة 
خلاف كلاً من 
totalpages  perpage page
بوخصوص هذا السطر
كود :
For i = (p * perpage) To (p * perpage) + perpage - 1

يفضل ان يتم تغييره الى
كود :
For i = Val(p * perpage) To Val((p * perpage) + perpage - 1)

ثانياً فى نفس السطر برده خاصة Form
انت مستخدم هذا
PHP كود :
(perpage) + perpage 

هل انت متاكد من ذلك
بسبب ما تم توضيحه بالاعلى غير معرف قيم كلاً منهم

يفضل مراجعة الكود كاملاً او ادراج المشروع مع توضيح مكان الكود بالمشروع

تحياتى لك



RE: استفسار :- فرز البيانات على حسب السنوات - dubai.eig - 10-07-18

(10-07-18, 01:36 AM)elgokr كتب :
الكود الموجود بالرد غير كاملاً
حيث ان قيمة dt غير معروفة 
خلاف كلاً من 
totalpages  perpage page
بوخصوص هذا السطر
كود :
For i = (p * perpage) To (p * perpage) + perpage - 1

يفضل ان يتم تغييره الى
كود :
For i = Val(p * perpage) To Val((p * perpage) + perpage - 1)

ثانياً فى نفس السطر برده خاصة Form
انت مستخدم هذا
PHP كود :
(perpage) + perpage 

هل انت متاكد من ذلك
بسبب ما تم توضيحه بالاعلى غير معرف قيم كلاً منهم

يفضل مراجعة الكود كاملاً او ادراج المشروع مع توضيح مكان الكود بالمشروع

تحياتى لك

اهلا استاذي

الكود موجود هنا
http://vb4arb.com/vb/showthread.php?tid=25634&pid=122926#pid122926


RE: استفسار :- فرز البيانات على حسب السنوات - elgokr - 10-07-18

فى هذا الحالة استخدم هذا الشرط
كود :
If Not IsDBNull(r("Lfullname")) Or Not IsDBNull(r("dxcc")) Or Not IsDBNull(r("cqz")) Or Not IsDBNull(r("ituz")) Then

قبل عملية عرض البيانات
بحيث يقوم بعرض البيانات التى لا تحتوى على فراغ
وقم بالتعديل حسب المسميات لديك وحسب ما تريد التحقق منه

وفى حالة انك تريد عرض البيانات حتى التى تعرض بيانات فارغة
ضح هذا باخر القيمة
كود :
.ToString

بحيث لو نقول انك بتستخدم القيمة بهذا الشكل
كود :
r("Serial")

فقط اجعلها بهذه الطريقة
كود :
r("Serial").ToString()

تحياتى لك



RE: استفسار :- فرز البيانات على حسب السنوات - dubai.eig - 11-07-18

(10-07-18, 06:57 PM)elgokr كتب : فى هذا الحالة استخدم هذا الشرط
كود :
If Not IsDBNull(r("Lfullname")) Or Not IsDBNull(r("dxcc")) Or Not IsDBNull(r("cqz")) Or Not IsDBNull(r("ituz")) Then

قبل عملية عرض البيانات
بحيث يقوم بعرض البيانات التى لا تحتوى على فراغ
وقم بالتعديل حسب المسميات لديك وحسب ما تريد التحقق منه

وفى حالة انك تريد عرض البيانات حتى التى تعرض بيانات فارغة
ضح هذا باخر القيمة
كود :
.ToString

بحيث لو نقول انك بتستخدم القيمة بهذا الشكل
كود :
r("Serial")

فقط اجعلها بهذه الطريقة
كود :
r("Serial").ToString()

تحياتى لك

احسنت بارك الله فيك

كود :
r("Serial").ToString()


ضبط معاي الحمدالله  Rolleyes