ورود

View Full Version : سوال: دادن پیغام و جلوگیری از ورود داده ای که قبلا ثبت شده است



hashemi.hanieh
چهارشنبه 03 اردیبهشت 1393, 10:35 صبح
با سلام
دوستان من دو تا فیلد دارم که می خواهم اگر داده ای مشابه همان دو فیلد در همان سطر وارد شد، پیغام دهد و اجازه ثبت ندهد
قبلا از کدی استفاده کردم اما این کد نقصی که دارد این است که فیلدهای مشابه را در سطرها یا رکوردهای مختلف در نظر می گیرد در حالیکه من می خواهم فقط یک سطر را برای تکراری بودن یا نبودن در نظر بگیرد:


Private Sub Type_BeforeUpdate(Cancel As Integer)On Error Resume Next
Dim RRecord As Variant
Dim RRecord1 As Variant
کد کلیدی جدولی است که مقدار وارده قبلا در آن ثبت شده است RRecord
RRecord = Nz(DLookup("[Type]", "Tbl2NameIngType", "[Type]=" & "'" & Me.Type & "'"), 0)
RRecord1 = Nz(DLookup("[NameIngredient]", "Tbl2NameIngType", "[NameIngredient]=" & "'" & Me.NameIngredient & "'"), 0)
If RRecord <> XID And RRecord1 <> 0 And RRecord <> 0 Then
Cancel = True
MsgBox "پیغام مورد نظر"
End If
End Sub

مثال برای اشکال این کد:
کالای 1 نوع 1
کالای 1 نوع 2
کالای 3 نوع 1
کالای 3 نوع 2 در اینجا با استفاده از این کدچون قبلا هم کالای 3 و هم نوع 2 ثبت شده است، پیغام خطا داریم در حالیکه من می خواهم بتوانم چنین داده ای را ثبت کنم اما مثلا نتوانم مجدد کالای 3 نوع 1 را ثبت کنم



ممنون و سپاسگزار دوستان میشم اگر پاسخ بدن... در ضمن به دلیل مشکلات دیگر این امکان نیست که این دو فیلد را به صورت پرایمری کی انتخاب کنم...

hashemi.hanieh
جمعه 05 اردیبهشت 1393, 05:08 صبح
دوستان... سلام مجدد

ماشاء الله کلی از افراد متخصص در این گروه هستند، این سوال هم فک می کنم برای خیلی از دوستان حل شده باشه، می شه یه بزرگواری لطف کنه و جواب سوال ما رو بدهند بلکه مشکل ما هم حل شود... ممنونتون میشم

alirezabahrami
جمعه 05 اردیبهشت 1393, 10:12 صبح
با سلام
دوستان من دو تا فیلد دارم که می خواهم اگر داده ای مشابه همان دو فیلد در همان سطر وارد شد، پیغام دهد و اجازه ثبت ندهد
قبلا از کدی استفاده کردم اما این کد نقصی که دارد این است که فیلدهای مشابه را در سطرها یا رکوردهای مختلف در نظر می گیرد در حالیکه من می خواهم فقط یک سطر را برای تکراری بودن یا نبودن در نظر بگیرد:


Private Sub Type_BeforeUpdate(Cancel As Integer)On Error Resume Next
Dim RRecord As Variant
Dim RRecord1 As Variant
کد کلیدی جدولی است که مقدار وارده قبلا در آن ثبت شده است RRecord
RRecord = Nz(DLookup("[Type]", "Tbl2NameIngType", "[Type]=" & "'" & Me.Type & "'"), 0)
RRecord1 = Nz(DLookup("[NameIngredient]", "Tbl2NameIngType", "[NameIngredient]=" & "'" & Me.NameIngredient & "'"), 0)
If RRecord <> XID And RRecord1 <> 0 And RRecord <> 0 Then
Cancel = True
MsgBox "پیغام مورد نظر"
End If
End Sub

مثال برای اشکال این کد:
کالای 1 نوع 1
کالای 1 نوع 2
کالای 3 نوع 1
کالای 3 نوع 2 در اینجا با استفاده از این کدچون قبلا هم کالای 3 و هم نوع 2 ثبت شده است، پیغام خطا داریم در حالیکه من می خواهم بتوانم چنین داده ای را ثبت کنم اما مثلا نتوانم مجدد کالای 3 نوع 1 را ثبت کنم



ممنون و سپاسگزار دوستان میشم اگر پاسخ بدن... در ضمن به دلیل مشکلات دیگر این امکان نیست که این دو فیلد را به صورت پرایمری کی انتخاب کنم...
سلام
نمونه برنامه را ارائه فرما ! با این کدها و این توضیحات چیزی نمیشه فهمید .
یا علی