Solved

Is there another grid type control that will allow more than 350,000 cells

Posted on 2000-04-25
20
463 Views
Last Modified: 2010-08-05
This is an extension of my first question regarding the Out of memory error with the MSFlexGrid that bhess1 answered.  That answer in and of itself is worth 200 points to me.  

Since the MSFlexGrid is limited to 350,000 cells, is there another control in Visual Basic that will allow more cells or even an "infinite" number only bound by system memory?

Thanks in advance
Phil


0
Comment
Question by:psm0900
  • 8
  • 2
  • 2
  • +6
20 Comments
 
LVL 38

Expert Comment

by:PaulHews
ID: 2748977
Given the amount of resources 350000 cells would use, is that desirable?
0
 
LVL 2

Expert Comment

by:Sage020999
ID: 2749070
I would use the Far point spread sheet here.  It works much better than the flexgrids.  You can download a free demo from Farpoint to see if it will suit your needs.  
0
 
LVL 12

Expert Comment

by:mark2150
ID: 2749079
Why in gods name would you need more than 1/3 of a million cells? What user is going to set there and plow thru that much data? You need to re-examine your approach if you're getting anywhere *near* that limit. Your system has got to be dog slow and unweildy in the extreme.

M
0
 
LVL 20

Expert Comment

by:hes
ID: 2749095
Agree with what mark said. But if you do need more, as sage said Spread 3 from Far Point is the way to go.
Supports 2 billion rows by 2 billion columns

http://www.fpoint.com/products/spread/spread.html
0
 

Author Comment

by:psm0900
ID: 2749102
Hi Paul,

I am not sure how much "desirable" comes into play.  The control is part of a software auditing system that was developed in house and allows me to evaluate the results and remove information that was incorrectly classified.  We perform a software audit every week. The majority of work performed by this server occurs at night between 7pm and 7am.  The remainder of the time it sits waiting for incomming information, hosts Visual Source Safe for my area, hosts a documentation web site for my area, and most importantly it is a developement area for my stuff.  I write a lot of "behind the scenes" programs that enable the 850 servers to perform their tasks better.

Since we perform the audit weekly the program is question is only in use for about 30 minutes once a week.  The impact on the overall system is really minimal.

Phil
0
 

Author Comment

by:psm0900
ID: 2749106
Hi Paul,

I am not sure how much "desirable" comes into play.  The control is part of a software auditing system that was developed in house and allows me to evaluate the results and remove information that was incorrectly classified.  We perform a software audit every week. The majority of work performed by this server occurs at night between 7pm and 7am.  The remainder of the time it sits waiting for incomming information, hosts Visual Source Safe for my area, hosts a documentation web site for my area, and most importantly it is a developement area for my stuff.  I write a lot of "behind the scenes" programs that enable the 850 servers to perform their tasks better.

Since we perform the audit weekly the program is question is only in use for about 30 minutes once a week.  The impact on the overall system is really minimal.

Phil
0
 
LVL 12

Expert Comment

by:mark2150
ID: 2749119
If the system is running without an operator overnight then why bother with a grid at all? Manipulate the records directly in code and only pop data into the grid when a query is made. It'll be both cleaner and faster as well as more conservative of system resource.

M
0
 
LVL 2

Expert Comment

by:Sage020999
ID: 2749152
What I would actually do here is use a Farpoint list box in virtual mode.  It doesn't bog down your system.  If you use a few text boxes, you can then search through the data in seconds.  If you use a regualar list or spread, you will have to go to sleep before you finish your loading.  If you decide to go this method, let me know.  It took me a few hours to master the virtual search mode, but it is definitly the way to go.
0
 

Expert Comment

by:rudiger
ID: 2749327
Ever heard about this one:

Janus GridEx
http://www.hallogram.com/gridex/

Maybe worth taking a look...

Rudi
0
 

Author Comment

by:psm0900
ID: 2753625
Rudi,

I went to the address you listed.  The product has no documentation available beyond the basic sales pitch.
Really, there is nothing in the pitch that would make me investigate the product and nothing that I could take to my management and go, "Hey, I want to investigate this because it might do what I need.  Can I charge the $300 on my corporate card and if it doesn't work we can return it."  

So far, the best response was from Sage and hes.

I was really hoping that VB had another control as opposed to a 3rd party option.

Sorry, but with the information I can access at this time I cannot accept this answer.

Thanks for trying!
Phil
0
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 

Author Comment

by:psm0900
ID: 2753716
mark2150,

I am the user that has to weed through that much data.

The company I work for developed an in-house software auditing tool.  We have a rather unique situation in that in half of our company there are only three types of computer configurations and each configuration has a specific set of software that is loaded.  The system takes a list of the "allowed" executables and compares it against every computer of the specific type.  It keeps track of missing executables, out of date executables, and unknown executables.  That data is returned to my server - the central communication point for this type of information.

There are 800 servers, 6000 workstations of type "1" and 6000 workstations of type "2".  So, I am dealing with nearly 13000 machines.

I wrote a program to take the compiled data from the 800 servers and split it into several different categories - the most important one being "unknown".  An executable is tagged as unknown if it is not in the list of allowed executables.  Yes, that is a big limitation.  No we cannot do COM/DCOM at this time - 700 of the sites are independent systems that have no usable connection for such an application.  The system that the 13000 units run is still in developement - it was designed to be implemented in three large stages .. stage 1 had core functions, stage 2 added more features, stage 3 will go further.  So, there are a lot of updates that go out.  If I don't get the allowed lists updated and distributed on time then I can have a LOT of data to sift through from the audit.  For example, a recent release sent out 10 new executables that reside on the workstation - that is 120000 unknown records.  I have a way to prevent the 10 new executables from appearing in the next audit (if I dont get the new list out in time) but it doesnt help the current audit.

So, at times I am faced with sifting through 100,000 records or more.  This particular audit has 153000 records.  The flexgrid I was using had 3 fields, two of which were crtiical (the workstation name and the unknown file) - I did change the program to only use the two critical fields.  This time I was able to fit the datafile into the grid.  I use the grid program to remove all occurences of a selected executable - deleting 12000 records in 30 seconds by a click is much faster than by hand.

In four years, we have nearly trippled in size (2.7 times larger).  We will continue to grow in the future.

There is also a problem of the basic data collection classifying an executable in the list of allowed executables as an unknown.  I did not write that part of the system.  The person who wrote it is dead (died 3 months ago of heart attack) and he left no notes on his design.  I am currently juggling 12 projects and there is not time to go back and tweak the basic system in the next 12 months.  We do the software audits weekly.  Since I cant change the data collection and evaluation on the server side then I must change how I process the returned data.  

Since I can make the system work in its current form there is no motivation to redesign the system.  There are many other more important projects/tasks/improvements that must be completed.

Provided that I can manipulate the data set I can eliminate the misclassified items within 30-40 minutes leaving just the unknown items to investigate.  Since we audit weekly the real unknown list is very small and managable.

I worked around the 350000 cell limitation before by writing a small program to split the text file in half.  But that means I have to edit two files then.

Yes, there are a lot of things that could be done to make the system better - at the moment I can only do "quick fixes".  Putting all the data into MSSQL would take time and I would still have to design new programs to manipulate the data from SQL.  Time keeps being the critical item.

As I said, I modified my "remove item" program so that it handles 175000 records now.  When I get some spare time I plan to combine the data (workstation name and unknown executable) into one field but then I have to modify the searches and other bits.  Again, time is the problem.

Thanks for your suggestions
Phil


0
 

Author Comment

by:psm0900
ID: 2753725
Does anyone know of a control that comes with VB, NT 4.0 Server, BackOffice, Visual Stuido 6.0 Enterprise edition, that can handle more than 350000 cells?

If not then I will accept the answer from Sage and Hes.  Sage knew the product and Hes gave me the URL.  That product looks perfect ... now can I get my management to pay the cost to get the control?  Everyone knows uppermanagent - free is best!  And I fear that a special control to make my job a bit easier would not be a major selling point.  

Thanks again
Phil
0
 
LVL 38

Accepted Solution

by:
PaulHews earned 200 total points
ID: 2755374
Good old Grid32.ocx which is in the tools folder on the VB 5.0 distribution CD.  I set the rows and cols to 1000 each and was able to add to the text property right out to both extents. (I didn't load the whole grid, just one row and one column.)  Then I set the rows to 10000 and cols to 1000 and re-ran the program.  I am typing this even as I am waiting for the form to load.

.... 2 minutes later, there it is!
0
 
LVL 1

Expert Comment

by:yfang
ID: 2757456
Have you checked about "True DBGrid" developed by APEX Software Corporation.  This should be better than MSFlexgrid, but I have no idea how many cells it can handle.  I checked the manual and did not find any limitation on the number of cells.  Here is their contact information:

800-858-2739
412-681-4343
www.apexsc.com
0
 

Expert Comment

by:martingp
ID: 2767300
The BEST grid ever made as far as flexibility, maintainability and performance goes is the award winning VSFlexGrid Pro by VideoSoft. It supports everything you could ever ask for and it's fast!

You can acquire it at www.videosoft.com
0
 
LVL 3

Expert Comment

by:darinw
ID: 2775398
Reviewing question.

darinw
Customer Service
0
 

Author Comment

by:psm0900
ID: 2777135
PaulHews has given the best answer so far.  I am awarding him the total points.

I also appreciate the responses from Safe, hes, yfang and martingp.  I am awarding 50 points for those answers.  Just go to the question with your name.

Thanks for all the help
Phil
0
 

Author Comment

by:psm0900
ID: 2777140
martingp,

In my opinion, PaulHews has provided the best answer so i am awarding this question to him.  I really appreciate your suggestion and have created a question to award you partial points.

Thanks again
Phil
0
 

Author Comment

by:psm0900
ID: 2777144
Thanks for the answer!
Phil
0
 
LVL 3

Expert Comment

by:darinw
ID: 3162221
Hello everyone,

Experts, please view the appropriate question and post an answer/comment to get your part of the point split.

rudiger - post an answer to:
http://www.experts-exchange.com/jsp/qShow.jsp?ta=visualbasic&qid=10595802

hes - post an answer to:
http://www.experts-exchange.com/jsp/qShow.jsp?ta=visualbasic&qid=10595781

Sage - post an answer to:
http://www.experts-exchange.com/jsp/qShow.jsp?ta=visualbasic&qid=10595761

darinw
Customer Service
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Introduction I needed to skip over some file processing within a For...Next loop in some old production code and wished that VB (classic) had a statement that would drop down to the end of the current iteration, bypassing the statements that were c…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now