Dunno vb script, but this is a way to do it pretty easily; Didn't test this at all so not sure if it works, the logic should, but I'm not sure about the code. Either way, it'll get you on the right path hopefully.
Outside the main class:
Code:
Class Gift
{
Public String Name;
Public String Side;
Public String Gift;
}
In the main class
Code:
List<Gift> GiftList = new List<Gift>();
//I'll leave it to you to get the name, side, and gift from the user.
private void addGift(String name, String side, String gift)
{
Gift newGift = new Gift()
newGift.Name = name;
newGift.Side = side;
newGift.Gift = gift;
GiftList.Items.Add(newGift);
}
private void searchName(String Name)
{
foreach(Gift item in GiftList)
{
if(Name != item.Name) continue;
//Output code here
MessageBox.Show(item.Name +", " + item.Side + ", " +item.Gift")
}
}
private void searchGifts(String Name)
{
foreach(Gift item in GiftList)
{
if(Name != item.Gift) continue;
//Output code here
MessageBox.Show(item.Name +", " + item.Side + ", " +item.Gift")
}
}
etc etc etc.
All you have to do is in the search loop, include another param named Side, for example. If (Side != item.Side) continue; under the one thats already there. Make it a conditional param and search and you can do it all in one function. Super simple broski.
Hope I understood everything right and hope this helps you.