VectorWorks forum: Rekenbladen - Optellen - VectorWorks forum

Ga naar inhoud

Pagina 1 van 1

Rekenbladen - Optellen

#1 Gebruiker is offline   ASB 

  • Expert
  • Groep: Members
  • Posts: 253
  • 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: 253
  • 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: 253
  • 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: 253
  • 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

#5 Gebruiker is offline   M-art-in-B 

  • Nieuwkomer Forum
  • Groep: Members
  • Posts: 8
  • Lid geworden: 12-March 11
  • Gender:Male
  • Interests:theater, architectuur en wandelen in de bergen
  • Stad:Brecht

Gepost 28 December 2017 - 05:58 PM

Beste ASB, ik heb meteen een vraag.
Ik ben met rekenbladen nog helemaal niet ver. Maar ik probeer het volgende voor elkaar te krijgen.
Ik heb een rekenblad met parametrische buizen en nu probeer ik de kolom Aantal met de kolom volume te vermenigvuldigen.
De kolom volume kan ik wel vermenigvuldigen met het soortelijke gewicht van staal.
Maar ik ben dus op zoek naar een formule Aantal x volume
Ik hoop dat je me kan helpen

Groet Martin

Bijgesloten miniatuur

  • Bijgesloten Plaatje : Schermafbeelding 2017-12-28 om 17.52.32.png

MacBook Pro (Retina, 15-inch, Mid 2015) 2,5 GHz Intel Core i7 16 GB 1600 MHz DDR3 AMD Radeon R9 M370X 2 GB Intel Iris Pro 1536 MB
Vectorworks 2018 Studio
0

Deel dit topic:


Pagina 1 van 1

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