alsihran قام بنشر مايو 18, 2022 قام بنشر مايو 18, 2022 السلام عليكم في المرفق عند البحث عن السجلات في تاريخ 2022/05/18 يظهر سجل واحد فقط بينما في الجدول يوجد سجلين في نفس التاريخ ولي أحصل على السجل الثاني لابد لي من ادخال البحث من تاريخ 2022/05/18 الى 2022/05/19 اعتقد المشكلة تكمن في وجود وقت مع التاريخ فهو لا يتعرف على الوقت عند ادخال تاريخ البحث لانه يبحث فقط في السجلات التي توافق نفس التاريخ ويكون الوقت المدخل 00:00:00 المطلوب عند البحث في تاريخ محدد يظهر جميع السجلات بغض النظر عن عن الوقت SearchFormatListBox.accdb
jjafferr قام بنشر مايو 18, 2022 قام بنشر مايو 18, 2022 وعليكم السلام 🙂 طرفي التاريخ يجب ان يكون لديهم نفس التنسيق ، مثلا: . جعفر 1510.SearchFormatListBox.accdb.zip 1 1
Eng.Qassim قام بنشر مايو 18, 2022 قام بنشر مايو 18, 2022 البرمجة منطق رياضي صارم جدا ... لا يقبل النقص في المعلومات لو لديك جدول فيه التاريخ مع الوقت ... الاستعلام يظهر لك التاريخ مع الوقت اما اذا اردت التاريخ فقط .. فالاستعلام يخبرك بانه يجب ان تنسقني على التاريخ فقط ... وهنا نستخدم جملة Format التي نحصر فيها التاريخ فقط دون الوقت ...او الوقت دون التاريخ ...او السنة سبحان الله العالم بكل شيء 2
alsihran قام بنشر مايو 19, 2022 الكاتب قام بنشر مايو 19, 2022 7 ساعات مضت, jjafferr said: طرفي التاريخ يجب ان يكون لديهم نفس التنسيق ، مثلا: شكرا لك استاذ لكن هذا ليس هو المطلوب انا راح استعلم عن طريق SqlServer محتاج التعديل يكون على جملة الاستعلام بالكود
د.كاف يار قام بنشر مايو 19, 2022 قام بنشر مايو 19, 2022 تفضل جرب هذا التعديل في اي مكان داخل محرر الأكواد الصق الكود التالي Function NewSours(StartDate As Variant, EndDate As Variant) As Variant On Error Resume Next Dim varFilter As Variant StartDate = Format([TxtStartDate], "\#mm\/dd\/yyyy\#") EndDate = Format([TxtEndDate], "\#mm\/dd\/yyyy\#") If Not IsNull(TxtStartDate) And IsNull(TxtEndDate) Then varFilter = " Format$([Startdate], '\#mm\/dd\/yyyy\#') = '" & StartDate & "' " ElseIf Not IsNull(TxtStartDate) And Not IsNull(TxtEndDate) Then varFilter = " Format$([Startdate], '\#mm\/dd\/yyyy\#') Between '" & StartDate & "' AND '" & EndDate & "'" ElseIf Len(TxtStartDate) = 0 And Len(TxtEndDate) = 0 Then varFilter = Null End If NewSours = "SELECT * FROM tbl_Employ " & IIf(Len(varFilter) = 0, "", "Where " & varFilter) End Function و لاستدعاء الوظيفة استخدم الكود التالي ListData.RowSource = NewSours(TxtStartDate, TxtEndDate) SearchFormatListBox.accdb 2 1
alsihran قام بنشر مايو 19, 2022 الكاتب قام بنشر مايو 19, 2022 41 دقائق مضت, د.كاف يار said: تفضل جرب هذا التعديل الله يعطيك العافية مثالك المرفق شغال تمام حاولت اطبقة على جملة الاتصال Sql server حيث حقل الفرز Taqm_Date1 rs.Open "SELECT * FROM View_1_Liset Where Deletrecord = 1 And Taqm_Date1 Between '" & TxtstartDate & "' And '" & TxtEndDate & "'", sqldb, , , adCmdText للاستدعاء وضعت rs.Open = NewSours(TxtstartDate, TxtEndDate) طلع عندي رسالة خطأ
أفضل إجابة jjafferr قام بنشر مايو 19, 2022 أفضل إجابة قام بنشر مايو 19, 2022 2 ساعات مضت, alsihran said: لكن هذا ليس هو المطلوب انا راح استعلم عن طريق SqlServer محتاج التعديل يكون على جملة الاستعلام بالكود ولا يهمك ، تفضل يا سيدي: Dim mySQL As String mySQL = "SELECT * " mySQL = mySQL & " FROM tbl_Employ" mySQL = mySQL & " WHERE Format([Startdate],'yyyymmdd') Between '" & Format(Me.TxtStartDate, "yyyymmdd") & "' And '" & Format(Me.TxtEndDate, "yyyymmdd") & "'" Me.ListData.RowSource = mySQL او على سطر واحد Me.ListData.RowSource = "SELECT * FROM tbl_Employ WHERE Format([Startdate],'yyyymmdd') Between '" & Format(Me.TxtStartDate, "yyyymmdd") & "' And '" & Format(Me.TxtEndDate, "yyyymmdd") & "'" . الامر Format يغير ما ما يحتويه من رقم او تاريخ ، الى نص ، والفضل في هذه المعادلة يعود لأخي @رمهان ، حيث قال : في 2/6/2015 at 00:56, رمهان said: هنا نلاحظ ان السر في عدم استخدام # واستبدالها ب ' لانه اصبحت المقارنة نصية ! والافضل وضع تنسيق التاريخ بهذا الشكل mmddyyyy جعفر 1 1
alsihran قام بنشر مايو 19, 2022 الكاتب قام بنشر مايو 19, 2022 26 دقائق مضت, jjafferr said: Me.ListData.RowSource = "SELECT * FROM tbl_Employ WHERE Format([Startdate],'yyyymmdd') Between '" & Format(Me.TxtStartDate, "yyyymmdd") & "' And '" & Format(Me.TxtEndDate, "yyyymmdd") & "'" تسلم استاذ ذا جاب نتيجة مع بعض التعديل على التنسيق حسب تنسيق الحقل بالاستعلام
jjafferr قام بنشر مايو 19, 2022 قام بنشر مايو 19, 2022 10 دقائق مضت, alsihran said: مع بعض التعديل على التنسيق حسب تنسيق الحقل بالاستعلام ما يحتاج تعديل ، فالكود عمل تنسيق لجانبي المعادلة 🙂 جربه كما هو واخبرنا بالنتيجة لوسمحت 🙂 جعفر
alsihran قام بنشر مايو 19, 2022 الكاتب قام بنشر مايو 19, 2022 1 دقيقه مضت, jjafferr said: ما يحتاج تعديل ، فالكود عمل تنسيق لجانبي المعادلة 🙂 جربه كما هو واخبرنا بالنتيجة لوسمحت 🙂 جربته مثل ما هو ما طلع ولا سجل عملت التنسيق بهذا الشكل Me.ListData.RowSource = "SELECT * FROM tbl_Employ WHERE Format([Startdate],'yyyy-mm-dd') Between '" & Format(Me.TxtStartDate, "yyyy-mm-dd") & "' And '" & Format(Me.TxtEndDate, "yyyy-mm-dd") & "'" الاستعلام في السكيول يطلع التاريخ بهذي الطريقه
د.كاف يار قام بنشر مايو 19, 2022 قام بنشر مايو 19, 2022 تفضل جرب هذا التعديل و لا تنسى ان تضع عنوان السيرفر Function NewSours(StartDate As Variant, EndDate As Variant) As Variant On Error GoTo ErrH Dim conn As ADODB.Connection, rs As ADODB.Recordset, strConnString As String, varFilter As Variant StartDate = Format([TxtStartDate], "\#mm\/dd\/yyyy\#") EndDate = Format([TxtEndDate], "\#mm\/dd\/yyyy\#") If Not IsNull(TxtStartDate) And IsNull(TxtEndDate) Then varFilter = " Format$([Startdate], '\#mm\/dd\/yyyy\#') = '" & StartDate & "' " ElseIf Not IsNull(TxtStartDate) And Not IsNull(TxtEndDate) Then varFilter = " Format$([Startdate], '\#mm\/dd\/yyyy\#') Between '" & StartDate & "' AND '" & EndDate & "'" ElseIf Len(TxtStartDate) = 0 And Len(TxtEndDate) = 0 Then varFilter = Null End If '================================================================== strConnString = "عنوان السيرفر" '================================================================== Set conn = New ADODB.Connection conn.Open strConnString Set rs = conn.Execute("SELECT * FROM tbl_Employ " & IIf(Len(varFilter) = 0, "", "Where " & varFilter)) If Not rs.BOF And Not rs.EOF Then rs.MoveFirst 'رؤوس الأعمدة ListData.AddItem rs.Fields(0).Name & ";" & rs.Fields(1).Name & ";" & rs.Fields(2).Name & ";" & rs.Fields(3).Name While (Not rs.EOF) ListData.AddItem rs.Fields(0) & ";" & rs.Fields(1) & ";" & rs.Fields(2) & ";" & rs.Fields(3) rs.MoveNext Wend End If rs.Close Set rs = Nothing ErrH: Exit Function End Function SearchFormatListBox.accdb 1 1
jjafferr قام بنشر مايو 19, 2022 قام بنشر مايو 19, 2022 31 دقائق مضت, د.كاف يار said: تفضل جرب هذا التعديل ما شاء الله اخوي حسين ، هاي برنامج كامل ، مو بحث فقط 🙂 دائما فيك الخير والبركة ، كما عودتنا بأفضالك 🙂 جعفر
alsihran قام بنشر مايو 19, 2022 الكاتب قام بنشر مايو 19, 2022 6 ساعات مضت, د.كاف يار said: تفضل جرب هذا التعديل و لا تنسى ان تضع عنوان السيرفر شكرا لك استاذ الله يعطيك العافية
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.