فکر کنم اگر اگر کد را نگاه کنید راحت تر متوجه مشکل میشوید تا من توضیح دهم!
Password = 5230028
Printable View
فکر کنم اگر اگر کد را نگاه کنید راحت تر متوجه مشکل میشوید تا من توضیح دهم!
Password = 5230028
خیلی پیچیده نوشتید :گیج:
آیا شما می خواهید وقتی Form21 باز شد رکورد جاری همان code 21 باشد تا تغییرات را روی اون انجام بدهید .
ببخشید دیگه .... کد یه خورده مبتدی نوشته شده...
بله هم code21 هم id جاری.....
بعد از این کد DoCmd.OpenForm stDocName
اینها رو اضافه کنیدForm_Form21.RecordSource = "SELECT Tb_bar.* FROM Tb_bar WHERE (((Tb_bar.ID)='" & ID & "') AND ((Tb_bar.code)='" & code & "'));"
Form_Form21.Requery
در ضمن یک اشتباه در کد Form_21 است فیلد m1 برای Check1 و Check2 است و به طور اشتباه
من برای همهCheck ها قرار دادم...ببخشید ...با تشکر
ببخشید آقای سنبله کار من این کد را هم اضافه کردم ولی هنوز مثل قبل است و در رکورد مورد نظر ثبت نمیشود.... با تشکر
ولی برای من جواب داد .
نمونه اصلاح شده رو اینجا گذاشتم .
خیلی ممنون با نمونه شما تست میکنم........
دست شما درد نکنه .....ولی شما هم جدول Tb_bar را چک کنید در جدول ثبت میشه ولی نه
در رکوردی که code آن مساوی با 21 است و ID جاری .........خیلی ممنون
چک کردم code 25 و ID 1 فیلد m2 برابر true شد
شاید شما منظور من را متوجه نشدید....در گرید ما بیشتر از 100 رکورد است که در جدول Tb_bar ذخیره میشوند ,حالا ما میخواهیم وقتی کاربر روی combo ملاحظات( که محتوای آن در m1 ذخیره میشود )کلیک کرد یک فرم باز شود و m1 از آن فرم مقدار دهی شود , خوب در این حالت ما در واقع میخواهیم رکوردی از جدول Tb_bar.m1 را که رکورد جاری است (که همیشه فیلد code این رکورد مساوی با 21 است و ID هم که ID جاری است)را edit کنیم بطوری که فقط
m1 مقدار جدید در این رکورد بگیرد ..... با تشکر
ولی اینطور نیست ... شما خود جدول Tb_bar را نگاه کنید.... با تشکرنقل قول:
نوشته شده توسط سنبله کار
یعنی می خواهید m1 جبای m2 مقدار true بگیرد ؟
نه فعلا راجع به m2 بحث نمیکنیم ... m2 وضعییتش مثل m1 هست ... ولی اصلا فیلد m1 در رکوردی کهID برابر باشه با ID جاری و code برابر باشه با 21 مقدار نمیگیره بلکه در یک رکورد جدید
که مقدار id و سایر فیلد ها برابر با null مقدار میگیره و من نمیخوام به این صورت باشه میخوام در رکوردی که ID برابر باشه با ID جاری و code برابر باشه با 21 مقدار بگیره ... خیلی ممنون
من این فایلو تست کردم و چیزی را که شما میخواستید جواب داد .
حال اگر برای شما کار نمی کند پیشنهاد می کنم از دیگر دوستان بخواهید چک کنند و نتیجه را اعلام کنند .
دست شما در نکنه شما خیلی خیلی زحمت کشیدید ولی به عکس زیر نگاه کنید
چرا در جدول من به این صورت است؟ با تشکر فراوان
خواهش می کنم شما هم یک نگاه به این بکنید
ببخشید آقای سنبله کار متوجه نشدم منظورتون چی هست ....
شما وقتی روی m1 که یک چک باکس هست کلیک می کنید مقدار منهای 1 یا tyrue مده اما توی تصویر شما چیز دیگری اومده بود و در تصویر من مقدار در مقابل رکورد با ID 1 و code 21 درست وارد شده .
شما باید برای رسیدن به منظورتون که در تصویر نشون دادید راه دیگری را بروید .
بهر حال اگه جدولی رو که تصویرش رو نشان دادید پیینشو نگاه کنید این نکته را خواهید دید .
بله حق با شماست ولی در کد زیر من گفتم (در شرطم ) که مقدار فیلد combo.text که 1id آن برابر با 3001 (با پوست) در m1 ذخیره شود ولی همان طور که در عکس بالا مشاهده میکنید مقدار(با پوست) در رکورد null ذخیره شده.
در ضمن نمیدانم در برنامه متوجه شدید که چند جدول به صورت hide درآمده و جلوی چشم نیست( از جمله جدول combo)
در ضمن این کوئری زمانی اجرا میشود که چک باکس تیک خورده باشد.نقل قول:
INSERT INTO Tb_bar ( m1 ) SELECT combo.text FROM combo Where id1 in (3001) AND Tb_bar.ID = " & Form_Tb_name.ID
و من اصلا نمدانم منهای یک چرا و چگونه ثبت میشود منهای یک فقط قرار است
عملگر شرط باشد.
ببخشید این تایپیک هم به خاطر سئوال های پی در پی من خیلی طولانی شد و هم خیلی سر شما را درد آوردم آقای سنبله کار ....با عرض معذرت اگه راه دیگه ای بای برم میشه من را راهنمایی کنید ... من میخوام جای اون منهای یک, یک String فارسی بره ... با تشکرنقل قول:
نوشته شده توسط سنبله کار
ببخشید من دارم میرم جایی اگه دوستان دیگه تونستند کمکتون می کنن اگه نه فردا در خدمتتون هستم .
خواهش میکنم ... شما لطف دارین..
خدمت از ماست .... شما زحمت میکشین
سلام
الان که نگاه کردم فهمیدم منظورتون چیه
شما باید بجای insert از update استفاده کنید
اگر یک query از نوع update درست کنید می تونید روش کار رو پیدا کردهد و sql اونرو داخل کد قرار بدید .
با سلام آقای سنبله کار :
با عرض شرمندگی میشه بگین چی جوری این کوئری را تبدیل به update بکنم .... با تشکر
نقل قول:
"INSERT INTO Tb_bar ( m1 ) SELECT combo.text FROM combo Where id1 in (3000) AND Tb_bar.ID = " & Form_Tb_name.ID
آقای سنبله کار خواهشن در حاشیه مطالب قبلی که شما در جریانشان هستید میشه یک سری به این لینک بزنینhttp://www.barnamenevis.org/sh...538#post257538
با تشکر