View Full Version : سوال: جستجو
maskan_1361
یک شنبه 08 مرداد 1391, 01:29 صبح
سلام
می خواهیم یه کد جدید در دیتابیس ذخیره کنیم ولی بشرط اینکه تا کاربر کد را وارد کرد برنامه در دیتابیس جستجو
بکنه و اگر کد تکراری بود پیغام بده ! از چه دستوری باید استفاده کنیم ؟
mohammadriano
یک شنبه 08 مرداد 1391, 02:28 صبح
Private Sub Command1_Click()
Dataname.Refresh
Dataname.RecordSource = "select * from table1 where fildname ='" + Text1.Text + "'"
Dataname.Refresh
If Dataname.Recordset.RecordCount < 1 Then
Dataname.RecordSource = "select * from table1"
Dataname.Refresh
Dataname.Recordset.AddNew
Dataname.Recordset.Fields("fildname").Value = Text1.Text
else
MsgBox ("Your code is repeated")
End If
Dataname.RecordSource = "select * from table1"
Dataname.Refresh
End Sub
maskan_1361
یک شنبه 08 مرداد 1391, 12:06 عصر
سلام دوست عزیز و ممنون
ولی کد کار نمی کنه!
من از data استفاده کردم
این هم کد
Private Sub Command1_Click()
Data1.RecordSource = "select * from customer where custnum ='" + Text1.Text + "'"
aa = Data1.Recordset.RecordCount
MsgBox aa
If Data1.Recordset.RecordCount = 1 Then
MsgBox ("Your code is repeated")
Else
Dim cn As ADODB.Connection
Dim stat As String
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\jafari\jafari.mdb;Persist Security Info=False"
cn.Open
stat = "INSERT INTO customer (cust_num,name,fam,gaba,labade,shalvar,jelig,tel,a dress) VALUES ('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text6.Text & "','" & Text7.Text & "','" & Text8.Text & "','" & Text9.Text & "','" & Text4.Text & "','" & Text5.Text & "')"
cn.Execute stat, adCmdText
cn.Close
Adodc1.Refresh
End If
mohammadriano
یک شنبه 08 مرداد 1391, 13:36 عصر
کد ها مشکلی ندارن
مشکل از جای دیگه هستش
دوباره چک کنید
mohammadriano
شنبه 14 مرداد 1391, 10:22 صبح
Private Sub Command_Click()
Dim m As Boolean
m = False
Dataname.Refresh
While (Dataname.Recordset.EOF <> True)
If Dataname.Recordset.Fields("FildName").Value = Text1.Text Then
m = True
Dataname.Recordset.Movelast
Dataname.Recordset.MovePrevious
End If
Dataname.Recordset.MoveNext
Wend
If m = False Then
Dataname.Refresh
Dataname.Recordset.AddNew
Dataname.Recordset.Fields("FildName").Value = Text1.Text
Else
MsgBox ("Your code is repeated")
End If
Dataname.Refresh
End Sub
maskan_1361
شنبه 14 مرداد 1391, 14:47 عصر
Private Sub Command_Click()
Dim m As Boolean
m = False
Dataname.Refresh
While (Dataname.Recordset.EOF <> True)
If Dataname.Recordset.Fields("FildName").Value = Text1.Text Then
m = True
Wend
End If
Dataname.Recordset.MoveNext
Wend
If m = False Then
Dataname.Refresh
Dataname.Recordset.AddNew
Dataname.Recordset.Fields("FildName").Value = Text1.Text
Else
MsgBox ("Your code is repeated")
End If
Dataname.Refresh
End Sub
دوست عزیز کد شما خطای زیر را می دهد
compile error
wend without while
که احتمالا به خاطر وجود if در بین دستورات است!!
SlowCode
شنبه 14 مرداد 1391, 14:57 عصر
دوست عزیز کد شما خطای زیر را می دهد
compile error
wend without while
که احتمالا به خاطر وجود if در بین دستورات است!!
نخیر، پیغام خطا خودش میگه که شما یه wend اضافه نوشتین، یعنی شما باید یکی از wend های خط 8 یا 11 رو حذف کنی.
mohammadriano
شنبه 14 مرداد 1391, 20:46 عصر
دوست عزیز کد شما خطای زیر را می دهد
compile error
wend without while
که احتمالا به خاطر وجود if در بین دستورات است!!
پست اصلاح شد
maskan_1361
شنبه 14 مرداد 1391, 21:20 عصر
نخیر، پیغام خطا خودش میگه که شما یه wend اضافه نوشتین، یعنی شما باید یکی از wend های خط 8 یا 11 رو حذف کنی.
خیر با حذف انها هم مشکل حل نمیشه
mohammadriano
شنبه 14 مرداد 1391, 21:31 عصر
کد نهایی برای جستجوی دستی
100 % تست شده
Private Sub Command_Click()
Dim m As Boolean
m = False
Dataname.Refresh
While (Dataname.Recordset.EOF <> True)
If Dataname.Recordset.Fields("FildName").Value = Text1.Text Then
m = True
Dataname.Recordset.Movelast
Dataname.Recordset.MovePrevious
End If
Dataname.Recordset.MoveNext
Wend
If m = False Then
Dataname.Refresh
Dataname.Recordset.AddNew
Dataname.Recordset.Fields("FildName").Value = Text1.Text
Dataname.Recordset.Update
Else
MsgBox ("Your code is repeated")
End If
Dataname.Refresh
End Sub
mohammadriano
شنبه 14 مرداد 1391, 21:37 عصر
کد نهایی برای جستجوی(پیشرفته) کوئری
100 % تست شده
Private Sub Command_Click()
Dataname.Refresh
Dataname.RecordSource = "select * from tablename where name ='" + Text1.Text + "'"
Dataname.Refresh
If Dataname.Recordset.RecordCount < 1 Then
Dataname.RecordSource = "select * from tablename"
Dataname.Refresh
Dataname.Recordset.AddNew
Dataname.Recordset.Fields("name").Value = Text1.Text
Dataname.Recordset.Update
Else
MsgBox ("Your code is repeated")
End If
Dataname.RecordSource = "select * from tablename"
Dataname.Refresh
End Sub
maskan_1361
شنبه 14 مرداد 1391, 23:13 عصر
کد نهایی برای جستجوی دستی
100 % تست شده
Private Sub Command_Click()
Dim m As Boolean
m = False
Dataname.Refresh
While (Dataname.Recordset.EOF <> True)
If Dataname.Recordset.Fields("FildName").Value = Text1.Text Then
m = True
Dataname.Recordset.Movelast
Dataname.Recordset.MovePrevious
End If
Dataname.Recordset.MoveNext
Wend
If m = False Then
Dataname.Refresh
Dataname.Recordset.AddNew
Dataname.Recordset.Fields("FildName").Value = Text1.Text
Dataname.Recordset.Update
Else
MsgBox ("Your code is repeated")
End If
Dataname.Refresh
End Sub
سلام دوست عزیز و ممنون از حوصله و وقتی که گذاشتید بالاخره با این کد شما مشکل حل شد ! واقعا ممنون و سپاسگزارم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.