View Full Version : تغییر یک جمله در سورس برنامه
nasr
یک شنبه 16 اسفند 1383, 16:49 عصر
سلام
نمی دونم موضوعش را خوب انتخاب کردم یا نه
ولی به هر حال:
من یه برنامه ای نوشته ام (با جداول پارادوکس) دوتا جدول با ساختار یکسان داره یعنی فیلدها تمامی شون یکی است ولی اسم جدول ها متفاوت است مثلا Table1 , Table2
حالا این برنامه گزارشهای خیلی زیادی می ده که اگه بخوام برای اون جدول دومی هم اینها را بنویسم یک سال طول می کشه :گیج:
می خوام کاری کنم که با فشار یک دکمه در سورس برنامه هرچی table1 هست تبدیل بشه به table2 یه چیزی مثل Fine And Replace که توی خود دلفی هست.
و تازه اگه بشه کاری کرد که هرچی TTable هست که TableName اون هست مثلا Table1 حالا TableName اون تبدیل بشه به Tabel2
امیدوارم متوجه شده باشید و راهی به نظرتون برسه
ممنون
nasr
دوشنبه 17 اسفند 1383, 23:25 عصر
آیا روشی به ذهنتون نمی رسه
ممنون
خیلی گیرش هستم
JavanSoft
سه شنبه 18 اسفند 1383, 13:51 عصر
[code]
Table1.Close
Table1.TableName:='New Name'
Table1.Open
MiRHaDi
سه شنبه 18 اسفند 1383, 14:07 عصر
سلام
میتونی کپی کنی و بعد همشو با خود دلفی بگی عوض کنه
میتونی هم فقط نام جدول رو عوض کنی
میتونی هم از اشاره گر استفاده کنی
بای
nasr
سه شنبه 18 اسفند 1383, 14:31 عصر
سلام
آخه من از این نام که مثلا Customer است در Query هم استفاده کرده ام
Select * from customer
باید تمام Customer ها توی این برنامه تبدیل بشه به Customer2
فکر می کنم یه کار غیر ممکن باشه
C# Programmer
چهارشنبه 19 اسفند 1383, 09:43 صبح
اگه Query ها رو تو دلفی نوشتی می تونی اونا رو تو فایل dfm عوض کنی
B-Vedadian
چهارشنبه 19 اسفند 1383, 10:26 صبح
با سلام،
برای اینکه مجبور به تغییر نام نشید، عبارت select رو بصورت زیر بنویسید
Select * from "'+Table1.TableName+'" where ...
در نهایت برای عوض کردن متن برنامه هم که یک Find&Replace کار رو انجام میده.
nasr
چهارشنبه 19 اسفند 1383, 10:39 صبح
سلام و تشکر
در نهایت برای عوض کردن متن برنامه هم که یک Find&Replace کار رو انجام میده.
نه غزیز من
من می خوام کاربر انتخاب کنه که می خواد از Customer1 گزارش بگیره یا از Customer2
یعنی این سوال را اول برنامه بپرسه
بعد برنامه خودش این کار را بکنه که عرض کردم
ممنون
امیدوارم متوجه بشید
nasr
چهارشنبه 19 اسفند 1383, 10:40 صبح
Select * from "'+Table1.TableName+'" where ...
درضمن برای انجام این کار هم دست کمی از دوباره نوشتن برنامه نداره
jirjirakk
پنج شنبه 20 اسفند 1383, 00:08 صبح
فکر کنم با دستور فورمت کارت راه بیفته :)
فقط باید دستورات SQL که نوشتی رو یه خورده تغییر بدی :mrgreen:
Format('SELECT * FROM CUSTOMER%D',[ComboBox.ItemIndex + 1])
Or
Format('SELECT * FROM CUSTOMER%D',[ListVox.ItemIndex + 1])
MiRHaDi
شنبه 13 فروردین 1384, 04:27 صبح
سلام
این رو بهت قول نمیدم ولی امتحان کن اگه جواب بده از همه چیز راحتتره
select * from :tablename
و اسم جدول رو توی پارامتر تعریف کن ! همین
بای
net_ved
شنبه 13 فروردین 1384, 10:28 صبح
همه اجزای SQLنمی توانند به عنوان پارامتر ارسال شوند....table یکی از اونهاست
nasr
یک شنبه 14 فروردین 1384, 09:27 صبح
سلام
من این مشکل را به این ترتیب حل کردم که :
در هنگام باز شدن برنامه از کاربر سوال کنه از کدوم جدول می خواهی گزارش تهیه کنی (البته نه به اینضورت :) ) بعد کاربر هر کدوم را انتخاب کرد جدول اصلی برنامه را Rename می کنه و اون جدول دومی را تغییر نام می ده به جدول اول
امید وارم متوجه شده باشید
به هر حال ممنون از همکاریتون
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.