خیلی ممنون از آموزشهایی که به این حقیر مبتدی دادید.
از آموزشتون سپاسگزارم
Printable View
خیلی ممنون از آموزشهایی که به این حقیر مبتدی دادید.
از آموزشتون سپاسگزارم
نقل قول:
خیلی ممنون از آموزشهایی که به این حقیر مبتدی دادید.
از آموزشتون سپاسگزارم
سلام
دوستان من در برنامه ام از دیتا بیس Access استفاده کردم و با ADO بهش وصل شدم . محتویات بانکم رو بعد از ----- کردن بر اساس تاریخ در یک DBGrid نمایش داده ام .
در رویداد AfterInsert تعریف کردم که فیلد تاریخشو تاریخ امروز بزاره تا در DBGrid نمایش داده بشه (چون جدولم فیلتره)
در رویداد OnKeyPress نوشتم که اگه اینتر فشار داده شد اطلاعات ذخیره بشه و به خانه بعدی حرکت کنه .
واسه حذف رکورد جدید هم نوشتم که اگه دیلیت فشرده شد دیلیت کنه
[PHP]
OnKeyPress
if key=#13 then
begin
ADOTable1.edit;
ADOTable1.post;
end
OnKeyDown
if key=VK_DELETE then
begin
ADOTable1.edit;
ADOTable1.delete;
end;
OnOfter Enter
ADOTable1.Edit;
ADOTable1.Fieldbyname('RegDate').AsString:=MaskEdi tDate.text;
[/PHP]
مشکلی که دارم اینه که موقع دیلیت کردن یا موقع اضافه کردن اگه با موس به یک خانه دیگه برم (بغیر از فشار دادن اینتر ) ارور زیر رو میده
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ممنون میشم راهنمایی بفرمایین
اولا لزومي نداره كه توي OnKeyPress و OnKeyDown به صورت جدا جدا بنويسي و خيلي راحت ميتوني يكيشون كني.
دوما نيازي نيست كه قبل از Delete از Edit استفاده كني.
سوما مشكل شما در اين خطوط نيست.
لطفا كدهاي OnAfterInsert رو توي تاپيك بزار. چون مشكل از اونجاس. اگه Trace كني خودت دقيق ميبيني.
سلام
اون كد رو در پست قبلي اضافه كردم
راستي اين Trace كه گفتي چيه ؟
ممنون از توجه شما
1. به نظر من بهتره اين كاري كه ميكني رو تو BeforeInsert بكني.
زمنا احتمالي كه ميدم توي ديتابيست اندازه يا جنس فيلدت مشكل داره كه اين ارر رو ميده.
ولي مطمئن نيستم.
2. Trace يعني بررسي برنامه. شما ميتوني جلوي خط مورد نظرت (در برنامه شما اولين خط بعد OnAfterInsert) روي بخش خاكستري كليك كني.
به اين ترتيب اون خط قرمز ميشه و موقع اجرا تا موقعي كه به اون خط نرسيده كاراشو ميكنه و وقتي به اون خط رسيد متوقف ميشه و ميتوني به كمك F8 برنامتو خط به خط بعد از اون نقطه چك كني و ببيني Error از كجاس.
سلام
دوست عزیز مگه تا وقتی رکوردی به بانک اضافه نشده میشه فیلدی از اون رو تغییر داد ؟
ممنون از توجه
با سلام
من اولین پستی هست که دارم براتون مینویسم
میخواستم ببینم آموزشی چیزی در رابطه با بانک اطلاعاتی اسکویل مطالبی دارین به ما هم بدین
البته در رابطه با اکسس هم باشه قبوله
با تشکر
با سلام
من یک سری برنامه دلفی دیده بودم که بانک اطلااتی اون با یک پسوند دیگه بود مثل dbl dll میخواستم بدونم که این فایل ها همان بانک است یا نه و اگه هست چه جوری؟
و سوال دیگر اینکه در مورد آدرس دهی نسبی توضیحی هم بدهید
با سلام
اگه ميشه توضيح بديد كه چطوري ميشه محتويات يك جدول از يك بانك رو در يك جدول از يك پايگاه داده ديگر ذخيره كرد يعني كپي كرد
با تشكر
سلام
من در راهنماي دلفي خواندم وقتيكه محتويات يك جدول كه در يك DBGrid نمايش داده ميشه اگر ما مقادير رو در DBGrid تغيير بديم و بعد به خانه ي ديگه حركت كنيم اطلاعات ذخيره مي شوند .
1- در اينصورت ديگه لازم نيست Post رو فراخواني كنم ؟(آخه بعضي مواقع در برنامه هام پيش مياد كه اطلاعات ورودي پاك ميشن)
2- اگه اينطور باشه (با تغيير فيلد اطلاعات ذخيره بشه)و اگه كاربر نخواهد اطلاعات ذخيره بشه چه كار بايست كرد؟
ممنون
با استفاده از query ها میتونید این کار رو انجام بدید. توضیحات بیشتر:نقل قول:
کد:http://forum.p30world.com/showpost.php?p=1872841&postcount=96
1- نه لازم نیستنقل قول:
2- باید رویدادهای مختلفی رو مدیریت کنید: keypress,after scroll . مثلا اگر کاربر کلید Esc رو زد، اطلاعات ذخیره نشه. همچنین بعد از scroll کردن جدول. و مثلا فقط با کلید Enter اطلاعات ذخیره بشه. به هر حال استفاده مستقیم از dbgrid برای ذخیره اطلاعات مشکلات زیادی رو داره که بهتره روش دیگه ای استفاده شه.
سلام خوبی نخسته
می گما
من یک Adoquery دارم و تو فرمم یه کلید که کدش اینهالبته رکوردهارو پاک میکنه ولی قبلش یه error هم میده که حاله آدمرو میگیره اونم اینه :کد:ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('DELETE FROM table1 WHERE name ="ali"');
ADOQuery1.Open;
adoquery1:commandtext does not return a result set::10:
ممنون میشم کمکم کنید
احتمالا برنامه شما فقط توي دلفي اين ارر رو ميده و وقتي از Exe اجراش كني اينجوري نخواهد شد.
سلام
من دو تا جدول دارم که میخوام اونارو با هم مقایسه کنم . کدومش کم داره کدومش زیاد .(مثلا بگه جدول اول دوتا رکورد از جدول دوم بیشتر یا کمتر داره و رکوردها رو هم مشخص کنه )
بهترین کار برای انجام این کار چیه ؟ (روش انجام کار) و از چی استفاده کنم (query یا چیز دیگه ؟)
ممنون و منتظرم .
راستی من یه جدول دارم که اطلاعاتی رو که بر اساس تاریخ روز ----- شده در یک dbgrid نمایش میده . اگه بخوام رکوردی بهش اضافه کنم که قبل از هرچیز فیلد تاریخش ، تاریخ روز جاری درش ذخیره شه چیکار کنم ؟(اخه اگه تاریخ وارد نشه جزو رکورد های روز جاری نمایش داده نمیشه)
1. ميتوني از روند زير توي Queryاستفاده كني. البته اميدوارم كه درست نوشته باشم :
اميدوارم كه فرهاد جان پست منو ببينه و درست شده اين فرمان رو برات بنويسه.کد:select * from table1 and * from table 2 where table1.id <> table2.id
چون فكر كنم اشتباه داره.
2. ميتوني مقدار تاريخ رو در DBGrid حذف و يا ReadOnly كني و خودت مقدار رو توش پر كني.
کسی نیست جواب مارو بده .................
باید در این تاپیکو گل گرفت اونم از نوع کاه گل
اگه چیزی بارتون نیست ما به شما کمک کنیم
نقل قول:
هم ممكنه كه باشه و هم نه.
اگه باشه تازه ممكننه ديتابيسهاي عمومي و مطرح مانند اس كيو ال يا اكسس يا اوراكل باشه و يا به كمك ديتاي دروني خود دلفي روش كار شده باشه.
منظورتو از آدرس دهي نسبي نفهميدم يك نمونه يا مثال بگو تا اگه بدونم توضيح بدم.
ضمنا من دو هفته آن لاين نبودم و پستهاي قبلي رو نديدم.
اميدوارم بتونم كمكت كنم.
با سلام خدمت اساتيد بزرگوار
من در برنامه اي از بانك اكسس استفاده مي كنم و با دومشكل روبرو هستم
1- اگه اطلاعات رو در يك dbgrideنمايش داده شود وبا دكمه هاي جهت به ركورد بعد از اخرين ركورد بريم موقع خارج شدن پيغام خطا ميده كه شما اخرين يا اولين ركوردتون دچار مشكل شده . البته فكر ميكنم به خاطر اينه كه موقع خروج از اين ركورد مي خواد اونو ثبت كنه براسا اينكه ديبيگريد ها تغييرات رو ذخيره مي كنن اينجور مي گم.
2- اگه در برنامه اكسس براي بانك اطلاعات مون رمز گذاشته باشيم وقتي مي خوايم در يك پروژه با كدهامون بانك رو باز كنيم خطا مي ده البته در نظر داشته باشيد كه من نمي خوام كاربر بدونه رمز بانك اكسس چيه.
با تشكر از جوابهاتون
1. اين Err فقط توي كامپايلر ديده ميشه. يعني وقتي از EXE برنامه رو اجرا كني ، اين خطا رو نميبيني.
2. قبلا درباره اين موضوع صحبت شده و فكر كنم نان فورس جان در يك تاپيك جواب اين موضوع رو دادند.
البته بحث رو شخص ديگري شروع كرده بود.
با سلامنقل قول:
شما دوست عزيز كه زحمت مي كشي جواب ميدي و تايپ ميكني حداقل آدرس اون تايپيك رو هم بده نه اين كه آدم رو استخوون تو زخم بكنيد
با تشكر
متاسفانه من نميدونم اين لينك كجاست
ميتونستي سرچ كنيد. چون فكر كنم كار شما براي خودتون بايد مهمتر باشه تا براي من.
ولي قاعدتا خيلي راحت توي دسته بندي كه Soldier عزيز كرده ميتوني پيداش كني.
اين كه ديگه خيلي راحته.
فكر كنم دنبال كلمه Password هم بگردي به نتيجه برسي.
ممنون از راهنماييتون
چون در تاپيك جداگانه اي اين مبحث صحبت شده بود من فقط پستي كه كاربرد داره رو توي اين پست قرار ميدم.
هدف از اين كد كه در پائين ميبينيد باز كردن فايل اكسس پسورددار به كمك برنامه است بدون اينكه كسي پسورد رو ببينه.
با تشكر از نان فورس عزيز كه اين جواب رو ارسال نموده بودند. :
ضمنا سايت زير هم منبع خوبي براي اطلاعات ConnectioString ميباشد و انواع اتصالات فايلها به دلفي و يا زبانهاي برنامه نويسي ديگه رو ميتونين اونجا پيدا كنيد. :کد:ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Password=;'+
'Data Source='+DBSource+';Mode=ReadWrite;Extended Properties="";Persist Security Info=False;'+
'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="ah67dhg8";'+
'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;'+
'Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;'+
'Jet OLEDB:SFP=False';
کد:http://www.connectionstrings.com/
سلام خسته نباشید
سواله من درباره dbgrid است . من یه dbgrid دارم با یه DBNavigator ویک کلید تو فرمم.می دونید که وقتی می خواهیم تو جدولمون تغییراتی رو بدیم حالا چه اضافه کردن وچه تغییر رکوردها برای ذخیرش باید به یک خط بعد رفت یعنی یک ردیف جدید درست کرد با کلید + روی DBNavigator و یا کلید ایضنی که روی DBNavigator هست فشار داد تا ذخیره بشه ولی من می خوام که وقتی که رکوردی رو به جدولم اضافه می کنم بدون اینکه روی کلید ایضن کلیک کنم ذخیره بشه البته این کارو من می خوام توی کلیدم انجام بدم که کد ADOTable1.Post; روبراش نوشتم و کار کرد ولی موقعی که من هیچ تغییری تو جدولم نمیدم حالا چه تغییر و یا چه اضافه کردن رکورد جدید وقتی که کلید رو فشار میدم یه error میده Adotable1:dataset not in edit or insert mode .خوب یه چیز طبیعیه دیگه بایدم خطا بده حالا باید چیکار کنم از کجا بفهمونم که جدولم تغییر کرده یا نه ؟
:41:
هنوز نتونستم درستش کنم .البته یه متغیر بولین گذاشتم تقریبا نصف کار رو درست کرده و هر وقت مقدار اون false بود عملیات post انجام نمیشه ولی حالا چه جوری اونرو true کنم یعنی تو کدوم event قرارش بدم
حل شد !!!!!!!!!!!!!!!
دوست عزیز مطلب عالی است.
واقعا از شما ممنونم.
دوست عزیز آموزشت خیلی عالی است.
ادامه بده.
موفق باشی.
با سلام
برای انتخاب اکسس از منوی پراپرتیز عمل میکنم
میخواستم به صورت دستی آدرس دهی کنم و آدرس دهی نسبی بدم
(می خوام بانکم بغل فایل exe ام باشه تا روی هر سیستمی جواب بده)
اگه کمک کنید ممنون میشم
سلام دوست عزيز. فكر ميكنم قبلا در اين باره صحبت شذه. ئلي بازم ميگم.نقل قول:
به برنامه شما و طريقه نوشتارتون بستگي داره.
اگر از ديتابيس اكسس يا چيري شبيه به اون استفاده ميكني بايد توي بخش ConnectionString اتصالت درستش كني.
يعني توي OnShow فرمت اونو تنطيم كني.
براي اين كار هم كاقيه كه يك كانكشن درست كني و با يك كپي و پيست مقدار فايل موزد نظرت با آدرسش رو توي اون ميزون كني. همين
با سلام. يه سؤال داشتم اگه ممكنه راهنماييم كنيد.
توي اكسس توي قسمت Relationships وقتي ميخوام بين بعضي از فيلدها ارتباط برقرار كنم مثلا كد رشته در جدول1 و كد رشته در جدول2 توي Edit Relationships قسمت پايين Relationship Type رو Indeterminate نشون ميده و واسه همين وقتي چك باكس اول و دوم رو تيك ميزنم و روي Ok كليك ميكنم اين پيغام رو ميده
و اجازه نميده ارتباط برقرار بشه. فقط به صورت يك خط به هم وصل ميشه ديگه يك به چند اون رو نشون نميده. اين اتصال درسته؟ با توجه به اينكه ميخوام تغييرات جدول 2 توي جدول 1 هم اعمال بشه؟کد:No unique index found for the referenced field of the primary table
اولا دوست عزيز. بهتر بود اين سوال رو در بخش Office/Access ميپرسيدين.
ثاتيا وقتي ميتوني از اين نوع لينك استفاده كرد كه شما لينك رو به فيلد پريمري بدي.
موفق باشي.
من فکر میکنم شما دقیقا مفهوم یک به چند رو متوجه نشدید. یک به چند یعنی یک رکورد از جدول اول با چند رکورد از جدول دوم در ارتباط هست که این ارتباط بوسیله یک فیلد مشخص در هر دو جدول نمایش داده میشه. مثلا کد درس در جدول درسها با کد درس در جدول انتخاب واحد یک دانشجو در سیستم انتخاب واحد. پس نیازی نیست ارتباط چند خط رو به شما نمایش بده.نقل قول:
فقط به صورت يك خط به هم وصل ميشه ديگه يك به چند اون رو نشون نميده. اين اتصال درسته؟
از چه دیتابیسی استفاده میکنید؟اگر access هست چنین کاری نیاز به کد نویسی داره اما اگر sql server هست میتونی از طریق امکانات مختلف relationship این امکان رو در برنامه قرار بدید.نقل قول:
با توجه به اينكه ميخوام تغييرات جدول 2 توي جدول 1 هم اعمال بشه؟
سلام دوستان،ميخواستم بگم كه چه جوري و با چه برنامه اي ميشه sql server راه انداخت و اينكه آيا بايد حتما براي استفاده از آن شبكه داشت
در ضمن به نظر شما براي يك سيستم كتابخانه چه بانكي بهتر است ( امنيت و سرعت* بالا).
تشریف می برید به یک فروشگاه نرم افزار میگید SQL SERVER 2000 یا 2005 میخوامنقل قول:
خیرنقل قول:
و اينكه آيا بايد حتما براي استفاده از آن شبكه داشت
دوست عزیز جناب مجتبی خان، با این سوالاتی که یکجا مطرح میشوند و فقط خودتون از مفهوم اونها سر در میارید انتظار پاسخ کامل نداشته باشیدنقل قول:
در ضمن به نظر شما براي يك سيستم كتابخانه چه بانكي بهتر است ( امنيت و سرعت* بالا).
سلام دوستان
می خواستم بپرسم آیا در این تاپیک در خصوص کپی کردن اطلاعات یک دیتا بیس به دیتا بیس دیگه بحث شده یا نه اگه شده لطفا شماره آن تاپیک را بذارین چون من تا آنجا که تونستم جستجو کردم
من می خواهم رکوردهای یک دیتا بیس به آخر رکوردهای دیتابیس دیگر اضافه شود و سپس رکوردهای دیتا بیس اول پاک شده و آماده دریافت رکوردهای جدید باشه
با تشکر از هماری شما
:40::40::40::40::40::40::40::40::40::40::40::40::4 0::40::40::40::2::46:
ديتابيس يا جدول؟
جدول
من یک جدول از دیتا بیس اکسس را به عنوان temp قرار داده ام و می خواهم وقتی کلیه رکوردهایش کامل شد و دکمه ثبت زده شد رکوردهای این table داخل table اصلی کپی شود و دوباره رکوردهای جدول temp خالی شود
با تشکر
:40::40::40::40::40::40::40::40::40::40::40::40::4 0::40::2::46:
لينك امضاي من رو ببينيد (insert into)