PDA

View Full Version : رفتن به انتهای جدول



zapata-es
سه شنبه 31 خرداد 1384, 21:20 عصر
با سلام خدمت دوستان
من یک بانک از نوع اکسس دارم و یک adodc1 , datagrid چطور میتونم اشاره گر را به انتهای فایل ببرم ؟؟؟
یعنی میخوام وقتی که یک رکوردی رو حذف کردم بعد از حذف شدن رکورد اشاره گر به طور اتوماتیک به انتهای جدول بره و اماده بشه برای دریافت یک رکورد جدید.

بابک زواری
سه شنبه 31 خرداد 1384, 23:16 عصر
بدترین کار این هست که بعد از حذف کنترلت رو یک رفرش کنی بعد نشانگر رو به آخرین رکورد بفرستی

zapata-es
چهارشنبه 01 تیر 1384, 05:38 صبح
با سلام خدمت آقای زواری
من در فرم لود اینو نوشتم که اشلره گر به انتهای جدول میره
adodc1.recordset.addnew
منظور شما چیه؟؟؟؟ یعنی این کد رو بنویسم:
adodc1.refresh
کد بردن کنترل به انتهای جدول چیه؟ میشه توضیح بدید :flower:

بابک زواری
چهارشنبه 01 تیر 1384, 09:52 صبح
adodc1.recordset.addnew
اینکه یک رکورد اضافه میکنه
بنویس
adodc1.recordset.movelast

sadegi
چهارشنبه 01 تیر 1384, 10:46 صبح
بدترین کار این هست که بعد از حذف کنترلت رو یک رفرش کنی بعد نشانگر رو به آخرین رکورد بفرستی
دوست عزیز میشه بیشتر توضیح بدید؟
چرا؟
:flower:

zapata-es
چهارشنبه 01 تیر 1384, 17:16 عصر
با سلام و تشکر :flower:
کدی که شما گفتید آقای زواری یعنی adodc1.recordset.movelast اشاره گر رو به انتهای جدول نمیبره بلکه اونو به یک رکورد مانده به انتها میبره . من میخوام اشاره گر به انتهای جدول بره . میشه یه کم بیشتر توضیح بدید.
ممنونم :flower:

حامد مصافی
چهارشنبه 01 تیر 1384, 17:32 عصر
با سلام و تش�ر :flower:
�دی �ه شما گفتید آقای زواری یعنی adodc1.recordset.movelast اشاره گر رو به انتهای جدول نمیبره بل�ه اونو ی� ر�ورد به انتها میبره . من میخوام اشاره گر به انتهای جدول بره . میشه یه �م بیشتر توضیح بدید.
ممنونم :flower:

حق با آقای زواری است؛ متد movelast اشاره گر رو به انتهای فایل می فرسته
من فکر می کنم منظور شما اضافه کردن یا رکورد جدید است که با متد AddNew امکان پذیر است
فقظ نمی دونم مشکل کجاست
شما نمی تونید با استفاده از AddNew یک رکورد اضافه کنید

بعد از اجرای این متد باید فیلد ها رو مقدار دهی کنید و دیتابیس رو Update کنید

zapata-es
چهارشنبه 01 تیر 1384, 19:00 عصر
با سلام
بله درسته اون کد متد مشکلی نداشت مشکل از بانک من بود . به هر حال ممنونم
اما مشکلم اینه که نمیتونم به صورت دستی یک فیلد رو مقدار دهی کنم . اگه ممکنه بگید که چه کدی باید بنویسم تا مقدار یک text را در یک فیلد ذخیره کنم. البته من خاصیت datafield تکست باکس رو به فیلدهای بانکم وصل کردم . اما میخوام به صورت کد نویسی مقدار فیلدها رو تعیین کنم .

zapata-es
چهارشنبه 01 تیر 1384, 19:24 عصر
من این کد رو مینویسم اما اونجایی که علامت سوال میزارم نمیدونم چی بنویسم که ایراد نگیره.فرضا میخوام کد و نام جدیدی را به بانکم اظافه کنم.
Adodc1.Recordset.MoveLast
(؟؟؟)Adodc1.Recordset.AddNew
Adodc1.Recordset.Update
نمیدونم آیا این کد برای اضافه کردن رکورد جدیدی در بانک درست هست یا نه. اگه ممکنه راهنماییم کنید.

hadi2345
چهارشنبه 01 تیر 1384, 20:04 عصر
با سلام.
شما بعد از addnew کردن باید یکی یکی فیلدها رو پر کنید و سپس جدول رو update کنید . در ضمن برای addnew کردن حتما لازم نیست که movelast کنید .
من خودم textbox ها رو به database متصل نمیکنم چون وقتی که relation ها رو بطور صحیح ایجاد میکنم ‏، وقتی که میخوام یکی از رکوردهارو حذف کنم خطا میگیره ( البته نه همیشه ) .
موفق باشید.

Alirezagoodarzi
چهارشنبه 01 تیر 1384, 20:07 عصر
recordset.AddNew FieldList, Values

Alirezagoodarzi
چهارشنبه 01 تیر 1384, 20:17 عصر
انطوری هم میشه این کارو کرد.

rstEmployees.AddNew
rstEmployees!emp_id = strID
rstEmployees!fname = strFirstName
rstEmployees!lname = strLastName
rstEmployees.Update

بابک زواری
پنج شنبه 02 تیر 1384, 00:02 صبح
من از انتهای جدول فکر کردم که منظور شما همون آخرین رکورده شرمنده
بله با addnew میشه یکم اونورتر از آخرین رکورد رفت

zapata-es
پنج شنبه 02 تیر 1384, 10:25 صبح
با تشکر از دوستان.
خب باید بگم که هنوز مشکل دارم .خیلی کلنجار رفتم اما بازم نشد .مشکلم همون کدی هست که آقای گودرزی نوشتن. من دقیقا نمیدونم که بجای rstemployes چی باید بنویسم.
کد من در فرم لود اینه:
dim db as database
dim rs as recordset
Dim fild As String

dim strdbname as string
dim strRSname as string

"strdbname="g:\book.mdb
"strrsnamr="tabel1
"set db= dbengine.opendatabase(strdbname
(set rs=db.openrecordset(strrsname,dbopendynaset

fild = "id"
Text1.DataField = fild
و کد من داخل command1 برای ذخیره اینه:
data1.recordset.addnew

وحالا مشکل:
اگه من داخل text1 مقداری وارد کنم و دکمه رو کلیک کنم اولین فیلد من تعغیر میکنه و رکردی اضافه نمیشه
و برای بار دوم اگه داخل text1 مقدار وارد کنم اونوقت یک رکورد به جدولم اضافه میشه.من نمیخوام رکورد اولم دستکاری بشه.
در ضمن من اگه بخوام با کدی که آقای گودرزی نوشتن کار کنم بجای rstemploy چه مقداری باید بنویسم؟؟؟
من اینو نوشتم ولی ایراد گرفت:
db.addnew
db!cod=1234
ویا اینو هم نوشتم ولی بازم ایراد رفت:
rs.addnew
rs!cod=1234
:sorry: :sorry:

zapata-es
پنج شنبه 02 تیر 1384, 15:52 عصر
تقدیم به خودم و جوونای بیسوادی مثل خودم :mrgreen:
("Adodc1.Recordset.AddNew Array("Field1","Field2"),Array("Value1","Value2
بدون نیاز به رفتن به انتهای جدول.واسه همین یه خط کلی معطل شدیم که خب ارزشش رو داشت.
ممنون از برو بچ با حال فروم. :flower:

rar
شنبه 04 تیر 1384, 14:48 عصر
با سلام
شاید این کد ها بتونه کمکتون کنه
برای افزودن یک رکورد جدید
Ado.Recordset.addnew
"مقدار مورد نظر"=value.(شماره فیلد یا نام فیلد در جدول در داخل " ")ado.recordset.Fields
برای تمام فیلدها به این شکل عمل و در آخر
ado.Recordset.UpdateBatch adAffectAll
اجرا کنید