PDA

View Full Version : جستجو برای تکراری وارد نشدن مقدار ها درفیلد



omidparkour
پنج شنبه 05 اردیبهشت 1392, 17:26 عصر
سلام
میخواستم کدی بنویسم که موقع ثبت اطلاعات در بانک اطلاعات با استفاده از جستجو مقدار یک فیلد رو در بانک چک کنه که اگر اون مقدار تکراری بود اطلاعات رو وارد نکنه و پیغام بده و درغیر اینضورت اطلاعات رو در بانک اضافه کنه
لطفا کمک کنید

SlowCode
جمعه 06 اردیبهشت 1392, 09:12 صبح
سلام
علت اینکه کسی که سوالات اخیر شم جواب نمیده اینه که همش تکراری و درخواست سورس و ... هست که خلافه.


میخواستم کدی بنویسم که موقع ثبت اطلاعات در بانک اطلاعات با استفاده از جستجو مقدار یک فیلد رو در بانک چک کنه که اگر اون مقدار تکراری بود اطلاعات رو وارد نکنه و پیغام بده و درغیر اینضورت اطلاعات رو در بانک اضافه کنه
شما وقتی میخوای ببینی قبلا رکوردی هست یا نه چیکار میکنی؟
میای اول اون مقدار رو جستجو میکنی اگه موجود بود پیغام خطا میدی، ولی اگه نبود ثبتش میکنی.

adodc1.recordsource="select * from table1 where name='" & text1.text & "'"
adodc1.refresh
if adodc1.recordset.recordcount=0 then
' Saving codes
msgbox "record aded"
Else
Msgbox "Record exists"
End if

omidparkour
جمعه 06 اردیبهشت 1392, 09:30 صبح
ممنون اما ارور syntax error in from cluse میده
چی باید کرد؟؟؟

mahdivita
جمعه 06 اردیبهشت 1392, 23:18 عصر
این کد چرا ارور میده؟؟؟؟؟؟

ho3ein.3ven
جمعه 06 اردیبهشت 1392, 23:32 عصر
سلام . دوست عزیز کدی که آقا محسن قرار داده هیچ مشکلی نداره . بعضی از جاهاش رو باید به نسبت بانکتون و برنامتون تغییر بدین.
چه خطایی میده ؟

mahdivita
جمعه 06 اردیبهشت 1392, 23:42 عصر
syntax error in from cluse

m.4.r.m
شنبه 07 اردیبهشت 1392, 00:19 صبح
کدی که براتون گذاشتند کاملا صحیح است شما فیلدی که برای مقدار جست و جو تعریف کردی نوع اون چیه ؟ از نوع رشته یا عدد اگه عدد باشه باید این خط رو این طور بنویسی :
adodc1.recordsource="select * from table1 where name=" & text1.text

در ضمن نام جدول و نام فیلد در این تکه کد مثالی نوشته شده شما باید نام جدول خودتون رو به جای table1 و نام فیلد خودتون رو به جای name قرار داده و جاگذاری کنید . همین

mahdivita
شنبه 07 اردیبهشت 1392, 14:41 عصر
بله فیلدش عددی هست و نوعش در اکسس number است
کد من به این شکل هست

Private Sub Button5_Click()
Adodc1.RecordSource = "select * from moshakhasat_darokhane where number_tasis=" & Text1.Text
Adodc1.Refresh
If Adodc1.Recordset.RecordCount = 0 Then
If (Text1.Text = "") Or (Text2.Text = "") Or (Text3.Text = "") Or (Text4.Text = "") Or (Text5.Text = "") Or (Text6.Text = "") Or (Text7.Text = "") Or (Text8.Text = "") Or (Text9.Text = "") Or (Text10.Text = "") Then
a = MsgBox("áØÝÇ ÇØáÇÚÇÊ ÑÇ ˜Çãá æÇÑÏ ˜äíÏ", vbCritical, "ÇÎØÇÑ")
Else
Adodc1.Recordset.AddNew
a = MsgBox("ÇØáÇÚÇÊ ÏÇÑæÎÇäå ÈÇ ãæÝÞíÊ ËÈÊ ÔÏ", vbInformation, "äÊíÌå ËÈÊ ÇØáÇÚÇÊ")
End If
Else
MsgBox "ãÞÏÇÑ Ê˜ÑÇÑí ÇÓÊ"
End If
End Sub

mahdivita
شنبه 07 اردیبهشت 1392, 20:12 عصر
لطفا دلیل رو بگین

نیاز شدید به راهنمایی

SlowCode
شنبه 07 اردیبهشت 1392, 20:20 عصر
اگه به خط دوم ایراد میگیره، اسم جدول و فیلدت رو عوض کن، یعنی کاراکتر _ رو بردار. مثلا بنویس darokhaneInfo
اکسس به بعضی کاراکتر ها تو نامگذاری حساسه، شاید با _ هم مشکل داشته باشه.

mahdivita
شنبه 07 اردیبهشت 1392, 20:54 عصر
نه به خط سوم یعنی :

adodc1.refresh

گیر میده

SlowCode
شنبه 07 اردیبهشت 1392, 21:25 عصر
اصولا نباید خطای سینتکس بده!
فقط یه راه حل تو ذهنم هست.
یه تکست باکس بزار رو فرم بعد با دیتا ارتباط بده(با datafield , recordsource) بعد مخفیش کن.
گاهی اوقات جواب میده.

mahdivita
شنبه 07 اردیبهشت 1392, 22:05 عصر
یعنی چطوری؟؟؟؟
یک تکست باکس بگذارم بعد با Adodc به بانکم ارتباط بدم
بعدش ارتباط دادم به کدوم فیلدش مرتبط کنم؟؟؟؟؟؟

SlowCode
شنبه 07 اردیبهشت 1392, 22:50 عصر
مهم نیست هر فیلدی خواستی ربط بده.
البته مطمئن نیستم که جواب بده یا نه.:متفکر:

mahdivita
یک شنبه 08 اردیبهشت 1392, 15:48 عصر
نشد
باز همون ارور همیشگی رو میده و وقتی debugرو میزنم میاد روی adodc1.refresh !!!!!!!!!!!!!!!!
دیگه دارم دیونه میشم

SlowCode
یک شنبه 08 اردیبهشت 1392, 19:27 عصر
نمیدونم مشکل از کجاست!
از آقا حامد(vbhamed) یا آقای محسن واژدی کمک بگیر.

mahdivita
یک شنبه 08 اردیبهشت 1392, 19:47 عصر
من ایشون رو از کجا پیدا کنم؟؟
لطفا لینکشون رو بدین

محسن واژدی
چهارشنبه 11 اردیبهشت 1392, 12:21 عصر
سلام علیکم
احتمالا" خاصیت CommandType بر روی adCmdTable تنظیم شده است، دستور زیر را پیش از Refresh قرار دهید:
Adodc1.CommandType = adCmdText

موفق باشید