ورود

View Full Version : مشه کمک کنین+sql



LEILAFATHI
یک شنبه 07 بهمن 1386, 01:30 صبح
Private Sub Command1_Click()
Dim k As Integer
Dim flag As Boolean
Dim n As Integer
Dim b As String
Dim db1 As Database
b = Text1.Text
On Error Resume Next
If Text1.Text = "" Then
n = MsgBox(".áØÝÇ ˜Ï ÎÑíÏÇÑ ÑÇ æÇÑÏ ˜äíÏ ", vbOKOnly + vbCritical, "ÇÎØÇÑ")
End If
If rec.State = adStateOpen Then rec.Close
If cnn.State = adStateOpen Then cnn.Close
If Text1.Text <> "" Then
cnn.ConnectionString = "provider=microsoft.jet.OLEDB.4.0;data Source=APP.PATH+\setayesh.mdb"
cnn.CursorLocation = adUseClient
cnn.Mode = adModeReadWrite
cnn.Open App.Path + "\setayesh.mdb"
rec.Open "table1", cnn, adOpenDynamic, adLockOptimistic, adCmdTable
For k = 0 To rec.RecordCount - 1
If rec("code") <> Text1.Text Then
rec.MoveNext
flag = False
Else
flag = True
End If
Next k
rec.Close
cnn.Close
Set rec = Nothing
Set cnn = Nothing
End If
If flag = False And Text1.Text <> "" Then
n = MsgBox(".åäÑÌæí ãÑæÑÏ äÙÑ íÇÝÊ äÔÏ", vbOKOnly + vbCritical, "ÇÎØÇÑ")
End If
strsql = "delete table1.name,table1.family,table1.nfather,table1.ns h,table1.tt,table1.mt,table1.jens,table1.vaziat,ta ble1.address,table1.tel,table1.telz,table1.roz,tab le1.mah,table1.sal,table1.madrak,table4.id,table4. id1,table4.namedars,table4.nameostad,table4.roz,ta ble2.dore,table2.dars,table2.prices,table2.tg,tabl e2.pricej from table1,table2,table4 where table1.code=table4.code and table2.id=table4.id and table1.code like ' 20 ' "
Set db1 = OpenDatabase(App.Path + "\setayesh.mdb")
If Text1.Text <> "" And flag = True Then
cnn.ConnectionString = "provider=microsoft.jet.OLEDB.4.0;data Source=APP.PATH+\setayesh.mdb"
cnn.CursorLocation = adUseClient
cnn.Mode = adModeReadWrite
cnn.Open App.Path + "\setayesh.mdb"
rec.Open strsql, cnn, adOpenDynamic, adLockOptimistic, adCmdText
db1.Execute strsql
cnn.Close
Set rec = Nothing
Set cnn = Nothing
Text1.Text = ""
strsql = "select * from table1"
cnn.ConnectionString = "provider=microsoft.jet.OLEDB.4.0;data Source=APP.PATH+\setayesh.mdb"
cnn.CursorLocation = adUseClient
cnn.Mode = adModeReadWrite
cnn.Open App.Path + "\setayesh.mdb"
rec.Open strsql, cnn, adOpenDynamic, adLockOptimistic, adCmdText
Set DataGrid1.DataSource = rec
Adodc1.Refresh
DataGrid1.Refresh
n = MsgBox(".åäÑÌæí ãæÑÏ äÙÑ ÇÒ ÈÇä˜ ÇØáÇÚÇÊí ÍÐÝ ÔÏ", vbOKOnly + vbInformation, "ÍÐÝ åäÑÌæ")
End If
End Sub

فقط قسمت سلکت شده ( پر رنگ شده ) رو ببینین درسته یا نه ؟؟؟؟؟؟؟؟
اگر غلطه لطفا اصلاحش کنین.

تیبل1 (فیلد مربوط به هنرجو)
تیبل 2 ( فیلدهای مربوط به درس)
تیبل 4( فیلدهای مربوط به دروس هنرجو)که انتخاب کرده .
در تیبل 1 کلید اصلی : code در تیبل 4 کلید خارجی : code
در تیبل 2 کلید اصلی : id در تیبل 4 کلید خارجی : id
کجای دستور sql ایراد داره؟؟؟؟؟؟؟؟؟؟؟؟:متفکر:

lahiji
یک شنبه 07 بهمن 1386, 09:57 صبح
دوست عزیز
کد ها رو توی TAG CODE قرار بده تا خواناتر باشه تا بتونیم کمکت کنیم . OK

bobrus
یک شنبه 07 بهمن 1386, 10:25 صبح
دوست عزیزی
بهتره بجای اونهمه اسم فیلید که نوشتی از گزینه * استفاده کنی یعنی اینجوری


strsql = "delete * from table1,table2,table4
where table1.code=table4.code and table2.id=table4.id and table1.code like '20'"

البته فکر کنم که بین علامت' عدد 20 یه space گذاشتی مشکل ایجاد کرده

Mbt925
یک شنبه 07 بهمن 1386, 13:22 عصر
این قسمت رو برای چی اضافه کردین؟



and table1.code like ' 20 '


شما اگه بتونی این قسمت از کد رو توی یه پروژه جدا قرار بدی و اونو اینجا بذاری ، خیلی سریع مشکلتون برطرف میشه.

bobrus
سه شنبه 09 بهمن 1386, 11:08 صبح
آقا محسن ایشون این کد رو برای انتخاب رکورد هایی که کدشون 20 داره نوشتن
فکر کنم مشکلش حل شده که دیگه خبری ازش نیست