Solved

Checking for duplicate within a 2 dimensional static array

Posted on 2004-04-13
6
256 Views
Last Modified: 2010-04-17
Hi, I'm trying to ask the user to enter a bookid within a text box.  But I want to verify that the entry hasn't been made.  It would caompre against the bookarray(arrayindex, 0) within the 2 dimensional array of records and if it isn't there, then go to the bottom and then add to the array the new entry.....
The array index was declared at the beginning of Dim bookarray(50, 5) As String.  Need some help. Thanks


Public Sub Readbookfile()
   
    arrayindex = 1
    Do While Not EOF(1)
        Input #1, strBookid, strBooktitle, strCat, strAuthor, strCost, strFlag
           
        bookarray(arrayindex, 0) = strBookid
        bookarray(arrayindex, 1) = strBooktitle
        bookarray(arrayindex, 2) = strCat
        bookarray(arrayindex, 3) = strAuthor
        bookarray(arrayindex, 4) = strCost
        bookarray(arrayindex, 5) = strFlag
        arrayindex = arrayindex + 1
    Loop
    Close #1
   
End Sub
0
Comment
Question by:PhenominAL
  • 4
  • 2
6 Comments
 
LVL 5

Accepted Solution

by:
drnick earned 250 total points
ID: 10820680
dim d as boolean
dim i as integer

d = false
for i=0 to 49
if( instr(1, bookarray(i, 0), Trim(strBookId), Text) = 0) then
 d = true;
 break;
 end if
next

if not d then

'insert

else

'already there

end if
0
 

Author Comment

by:PhenominAL
ID: 10821756
Could that be integrated into a DO WHILE LOOP? Or am I complicating it?
0
 

Author Comment

by:PhenominAL
ID: 10821764
such as ...

Private Sub AddRecord()
Dim Addbookid As String
       
        txtBookInfo(0).Text = Addbookid
        arrayindex = 1
       
        Do While Addbookid <> bookarray(arrayindex, 0)

just wanted to know if i'm starting on the right foot....



0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:PhenominAL
ID: 10821871
and I would want to add it to the last spot in the array using the ubound(bookarray(arrayindex))
0
 
LVL 5

Expert Comment

by:drnick
ID: 10823265
no, to do-looping would be ok

that last-spot-adding:
it would maybe a good idea to resize the array by using redim with preseve before going ubound
0
 

Author Comment

by:PhenominAL
ID: 10826298
Really? I thought REDIM and PRESERVE were only for dynamic arrays...how would you use them for static arrays?
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

919 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

17 Experts available now in Live!

Get 1:1 Help Now