SET SAFETY OFF SET TALK OFF SET STATUS OFF SELECT * FROM SOSO WHERE flg="1" ; nofilter; INTO TABLE NEW1 SELECT DISTINCT office,DEPARTMENT FROM new1 INTO TABLE mytable1 USE mytable1 scan m.office=office m.DEPARTMENT=DEPARTMENT thisform.text1.Value=m.office ********************************* thisform.text3.value=m.DEPARTMENT COUNT TO THISFORM.TEXT2.VALUE THISFORM.TEXT41.Value="NEW1"+".DBF" ******************************** CLOSE all Use (thisform.text41.value) Exclusive gnFieldcount = AFIELDS(gaMyArray) For nCount = 1 To gnFieldcount If left(Upper(gaMyArray(nCount,1)),1)='Q' and gaMyArray(nCount,2)='C'&& begin with q and ather charcters Wait "Converting "+gaMyArray(nCount,1) WINDOW nowait Alter table (thisform.text41.value) alter column (gaMyArray(nCount,1)) n(10,2) EndIf EndFor Wait clear ************************************ CLOSE all #Define ANSWERCOUNT 6 #Define QUESTIONCOUNT 3 Local array aStruc[(ANSWERCOUNT+1)*2,4] Local ix,lnPair aStruc = 0 aStruc[1,1] = 'Question' aStruc[1,2] = 'C' aStruc[1,3] = 5 For lnPair=1 To ANSWERCOUNT aStruc[m.lnPair*2,1] = 'CountOf'+Ltrim(Str(m.lnPair)) aStruc[m.lnPair*2,2] = 'I' aStruc[m.lnPair*2,3] = 4 aStruc[m.lnPair*2+1,1] = 'PctOf'+Ltrim(Str(m.lnPair)) aStruc[m.lnPair*2+1,2] = 'B' aStruc[m.lnPair*2+1,3] = 8 aStruc[m.lnPair*2+1,4] = 2 Endfor aStruc[(ANSWERCOUNT+1)*2,1] = 'Total' aStruc[(ANSWERCOUNT+1)*2,2] = 'I' aStruc[(ANSWERCOUNT+1)*2,3] = 4 *Create Cursor answers >From Array aStruc SET SAFETY off Create table answers From Array aStruc lcText4Table = ALLTRIM(thisform.text41.value) lcText4Alias = "Questions" IF NOT USED(lcText4Alias) SELECT 0 USE (lcText4Table) ALIAS Questions ENDIF For ix=1 To FCOUNT(lcText4Alias) IF UPPER(LEFT(FIELDS(ix,lcText4Alias),1)) == "Q" thisform.GetCounts(m.ix,lcText4Alias+'.'+FIELDS(ix)) ENDIF ENDFOR Select answers *ALTER TABLE answers ALTER COLUMN question Character(100) ALTER TABLE answers add COLUMN question1 Character(100) ALTER TABLE answers ALTER COLUMN question Character(10) *************************************8 cSelect = "SELECT [sum] AS Question" FOR cFlds = 2 TO FCOUNT("Answers") cFldName = FIELDS(cFlds) IF UPPER(LEFT(cFldName,7)) == "COUNTOF" cSelect = cSelect + [,] + " SUM("+FIELDS(cFlds)+") AS "+FIELDS(cFlds) ELSE cSelect = cSelect + [,] + " 0 AS "+FIELDS(cFlds) ENDIF NEXT cSelect = cSelect + " FROM Answers INTO ARRAY sumAnswers" &cSelect SUM CountOf1 TO nTest INSERT INTO Answers FROM ARRAY sumAnswers ***************************************** CLOSE ALL CLEAR SET SAFETY OFF USE answers GO top replace question1 WITH " íæÌÏ áÏí æÚí áãÝåæã ÇáãÚÑÝÉ ÇáÕÑíÍÉ " SKIP replace question1 WITH " íæÌÏ áÏí æÚí áãÝåæã ÇáãÚÑÝÉ ÇáÖãäíÉ " SKIP replace question1 WITH " ÇäÇ Úáì Úáã ÈÇáÊåÏíÏÇÊ ÇáÊí ÊæÇÌå ÇáãÚÑÝÉ Ýí ÇáÏÇÆÑÉ " SKIP replace question1 WITH "ÇÔÇÑß Ýí ÊÈÇÏá ÇáãÚÑÝÉ Èíä ÒãáÇÆí " SKIP replace question1 WITH " ÇäÇ Úáì Úáã ÈãÍÊæíÇÊ ãæÞÚ ÇáãÚÑÝÉ ÈÇáÏÇÆÑÉ " SKIP replace question1 WITH "ÇäÇ Úáì Úáã ÈÃä ÇÏÇÑÉ ÇáãÚÑÝÉ ÊÒíÏ Ýí ÇáÇÑÊÞÇÁ ÈãÓÊæì ÇáÇÏÇÁ " SKIP replace question1 WITH "ÇäÇ Úáì Úáã ÈÇåÏÇÝ ÇÏÇÑÉ ÇáãÚÑÝÉ ÊÒíÏ Ýí ÇáÇÑÊÞÇÁ ÈãÓÊæì ÇáÇÏÇÁ" SKIP replace question1 WITH LTRIM("ÇäÇ ÇÔÇÑß ÈäÔÑ ÇáãÚÑÝÉ ÈÇáÏÇÆÑÉ ") SKIP replace question1 WITH "ÇäÇ Úáì ÇÓÊÚÏÇÏ áãÔÇÑßÉ ãÚÑÝÊí ÇáÖãäíÉ Èíäí æÈíä ÒãáÇÆí ÈÇáÏÇÆÑÉ " SKIP replace question1 WITH "ÇÔÇÑß Ýí ÑÝÏ ãæÞÚ ÇáãÚÑÝÉ ÈÇáãÚÇÑÝ ÇáÖãäíÉ æÇáÕÑíÍÉ ÈÇÓÊãÑÇÑ " SKIP replace question1 WITH LTRIM("ÇáÍÇÓæÈ íÓÇÚÏ Ýí äÔÑ ÇáãÚÑÝÉ Ýí ÇáÏÇÆÑÉ " ) SKIP replace question1 WITH "åá ÊÑÛÈ ÈÒíÇÏÉ ÓÇÚÇÊ ÇáÇäÊÑäÊ Ýí ÇáÏÇÆÑÉ (äÚã) Ãæ (áÇ) " SKIP replace question1 WITH " Úáì äÔÑ ÇáãÚáæãÇÊ WorkFlow åá íÓÇÚÏ (äÚã) Ãæ (áÇ) " SKIP replace question1 WITH "ÇäÇ Úáì Úáã ÈãÕÇÏÑ ÇáãÚÑÝÉ ÇáÖãäíÉ Ýí ÇáÏÇÆÑÉ (äÚã) Ãæ (áÇ) " SKIP replace question1 WITH "ÇäÇ Úáì ÏÑÇíÉ ÈÃãÇßä ÇáãÚÑÝÉ ÇáÕÑíÍÉ Ýí ÇáÏÇÆÑÉ (äÚã) Ãæ (áÇ)" SKIP replace question1 WITH "åá ÇáãÚÑÝÉ ÇáÖãäíÉ ÊÑÝÚ ÇÏÇÄß Ýí ÇáÚãá (äÚã) Ãæ (áÇ)" SKIP replace question1 WITH "åá ÊÚÊÞÏ Çä ÇáÏÇÆÑÉ æÝÑÊ ÇáíÇÊ áÊÈÇÏá ÇáãÚáæãÇÊ (äÚã) Ãæ (áÇ)" SKIP replace question1 WITH "ÇáãÌãæÚ" CLOSE all USE answers excl ALTER table answers ADD COLUMN no n(3) ALTER table answers drop COLUMN no ALTER table answers ADD COLUMN no n(3) m.i=0 FOR m.i=i TO 17 REPLACE no WITH m.i skip endfor CLOSE ALL USE answers SELECT no, question,question1 ,'count',countof1,countof2, countof3,countof4,countof5; FROM answers ; UNION ALL; SELECT no,question,question1,'persentage',pctof1,pctof2, pctof3,pctof4,pctof5; FROM answers INTO CURSOR mucur READWRITE ORDER BY no SCAN replace question WITH "ÇáÊßÑÇÑ" SKIP replace question1 WITH "" replace question WITH "%" replace countof1 WITH ROUND(countof1,2) replace countof2 WITH ROUND(countof2,2) replace countof3 WITH ROUND(countof3,2) replace countof4 WITH ROUND(countof4,2) replace countof5 WITH ROUND(countof5,2) endscan endscan&& error message file is not openthanks