i try as below, no errors but no skip to get another office no. 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" If Not Used('new1') USE new1.dbf Alias new1 Again In 0 Shared Endif SELECT new1 SELECT * FROM new1 WHERE OFFICE=THISFORM.TEXT1.VALUE 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 new1 alter column (gaMyArray(nCount,1)) n(10,2) EndIf EndFor Wait clear ************************************ #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 table answers From Array aStruc If Not Used('new1') USE new1.dbf Alias new1 Again In 0 Shared Endif SELECT new1 lcText4Table = ALLTRIM(thisform.text41.value) lcText4Alias = "Questions" IF NOT USED(lcText4Alias) SELECT 0 If Not Used('new1') USE new1.dbf Alias new1 Again In 0 Shared Endif SELECT new1 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 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 ***************************************** Select answers 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 "ÇáãÌãæÚ" Select answers 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 If Not Used('answers') USE answers.dbf Alias answers Again In 0 Shared Endif SELECT 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 it must be thisform.text1.Value=2 endscanthanks
>>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 open >> >> >> >>>>thanks