PDA

View Full Version : سوال: ارتباط بین جداول و اضافه کردن رکورد جدید در یکی از جداول



ali4404
دوشنبه 04 خرداد 1394, 16:43 عصر
سلام دوستان من چند تا جدول دارم که از طریق primary key با هم در ارتباط هستند بین این جداول نیز از طریق join ارتباط برقرار می کنم و فیلدها داخل باکس های مربوطه وارد میشه اما وقتی می خوام رکوردی جدیدی رو در یکی از جداول اضافه کنم ارور 3265 رو به من می ده لطفا اساتید می تونند راهنمایی کنن

ahmad abdoli
چهارشنبه 06 خرداد 1394, 17:06 عصر
سلام

لطفا اطلاعات بیشتری از کد هایی که نوشتید بزارید که بشه راهنمایی کرد این طوری نمیشه تشخیص داد.

ولی ممکنه این خطا بدلیل خالی بودن فیلد primary key باشه که مقدار دهی نکردید.

ali4404
شنبه 09 خرداد 1394, 12:43 عصر
سلام دوست عزیز
کد من برای اتصال به جداول به اینصورت است:
Adodc1.RecordSource = "SELECT state.name,markaz.name,rosta.name,etlaf.id,etlaf.k od,etlaf.dat,etlaf.tedad,etlaf.shn FROM state INNER JOIN ((markaz INNER JOIN rosta ON markaz.ID = rosta.markaz_id) INNER JOIN etlaf ON rosta.ID = etlaf.rosta_id) ON state.ID = markaz.idstate GROUP BY state.name, etlaf.kod,etlaf.tedad,etlaf.dat,markaz.name,rosta. name,etlaf.shn,etlaf.id, state.ID;"
Adodc1.Refresh

ahmad abdoli
یک شنبه 10 خرداد 1394, 21:28 عصر
دوست عزیز اگه شما توی اضافه کردن رکورد مشکل دارید ممکنه توی کدهای اضافه کردن رکورد اشتباه کردید.

مثلا شما اگه بخوایید به جدول markaz رکوردی اضافه کنید باید این طوری بنویسید


Adodc1.Recordset.Add
Adodc1.Recordset.Fields("Name")=txtName.text
Adodc1.Recordset.Fields("idstate")=idstate
Adodc1.Recordset.Update
Adodc1.Refresh


شما باید آی دی جدول State رو در یه متغییر (در اینجا idstate) ذخیره کنید و مطابق مثال مقدار دهی کنید.

اگر شما با adodc2 به جدول state وصل می شیدباید این طوری باشه:



idstate=Adadc2.Recordset.Fields("ID")


و همین طور برای برای بقیقه جدول ها هم به این صورت.

shafie-rayaneh
پنج شنبه 12 شهریور 1394, 09:56 صبح
سلام خسته نباشید من یک مشکل دارم
سه تا جدول دارم و سه تا شو به هم وصل کردم. یک فرم ساختم میخوام سه تا جدول رو با سه تا دیتاگرید نشون بده. که به هم وصله.
دیتاگرید برای adodc1 و adodc2 به هم وصله و مشکلی نداره ولی adodc3 برای دیتا گرید سوم اطلاعات جدول سوم رو نشون نمیده من فکر میکنم توی قسمت دیتاسورس adodc3 کد رو اشتباه نوشته اگر میشه راهنماییم کنید. ممنون

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\RastinPlast.mdb;"
Adodc1.RecordSource = "SELECT * FROM TblMoshtari"
Adodc1.Refresh
LCount1 = Adodc1.Recordset.RecordCount

Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\RastinPlast.mdb;"
If Adodc1.Recordset.RecordCount > 0 Then
Adodc2.RecordSource = "SELECT * FROM TBLShFaktor WHERE IDTBLMoshtari=" & Adodc1.Recordset.Fields("IDMoshtari")
Adodc2.Refresh
LCount2 = Adodc2.Recordset.RecordCount
End If
Adodc3.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\RastinPlast.mdb;"
If Adodc2.Recordset.RecordCount > 0 Then
Adodc3.RecordSource = "SELECT * FROM TBLFaktor WHERE TBLSHMoshtari=" & Adodc2.Recordset.Fields("IDSHFaktor") & Adodc1.Recordset.Fields("IDMoshtari")
Adodc3.Refresh
LCount2 = Adodc3.Recordset.RecordCount
End If