VectorWorks forum: Rekenbladen - Optellen - VectorWorks forum

Ga naar inhoud

Pagina 1 van 1

Rekenbladen - Optellen

#1 Gebruiker is offline   ASB 

  • Expert
  • Groep: Members
  • Posts: 252
  • Lid geworden: 06-March 07

Gepost 13 November 2017 - 08:40 AM

Wij hebben een x-aantal jaren geleden een script geschreven om gegevens uit te lezen en sommige waarde op te tellen. Nu werkt het niet meer in VW-2018, ik heb al aan het zien geweest, maar ik snap het niet volledig meer.

https://s7.postimg.org/x5q8jt5x7/uitlees_2017.jpg

Het gaat om de tweede kolom bij de rijen 4.1 en 4.2, in de 2017 telt hij ze gewoon op en je ziet hieronder dat hij ze bij de 2018 niet optelt.

https://s7.postimg.org/lgm8vv9tn/uitlees_2018.jpg

Het gaat waarschijnlijk iets stom zijn dat ik over het hoofd zie.

HEeft het iets te maken met het volgend stukje script?

SetWSCellFormula(tempHandle,4,0,4,0,'=DATABASE((R IN [''ASB Bovenwapening 2009'']))');
SetWSColumnOperators(tempHandle,4,0,0,0,1,0,0);

SetWSCellFormula(tempHandle,4,1,4,1,'=(''ASB Bovenwapening 2009''.uitletter)');
SetWSCellFormula(tempHandle,4,2,4,2,'=(''ASB Bovenwapening 2009''.aantalstaven)');
SetWSCellFormula(tempHandle,4,3,4,3,'=(''ASB Bovenwapening 2009''.uitdiameter)');
SetWSCellFormula(tempHandle,4,4,4,4,'=(''ASB Bovenwapening 2009''.uitlezenlengte01)');
SetWSCellFormula(tempHandle,4,5,4,5,'=(''ASB Bovenwapening 2009''.uitlezenlengte02)');
SetWSCellFormula(tempHandle,4,10,4,10,'=(''ASB Bovenwapening 2009''.uitsymbool)');
Windows 7
Vectorworks 2015 standaard
0

#2 Gebruiker is offline   ASB 

  • Expert
  • Groep: Members
  • Posts: 252
  • Lid geworden: 06-March 07

Gepost 13 November 2017 - 12:12 PM

Ik heb nog wat verder aan het prullen geweest, maar ik weet het echt niet meer. hier is het volledige script, als iemand mij kan helpen. Duizend maal dank.
Ik denk dat het probleem zich vindt in het laatste gedeelte van de post met de "GetWSRowColumnCount" maar ik snap daar dus echt geen jota van.


Procedure creeerrapport;
VAR
tempHandle:HANDLE;
c,r,i,j,k,src : INTEGER;
fileName,line,holder : STRING;
col : DYNARRAY[] of INTEGER;
BEGIN

tempHandle := CreateWS('Naamloos rekenblad',5,12);
SetWSPlacement(tempHandle,800,1000,800,1000);


{User-Set Preferences}
SetObjectVariableInt(tempHandle,86,(GetFontID('Arial Narrow')));
SetObjectVariableInt(tempHandle,87,10);
SetObjectVariableReal(tempHandle,88,25.40);
SetObjectVariableReal(tempHandle,89,25.40);
SetObjectVariableReal(tempHandle,90,25.40);
SetObjectVariableReal(tempHandle,91,25.40);

{Column Widths}
SetWSColumnWidth(tempHandle,1,12,120);

{Cells}
SetWSCellTextFormat(tempHandle,1,1,1,1,(GetFontID('Arial Narrow')),10,1);
SetWSCellFormula(tempHandle,1,1,1,1,'BO-ST-Letter');

SetWSCellTextFormat(tempHandle,1,2,1,2,(GetFontID('Arial Narrow')),10,1);
SetWSCellFormula(tempHandle,1,2,1,2,'BO-ST-Aantaal');

SetWSCellTextFormat(tempHandle,1,3,1,3,(GetFontID('Arial Narrow')),10,1);
SetWSCellFormula(tempHandle,1,3,1,3,'BO-ST-Dia');

SetWSCellTextFormat(tempHandle,1,4,1,4,(GetFontID('Arial Narrow')),10,1);
SetWSCellFormula(tempHandle,1,4,1,4,'BO-ST-Lengte-01');

SetWSCellTextFormat(tempHandle,1,5,1,5,(GetFontID('Arial Narrow')),10,1);
SetWSCellFormula(tempHandle,1,5,1,5,'BO-ST-Lengte-02');

SetWSCellTextFormat(tempHandle,1,6,1,6,(GetFontID('Arial Narrow')),10,1);
SetWSCellFormula(tempHandle,1,6,1,6,'BO-ST-Lengte-03');

SetWSCellTextFormat(tempHandle,1,7,1,7,(GetFontID('Arial Narrow')),10,1);
SetWSCellFormula(tempHandle,1,7,1,7,'BO-ST-Lengte-04');

SetWSCellTextFormat(tempHandle,1,8,1,8,(GetFontID('Arial Narrow')),10,1);
SetWSCellFormula(tempHandle,1,8,1,8,'BO-ST-Afstand');

SetWSCellTextFormat(tempHandle,1,9,1,9,(GetFontID('Arial Narrow')),10,1);
SetWSCellFormula(tempHandle,1,9,1,9,'BO-ST-Tekst');

SetWSCellTextFormat(tempHandle,1,10,1,10,(GetFontID('Arial Narrow')),10,1);
SetWSCellFormula(tempHandle,1,10,1,10,'BO-ST-Symbool-nr');

SetWSCellTextFormat(tempHandle,1,11,1,11,(GetFontID('Arial Narrow')),10,1);
SetWSCellFormula(tempHandle,1,11,1,11,'BO-ST-Nivo');

SetWSCellFormula(tempHandle,2,0,2,0,'=DATABASE((R IN [''ASB Bovenwapening'']))');
SetWSColumnOperators(tempHandle,2,0,0,0,1,0,0);

SetWSCellFormula(tempHandle,2,0,2,0,'=DATABASE((R IN [''ASB Bovenwapening'']))');
SetWSColumnOperators(tempHandle,2,0,0,0,1,0,0);

SetWSCellFormula(tempHandle,2,1,2,1,'=(''ASB Bovenwapening''.uitletter)');
SetWSCellFormula(tempHandle,2,2,2,2,'=(''ASB Bovenwapening''.aantalstaven)');
SetWSCellFormula(tempHandle,2,3,2,3,'=(''ASB Bovenwapening''.uitdiameter)');
SetWSCellFormula(tempHandle,2,4,2,4,'=(''ASB Bovenwapening''.uitlezenlengte01)');
SetWSCellFormula(tempHandle,2,5,2,5,'=(''ASB Bovenwapening''.uitlezenlengte02)');
SetWSCellFormula(tempHandle,2,10,2,10,'=(''ASB Bovenwapening''.uitsymbool)');


SetWSCellFormula(tempHandle,4,0,4,0,'=DATABASE((R IN [''ASB Bovenwapening 2009'']))');
SetWSColumnOperators(tempHandle,4,0,0,0,1,0,0);

SetWSCellFormula(tempHandle,4,1,4,1,'=(''ASB Bovenwapening 2009''.uitletter)');
SetWSCellFormula(tempHandle,4,2,4,2,'=(''ASB Bovenwapening 2009''.aantalstaven)');
SetWSCellFormula(tempHandle,4,3,4,3,'=(''ASB Bovenwapening 2009''.uitdiameter)');
SetWSCellFormula(tempHandle,4,4,4,4,'=(''ASB Bovenwapening 2009''.uitlezenlengte01)');
SetWSCellFormula(tempHandle,4,5,4,5,'=(''ASB Bovenwapening 2009''.uitlezenlengte02)');
SetWSCellFormula(tempHandle,4,10,4,10,'=(''ASB Bovenwapening 2009''.uitsymbool)');

SetWSCellFormula(tempHandle,3,0,3,0,'=DATABASE((R IN [''ASB Bovenwapening EK'']))');
SetWSColumnOperators(tempHandle,3,0,0,0,1,0,0);
SetWSCellFormula(tempHandle,3,1,3,1,'=(''ASB Bovenwapening EK''.uitletter)');
SetWSCellFormula(tempHandle,3,2,3,2,'=(''ASB Bovenwapening EK''.aantalstaven)');
SetWSCellFormula(tempHandle,3,3,3,3,'=(''ASB Bovenwapening EK''.uitdiameter)');
SetWSCellFormula(tempHandle,3,4,3,4,'=(''ASB Bovenwapening EK''.uitlezenlengte01)');
SetWSCellFormula(tempHandle,3,5,3,5,'=(''ASB Bovenwapening EK''.uitlezenlengte02)');
SetWSCellFormula(tempHandle,3,10,3,10,'=(''ASB Bovenwapening EK''.uitsymbool)');

SetWSCellFormula(tempHandle,5,0,5,0,'=DATABASE((R IN [''ASB WAP EX ON BO 01'']))');
SetWSColumnOperators(tempHandle,5,0,0,0,1,0,0);
SetWSCellFormula(tempHandle,5,1,5,1,'=(''ASB WAP EX ON BO 01''.BOuitletter)');
SetWSCellFormula(tempHandle,5,2,5,2,'=(''ASB WAP EX ON BO 01''.BOaantalstaven)');
SetWSCellFormula(tempHandle,5,3,5,3,'=(''ASB WAP EX ON BO 01''.BOuitdiameter)');
SetWSCellFormula(tempHandle,5,4,5,4,'=(''ASB WAP EX ON BO 01''.BOuitlezenlengte01)');
SetWSCellFormula(tempHandle,5,5,5,5,'=(''ASB WAP EX ON BO 01''.BOuitlezenlengte02)');
SetWSCellFormula(tempHandle,5,6,5,6,'=(''ASB WAP EX ON BO 01''.BOuitlezenlengte03)');
SetWSCellFormula(tempHandle,5,10,5,10,'=(''ASB WAP EX ON BO 01''.BOuitsymbool)');

{Recalculate}
RecalculateWS(tempHandle);

{Show}
ShowWS(tempHandle,TRUE);

{zet naar tekstbestand}
rewrite('\\192.168.73.30\data\proj_asb\Symbolen plan\Administratie\Boven wapening.txt');
Message(fileName);
IF NOT DidCancel THEN BEGIN


GetWSRowColumnCount(tempHandle,r,c);
ALLOCATE col[1..c];


For i:=1 to r DO BEGIN
GetWSSubRowCount(tempHandle,i,src);
IF src > 0 THEN BEGIN
For k:=1 to src DO BEGIN
For j:=1 to c DO BEGIN
GetWSSubrowCellString(tempHandle,i,j,k,holder);
IF j=1 THEN line:=holder;
IF j>1 THEN line:=Concat(line,chr(9),holder);
END;
WriteLn(line);
END;
END;

IF src < 1 THEN BEGIN
For j:=1 to c DO BEGIN
GetWSCellString(tempHandle,i,j,holder);
IF j=1 THEN line:=holder;
IF j>1 THEN line:=Concat(line,chr(9),holder);
END;
WriteLn(line);
END;
END;

Close(fileName);
END;
Sysbeep;
Message('Meetstaat export is klaar');
Wait(0);
ClrMessage;


END;

Run (creeerrapport);
Windows 7
Vectorworks 2015 standaard
0

#3 Gebruiker is offline   ASB 

  • Expert
  • Groep: Members
  • Posts: 252
  • Lid geworden: 06-March 07

Gepost 15 November 2017 - 08:35 AM

SetWSColumnOperators(tempHandle,4,0,0,0,1,0,0);

Het zit dus in deze regel. Daar ben ik al zeker van.
Nu zet hij de in de eerste kolom alles met dezelfde waarde op 1 regel. Nu moet hij dan alles van de tweede kolom optellen.
Maar daar loop ik op vast. Ik kan ze laten sorteren en dergelijke maar optellen niet.

Dus de zoektocht gaat verder.
Windows 7
Vectorworks 2015 standaard
0

#4 Gebruiker is offline   ASB 

  • Expert
  • Groep: Members
  • Posts: 252
  • Lid geworden: 06-March 07

Gepost 23 November 2017 - 08:58 AM

AddWSColumnOperator(tempHandle,4,2,2);

Dat was dus de ontbrekende regel.
Windows 7
Vectorworks 2015 standaard
0

Deel dit topic:


Pagina 1 van 1

1 Gebruiker(s) lezen dit topic
0 gebruikers, 1 gasten, 0 anonieme gebruikers