PDA

View Full Version : مبتدی: چند مشکل در اکسس



hamzehshabani
شنبه 22 اسفند 1388, 20:55 عصر
سلام دوستان من چندتا سوال داشتم که خوشحال میشم بهش جواب بدید.

1) من با کد زیر یه تیبل + فیلدهاش توی اکسس میسازم.



var
DataSource : string;
cs : string;
begin
DataSource :=
'Provider=Microsoft.Jet.OLEDB.4.0'+
';Data Source=c:\VaziatDataBase.mdb'+
';Persist Security Info=False';

ADOConnection1.ConnectionString := DataSource;
ADOConnection1.LoginPrompt := False;
ADOCommand1.Connection := ADOConnection1;

cs:='CREATE TABLE aaaa (' +
'ردیف TEXT(50),' +
'شماره،اشتراک TEXT(50),' +
'شماره،قرارداد TEXT(50),' +
'ازشماره TEXT(50),' +
'تاشماره TEXT(50),' +
'شماره،فیش،واریزی TEXT(50),' +
'تلفن TEXT(50),' +
'آدرس TEXT(100))';
ADOCommand1.CommandText := cs;
ADOCommand1.Execute;

MessageBox(Handle,Pchar('.اطلاعات ثبت شد') , 'اطلاعات',MB_OK or MB_ICONINFORMATION)

end;


تیبل رو راحت میسازه اما میخوام بجای نام تیبل که در اینجا (aaaa) هست نام رو مثلا از edit1 بگیره.
اما نمیدونم باید چیکار کنم.

2) میخوام اول برنامه چک کنه که آیا دیتابیسهام وجود داره یا نه؟ و اگه وجود نداشت بگه مثلا وجود نداره و وارد برنامه نشه.

3) این سوال شبیه به سوال دومه، راستش من برای پس زمینه برنامم یه عکس قرار دادم که آدرسش رو از یه دیتابیس میگیره، چطور میتونم تایین کنم که اگه عکس موجود نبود مثلا کادر Open بیاد و عکس بخواد؟
البته این که کادر Open بیاد زیاد مهم نیست فقط میخوام بودو نبود فایلها رو تشخیص بدم. :لبخندساده:

Modernidea
شنبه 22 اسفند 1388, 21:10 عصر
سلام

1. با استفاده از QuotedStr
begin
cs:='CREATE TABLE +QuotedStr(Edit1.Text)+ (' +
'ردیف TEXT(50),' +
'شماره،اشتراک TEXT(50),' +
'شماره،قرارداد TEXT(50),' +
'ازشماره TEXT(50),' +
'تاشماره TEXT(50),' +
'شماره،فیش،واریزی TEXT(50),' +
'تلفن TEXT(50),' +
'آدرس TEXT(100))';

end;


2. در این باره تاپیک های زیادی در این سایت موجود است که با یک جستجوی کوچک پیدا میشه. این یک نمونه. کلیک کنید (http://barnamenevis.org/forum/showthread.php?t=191793)

3. ابتدا آدرس مربوطه را از بانک بگیرید بعد آدرس را در این تابع قرار بدید.

FileExists();موفق باشید.

حسین شهریاری
یک شنبه 23 اسفند 1388, 09:44 صبح
سلام



1. با استفاده از QuotedStr
begin



cs:='CREATE TABLE +QuotedStr(Edit1.Text)+ (' +

'ردیف TEXT(50),' +

'شماره،اشتراک TEXT(50),' +

'شماره،قرارداد TEXT(50),' +

'ازشماره TEXT(50),' +

'تاشماره TEXT(50),' +

'شماره،فیش،واریزی TEXT(50),' +

'تلفن TEXT(50),' +

'آدرس TEXT(100))';



end;



2. در این باره تاپیک های زیادی در این سایت موجود است که با یک جستجوی کوچک پیدا میشه. این یک نمونه. کلیک کنید (http://barnamenevis.org/forum/showthread.php?t=191793)




3. ابتدا آدرس مربوطه را از بانک بگیرید بعد آدرس را در این تابع قرار بدید.




FileExists();موفق باشید.




دوستمون درست جواب دادن فقط يه مورد اين كه تابع QuotedStr دو طرف رشته دريافتي سينگل كوتيشن قرار ميده،پس نيازي به سينگل كوتيشن نيست فقط كافيه رشته را با Edit جمع كنيد.اينطوري:

cs:='CREATE TABLE '+Edit1.Text+ ' (' +
و بقيه رشته.....

hamzehshabani
یک شنبه 23 اسفند 1388, 15:26 عصر
ممنون مشکل اولم حل شد اما مشکل 2 و سه نه!

در ضمن من تازه کار با دلفی رو شروع کردم و هیچ چیزی راجع به
FileExists(); نمیدونم، اگه امکان داره سوال 2 و 3 رو با مثال بهم بگید.

در ضمن من میخوام برای حذف 1 سطر از جدولم اول ازم سوال کنه (گشتم اما چون تازه کارم نتونستم چیزی پیدا کنم)، لطفا بگید چطور میشه یه پیغام بپرسه و اگه قبول کردم حذفش کنه.

Modernidea
یک شنبه 23 اسفند 1388, 20:47 عصر
ممنون مشکل اولم حل شد اما مشکل 2 و سه نه!

در ضمن من تازه کار با دلفی رو شروع کردم و هیچ چیزی راجع به
FileExists(); نمیدونم، اگه امکان داره سوال 2 و 3 رو با مثال بهم بگید.

در ضمن من میخوام برای حذف 1 سطر از جدولم اول ازم سوال کنه (گشتم اما چون تازه کارم نتونستم چیزی پیدا کنم)، لطفا بگید چطور میشه یه پیغام بپرسه و اگه قبول کردم حذفش کنه.

2.

procedure TForm1.FormCreate(Sender: TObject);
begin
if Not FileExists('C:\Test.test') then
begin
ShowMessage('بانک وجود ندارد');
Application.Terminate;
end;
end;

خوب، همینجور که میبینید باید این کد رو در رویداد FormCreate فرم اصلی قرار بدید.
در خط سوم عدم وجود فایل را چک میکنه و درصورت وجود نداشتن فایل، شرط را اجرا و پیغامی نشان میده و با زدن دکمه ok در پیغام نمایش داده شده از برنامه خارج میشود.

3. برای این سوال هم باید ابتدا آدرس را از بانک بگیرید و بجای 'C:\Test.test' در تابع بالا قرار بدید و ...

var
Path : String;
begin
if Not FileExists(مسير فايل) then
begin
OpenDialog1.Execute;
Path := OpenDialog1.FileName;
end;

آدرس فایل در متغیر Path قرار میگیره و بعد آن را میتونید به مسیر عکس انتصاب بدید.

موفق باشید.

hamzehshabani
یک شنبه 23 اسفند 1388, 22:54 عصر
خیلی ممنون از لطفتون دوست عزیز