Thomas, Do you have any code examples?
Jay On Tue, Feb 23, 2010 at 2:22 PM, [email protected] <[email protected]>wrote: > > > How would I go about programming the array code to say.....if > SplitString(1)(which is customer name) is equal to textbox, then add > Splitstring(2)(Which is the equipmentNumber) to the combo box add item list? > > I've done that below, but each time that code is preformed it is just > re-reading the file, how do I get it to read from the array? > > .....OR am I confused? > > btw, thanks for the WaitCursor code, looks cool and works well. > > > --- In [email protected] <nsbasic-ce%40yahoogroups.com>, > "joespan123" <j...@...> wrote: > > > > If you want to indicate to the user that it is doing something then use > the following: > > > > WaitCursor(True) > > > > do you stuff here > > > > WaitCursor(False) > > > > This will display the standard twirly 4 quadrant busy cursor. > > > > > > In my application I also have data files that are huge and the > application requires to re-read the files each time as you have adopted. > > > > Depending on the data size, I opted to read the whole data into memory > and store it in Arrays at the beginning of running the application. It may > take a few minutes to read it in, but after that when they search it just > searches through the Array in memory and is 10000% faster than performing a > search reading through a file each time. > > > > > > Cheers > > Joe > > > > --- In [email protected] <nsbasic-ce%40yahoogroups.com>, > "bigpete@" <bigpete@> wrote: > > > > > > Hey, Thanks for all the reply's. Only been using this about two weeks > now and never done programming before. > > > Not using the Inert command does not speed it up much, it inserts about > another 100 recs per minute. Would take 45 mins to insert all 30,000 recs > > > > > > What I doing now is giving the user the option to select the "customer" > from a list .ie (C0AAA006) and then using a File.Find command to search the > file for matching records. The code looks something like this > > > > > > > > > Do > > > pos = File.Find(ClientName) > > > If pos >= 0 Then > > > rec= file.readtext(-3) > > > SplitString = Split(rec,",") > > > EquipmentNumber = Split( SplitString(2),"""") > > > > > > combobox1.AddItem EquipmentNumber(1) > > > File.Pos = File.Pos + 1 > > > Loop Until pos < 0 > > > End If > > > > > > With this code it searches the entire file for a record that matches > what was typed in the textbox "ClientName" > > > > > > Then it populates a combo box with the Equipment Numbers that are apart > of the records that have the client name match the textboxes client name. > > > Luckly this only takes about 3 minutes to search the entire 30,000 > record file....BUT I still ran into a problem > > > > > > The program "hangs" while it is doing its search, which is > understandable. What i would like to know is if there is a way to display to > the user that the records are being read and the program simply isn't just > "frozen" > > > > > > I tried to add a "i = i + 1" and display the count of records being > read in a label so the user atleast knows something is going on, but that > does not seem to work. > > > > > > Is there a way to display any sort of message or notifier to the user > while the program is doing its "File.Find" command? > > > > > > > > > > > > --- In [email protected] <nsbasic-ce%40yahoogroups.com>, > Thomas Gruber <computerhusky@> wrote: > > > > > > > > Hello, > > > > I assume that the 1st value you insert is some sort of key in the > database table? Is it indexed/unique? It may be worth removing the index > before the insert, inserting the 30.000 records, then re-creating the index, > if you can be sure that the values are all unique and no REPLACE operation > will take place. Also, do you need "INSERT OR REPLACE", or can you just use > INSERT, in other words can you be sure you never want to replace a record? > If that's the case it may save some time, as there's no need for the system > to check for an existing record, and update the index for every record. > > > > Kind regards > > > > Thomas > > > > > > > > Am 23.02.2010 um 08:37AM schrieb bigpete@: > > > > > > > > > Yes, with some testing it is the INSERT that is slowing it down... > A LOT. Without the insert the file with 30,000 records gets read within 5 > minutes. > > > > > > > > > > Yes the quotes are always present. > > > > > > > > > > Is there no faster way to INSERT records from a text file to the > database? > > > > > > > > > > --- In [email protected] <nsbasic-ce%40yahoogroups.com>, > "joespan123" <joes@> wrote: > > > > > > > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > Are you sure that reading the file is the slowest part. > > > > > > > > > > > > I would think that performing the INSERT to the database would be > slowest part. > > > > > > > > > > > > The use of "Split" may be a slow function call. > > > > > > > > > > > > Can you guarentee the quotes are all ways present, if so you may > be able to use the "Mid" function to strip off the quotes. > > > > > > > > > > > > > > > > > > Also I use the "file.LineInputString()" to read a line from a > file, maybe try using that to see if it is faster than "File.ReadText(-3)". > > > > > > > > > > > > Cheers > > > > > > Joe > > > > > > > > > > > > --- In [email protected] <nsbasic-ce%40yahoogroups.com>, > "bigpete@" <bigpete@> wrote: > > > > > > > > > > > > > > I have a file with This type of record > > > > > > > > > > > > > > 1,C0AAA006,"AAA MOBILE STORAGE(ON)",,,,,,,,,,,,0001,,,,,, > > > > > > > > > > > > > > > > > > > > > > > > > > > > Now I have this following code > > > > > > > > > > > > > > Do > > > > > > > recs = File.ReadText(-3) > > > > > > > SplitRecs= Split(recs,",") > > > > > > > NoQuotes = Split(def(2),"""") > > > > > > > > > > > > > > i = i+1 > > > > > > > txtrecords.Text = i > > > > > > > cmd="INSERT OR REPLACE INTO ""NameDB"" VALUES( """ & > SplitRecs(1) & """,""" & NoQuotes(1) &""")" > > > > > > > showstatus SplitRecs(1) & " - " & NoQuotes(1) > > > > > > > > > > > > > > > > > > > > > It takes a while for the file to get read in (About 5 minutes > to read 1000 records :s) > > > > > > > > > > > > > > Is there a way that I can get File.ReadText or some other way > to only read the first 3 piece of data after the comma's... 1,C0AAA006,"AAA > MOBILE STORAGE(ON)"???...instead of the entire line. I think that may speed > up the searching. This file has about 30,000 records. > > > > > > > > > > > > > > OR is there another way I can get that data from a file read > into the SQL lite database? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- Jay Young http://www.multiviper.com -- You received this message because you are subscribed to the Google Groups "nsb-ce" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nsb-ce?hl=en.
