تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] بحث بشرط اخر رقم في الحقل
#1
اخوتي الكرام  السلام عليكم ورحمة الله 
ارجوا مساعدتي في استعلام عن اخر رقم من الحقل مثلا عندي حقل رقم الوظيفي الموظف 
 
مثلا:_
الرقم الموظف
1235
6311
3164
6133
2616
6449
9791
6649
2594
3478
3164
 البحث بنهاية الرقم  ولكن مثلا  الرقم 4 فيظهر  نتيجة البحث 
3164
2594
3164
 تكون نيجة البحث
ارجو مساعدتي حتى بفكرة 
والسلام عليكم ورجمة الله 
الرد
تم الشكر بواسطة:
#2
UserID = حقل رقم الموظف
Table1 = اسم الجدول
TextBox1 = الرقم المراد البحث عنه
3 = بداية عملية البحث من الرقم الرابع لأن الرقم الأول يبدأ بصفر والرقم الثاني 1 وهكذا
1 = طول الرقم المراد البحث عنه

عدل ما يلزم ليتناسب مع تطبيقك .




كود :
SELECT *
FROM Table1
WHERE
substring(UserID,3,1) LIKE '%" & TextBox1.Text & "%'
يا رحمن الدنيا والآخرة ورحيمهما
الرد
#3
حريف برمجة
جزاااك الله كل خير
جربت الطريقة لكن لم تنجح ولا اعرف السبب
رقم الموظف عندي يتكون من 10 خانات مثلا (5570000555)
اي من 0 الى 9 في برمجة الكود
ممكن التوضيح اكثر بارك الله فيك
الرد
تم الشكر بواسطة:
#4
اه حط 9 محل 4

UserID = حقل رقم الموظف
Table1 = اسم الجدول
TextBox1 = الرقم المراد البحث عنه
3 = بداية عملية البحث من الرقم الرابع لأن الرقم الأول يبدأ بصفر والرقم الثاني 1 وهكذا
1 = طول الرقم المراد البحث عنه

عدل ما يلزم ليتناسب مع تطبيقك
هاذا هو الشرح ارسل الكود الذي لديك لنرى ما الخطأ

الرد
تم الشكر بواسطة:
#5
الكود في الكلاس :_
----------------------------
Public Function testttttt(ByVal Full_Name As String) As DataTable
Dim CON As New Class1
Dim DT As New DataTable
DT.Clear()
DT = CON.SELECT_TXT(" SELECT * FROM dbo.P_Pension WHERE substring(PensionNo,9,1) LIKE '%" & Full_Name & "%'")
Return DT
End Function
-------------------------------------------------------------------------

كود البحث:_
--------------------------------
Sub ARD_d()
Dim DT As New DataTable
DT.Clear()
DT = Class1_.testttttt(TextBox2.Text)
dgv1.DataSource = DT
dgv1.DataSource = DT
dgv1.Columns(0).HeaderText = "الرقم"
dgv1.Columns(0).Width = "100"
End Sub
------------------------------------------------------
الرد
تم الشكر بواسطة: elgokr
#6
PHP كود :
Public Class Form1
    Dim str 
As String "provider=microsoft.ace.oledb.12.0;data source=" CurDir() & "\db.accdb"
 
   Dim dt As DataTable
    Private Sub Button1_Click
(sender As System.ObjectAs System.EventArgsHandles Button1.Click
        ListBox1
.Items.Clear()
 
       Using con As New OleDb.OleDbConnection(str)
 
           Using cm As New OleDb.OleDbCommand(""con)
 
               cm.CommandText "select * from tb"
 
               If con.State ConnectionState.Closed Then con.Open()
 
               dt = New DataTable
                dt
.Load(cm.ExecuteReader)
 
               If con.State ConnectionState.Open Then con.Close()
 
           End Using
        End Using
        For i 
As Integer 0 To dt.Rows.Count 1
            Dim t 
As String dt(i)(1).ToString
            If Mid
(tLen(t), 1) = TextBox1.Text Then
                ListBox1
.Items.Add(t)
 
           End If
 
       Next
    End Sub
End 
Class 
الرد
تم الشكر بواسطة: elgokr
#7
(17-10-19, 02:42 AM)محمد بوقزاحة كتب : حريف برمجة
جزاااك الله كل خير  
جربت الطريقة لكن لم تنجح  ولا اعرف السبب
رقم الموظف عندي يتكون من 10 خانات   مثلا (5570000555)
اي من 0 الى 9 في برمجة الكود
ممكن التوضيح اكثر بارك الله فيك

سبب وضعي لك رقم 3 لانك وضعت ارقام الموظفين من عدد 4 خانات ...

على العموم استبدل رقم 3 لتصبح 9
يا رحمن الدنيا والآخرة ورحيمهما
الرد
تم الشكر بواسطة: elgokr
#8
مرحباً اخى محمد بوقزاحة
لبساطة الامر وسهولة التعامل مع الامر

اذا كنت تستخدم قاعدة بيانات Access فكل ما عليك جعل الاستعلام بهذا الشكل
كود :
SELECT * FROM test WHERE number LIKE '*" & TextBox1.Text &"'

ولاحظ * الموجوده وهى تشير اى كان الاحرف / الارقام الى قبل ما تم ادخاله فى TextBox1

واذا كنت تستخدم قاعدة بيانات MsSQL فكل ما عليك جعل الاستعلام بهذا الشكل
كود :
SELECT * FROM TT1 WHERE number LIKE '%" & TextBox1.Text &"'

ولاحظ % الموجوده وهى تشير اى كان الاحرف / الارقام الى قبل ما تم ادخاله فى TextBox1

وهذا هو الاختلاف بين قاعدة بيانات Acces و Sql

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: حريف برمجة
#9
شكرا اخي الكريم 
لقد قمت بتجريب  عدد محاولات وللاسف لم تنجح
قاعدة البيانات SQL 2008 R2
المطلوب 
جدول للموظفين 
رقم الموظف      اسم الموظف   عنوان الموظف    رقم هاتف الموظف     ..... الخ
5550000556      محمد علي       مصر                 6161313131
5563131447      احمد محمد      السعودية         64611111111
5642322333      خالد عبدالله     العراق                4631311311
5355212477      محمود علي    مصر                    3164631613
4452326666      ماهر محمود    السعودية             232631131


---------المطلوب -------
البحث باخر رقم مثلا :_   الرقم  7
فتكون نتيجة البحث هكدا
5563131447
5355212477

(17-10-19, 09:48 AM)حريف برمجة كتب :
(17-10-19, 02:42 AM)محمد بوقزاحة كتب : حريف برمجة
جزاااك الله كل خير  
جربت الطريقة لكن لم تنجح  ولا اعرف السبب
رقم الموظف عندي يتكون من 10 خانات   مثلا (5570000555)
اي من 0 الى 9 في برمجة الكود
ممكن التوضيح اكثر بارك الله فيك

سبب وضعي لك رقم 3 لانك وضعت ارقام الموظفين من عدد 4 خانات ...

على العموم استبدل رقم 3 لتصبح 9
قاعدة البيانات SQL2008R2
الرد
تم الشكر بواسطة: elgokr , elgokr
#10
مرحباً اخى محمد بوقزاحة
ارجع لردي السابق وسيتم حل الامر بدون كتابة اكواد مكثفة لاتمام الامر

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


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



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


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