>*i need help to insert the 2 lins below and print it all one by one autamticly. >*LOCAL lcSequenceString >*lcSequenceString = '1,2,3,4,5,6,7,8,9,10,13,16,17,19,20,40,41,42,43,44,54,55,56,57,58,59,60,61,62,63,64,66,67,68,69,89,90,99' >*this is the numbers of department > >this is the code at the form at command button and this method below > > >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 20 >#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 > >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 > > >*************************************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 > >*** The following two lines must be removed from final version too > GO BOTTOM > MessageBox("Count Of Answer1 before Insert "+TRANSFORM(nTest)+CHR(13)+CHR(10)+; >"Count Of Answer1 after Insert "+TRANSFORM(CountOf1)) > >GO TOP >*Browse >Select answers >BROWSE >thisform.list1.refresh >thisform.refresh >thisform.list1.gotfocus() > >***************************** >gcDelimName = ALIAS( ) + '.xls' >gcDelimFile = PUTFILE('excel_file:', gcDelimName, 'xls') >IF EMPTY(gcDelimFile) > CANCEL >ENDIF >COPY TO (gcDelimFile) XLS > >>
>#Define ANSWERCOUNT 20 >#Define QUESTIONCOUNT 3 >****************************************** > Local Array ans[(ANSWERCOUNT+1)*2], arrAns[1] > Local lcQueField,ix,lnTotal,lnTally > lcQueField = tcField > ans = 0 > lnTotal = 0 > tctable = LEFT(tcField, AT([.],tcField)-1) > > Select &lcQueField,Cnt(*) ; > From (m.tcTable) ; > where &lcQueField between 1 and ANSWERCOUNT ; > Group By 1 ; > Into Array arrAns > > lnTally = _Tally > ans[1] = SUBSTR(tcField,AT([.],tcField)+1) > lnTotal = 0 > > For ix = 1 To m.lnTally > lnTotal = m.lnTotal + arrAns[m.ix,2] > endfor > > For ix = 1 To m.lnTally > ans[arrAns[m.ix,1]*2] = arrAns[m.ix,2] > ans[arrAns[m.ix,1]*2+1] = arrAns[m.ix,2]/m.lnTotal * 100 > EndFor > > ans[(ANSWERCOUNT+1)*2] = m.lnTotal > Insert Into answers From Array ans >RETURN >>thanks