PDA

View Full Version : dlookup با سه شرط



ngpsa_900
سه شنبه 13 تیر 1391, 22:53 عصر
با سلام در برنامه ام با استفاده از dlookupمی خواهم تکراری بودن رکورد را براساس سه فیلددر سابفرم که اگر این سه فیلد با هم تکراری باشد آنرا مشخص کند (دو فیلد عددی و فیلد سوم متنی)است. لطفا مرا راهنمایی فرمایید

Abbas Amiri
سه شنبه 13 تیر 1391, 23:01 عصر
از الگوی زیر میتوانید استفاده کنید


If DCount("*", "MyTable", "Field1=" & field1 & " AND Field2=" & Field2 & " AND Field3='" & Field3 & "'") Then
' Type your code
End If

ngpsa_900
چهارشنبه 14 تیر 1391, 12:38 عصر
با تشکر
متاسفانه با قرار دادن کدهای بالا در برنامه خطای Type mismatch رو می ده (البته من از dlookup) برای کنترل رکوردها استفاده کردم (در after update فیلد saat

Abbas Amiri
چهارشنبه 14 تیر 1391, 20:54 عصر
باید از DCount استفاده کنید. در عبارات If مقدارموردمقایسه پیش فرض ، منطقی( عددی) است نه رشته

ngpsa_900
جمعه 16 تیر 1391, 15:57 عصر
ممکنه کمی بیشتر توضیح بدید

Abbas Amiri
جمعه 16 تیر 1391, 18:51 عصر
زمانی که شما عبارت If expression Then را بکار میبرید یعنی بدون <،>،= و .... و آنرا باچیزی مقایسه نمیکنید در اینحالت اگر مقدار expression قابل تبدیل به نوع Boolean نباشد خطای عدم تطبیق روی خواهد داد.
در عبارتی هم که شما بکار برده اید اگر سعی در تبدیل عبارت به نوع بولین کنید این خطا رخ خواهد داد

ARData
شنبه 17 تیر 1391, 08:54 صبح
XD=Dlookup("[FldX]","TblX","[FldA]=" & Me.FldOnForm1 & "And [FldB]=" & Me.FldOnForm2 & "And [FldC]=" & Me.FldOnForm3)
در صورت رشته اي بودن هر يک از مقادير ، مثلا FldB از فرمول زير مي توان کمک گرفت :
XD=Dlookup("[FldX]","TblX","[FldA]=" & Me.FldOnForm1 & "And [FldB]=" & "'" & Me.FldOnForm2 & "'" & "And [FldC]=" & Me.FldOnForm3)