السلام عليكم
اخوتي الاعزاء
اعتقد ان غاية الموضوع مهمة في اضافة حقل او عمود على جدول موجود سابقاً باستخدام دالة الاستعلام ALTER TABLE
وصيغتها هي
ALTER TABLE TableName1 ADD | ALTER [COLUMN] FieldName1 FieldType [( nFieldWidth [, nPrecision])] [NULL | NOT NULL] [CHECK lExpression1 [ERROR cMessageText1]] [AUTOINC [NEXTVALUE NextValue [STEP StepValue]]] [DEFAULT eExpression1] [PRIMARY KEY | UNIQUE [COLLATE cCollateSequence]] [REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS] [NOVALIDATE]
ALTER TABLE TableName1 ALTER [COLUMN] FieldName2 [NULL | NOT NULL] [SET DEFAULT eExpression2] [SET CHECK lExpression2 [ERROR cMessageText2]] [ DROP DEFAULT ] [ DROP CHECK ] [ NOVALIDATE ]
ALTER TABLE TableName1 [DROP [COLUMN] FieldName3] [SET CHECK lExpression3 [ERRORcMessageText3]] [DROP CHECK] [ADD PRIMARY KEY eExpression3 [FOR lExpression4] TAG TagName2 [COLLATE cCollateSequence]] [DROP PRIMARY KEY] [ADD UNIQUE eExpression4 [[FOR lExpression5] TAG TagName3 [COLLATE cCollateSequence]]] [DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY [eExpression5] [FOR lExpression6] TAG TagName4 REFERENCES TableName4 [TAG TagName4][COLLATE cCollateSequence] REFERENCES TableName2 [TAG TagName5]] [DROP FOREIGN KEY TAG TagName6 [SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] [NOVALIDATE]
والاستخدامها الاكثر شيوعا هو لاضافة حقول او حقل جديد الى جدول موجود سابقاً
وكما تستخدم غالباً ولاكثر المبرمجين يستخدمها مع الثوابت
اي يكتب الجدول والحقل الجديد مع النوع وقيمة او عرض الحقل
اليوم حبيت ان اذكر طريقة وهي استخدامها في معالج كان يكون بواسطة ملف برنامج او بالنماذج
وتفيد باختيار جدول معين واسم الحقل ونوعة وقيم عرضه
هنالك الكثير من الطرق منها والافكار واليكم فكرتين بسيطتينهما متشابهتان وتختلفان باستخدام بسيط او دالة هما
CLOSE DATABASES ALL
LOCAL cFname,cTable,cTYpe,cname
cTable=ALLTRIM(GETFILE("dbf"))
cname=ALLTRIM(INPUTBOX("اسم الحقل","",""))
cTYpe=ALLTRIM(INPUTBOX("نوع الحق (عرض الحقل)","",""))
cFname=cname + " " + cTYpe
USE (cTable) EXCLUSIVE
IF FSIZE(LEFT(cname,AT(" ",cname)))=0
ALTER TABLE (ctable) ADD COLUMN &cFname
MESSAGEBOX("Update Successful!","done")
BROWSE
USE
ENDIFCLOSE DATABASES ALL
LOCAL cFname,cTable,cTYpe,cname
cTable=ALLTRIM(GETFILE("dbf"))
cname=ALLTRIM(INPUTBOX("اسم الحقل","",""))
cTYpe=ALLTRIM(INPUTBOX("نوع الحق (عرض الحقل)","",""))
cFname=cname + " " + cTYpe
USE (cTable) EXCLUSIVE
AFIELDS(cFields)
IF ASCAN(cFields,cname) > 0
USE
ELSE
ALTER TABLE (cTable) ADD COLUMN &cFname
MESSAGEBOX("Update Successful! ","done")
BROWSE
USE
ENDIFاتمنى الاستفاد منها
وادراج المزيد من الافكار لتطبيقها
تحياتي للجميع

