Charlie,
I am not sure I interpreted your explanation correctly but I might be doing something very similar. I have a database that tracks equipment, each piece of equipment is made up of numerous components. When you enter a record for a specific piece of equipment there is a tab that has all components listed. You can choose either Complete. Need or unknown for each component that makes up this piece of equipment. Every time you select need it adds that item to a tab on the form that is a list of needed components. It then automatically does a lookup to my parts vendor database and lists the approved vendor, price and lead time needed for items. It keeps a running total at the bottom so we can identify the total cost to get that piece of equipment running. We then have a button that prints this data out as a service tag with barcode tracking number that stays with the unit or can be used as a purchase order tool. It does almost the same thing for all parts marked unknown; just on a separate tab. below is the subroutines I use to achieve most of this. I am sure there are probably other ways to do what I am doing (probably even better) but this works for me. Just like you I am not a programmer, however Erika and the Lantica team have taught me that anything can be done by the most inexperienced user by just taking your time and breaking the task down into many many steps and just worry about one step at a time. I am not good at posting pictures but if you want I can e-mail screen shots to you. The reason I used the subroutine was because as long as my element name matches my inventory name the only thing I need to do is add the element to my form and it automatically gets added to the entire process. This makes for easy parts additions.
Keep us posted on how your project is going.

Robert
P.S. I agree with you Sesame is great!
P.S.S. you do not need to worry about all the @replace code you see below. I needed that for my lookups because my parts database is derived from my vendors inventory database that I constantly use to replace my parts databse and they have a funky format.
Subroutine PartsStatus() // updates parts needed and unknown
// Declare Variables
Var vElements as String
Var vCnt as Int
Var vLoop as Int
Var vName as String
Var vNlist as String
Var vlabel as String
Var vlabel1 as String
Var vvendor as String
Var VVenPartNum as String
Var VVenCost as Double
Var Vline as String
Var Vtotal as Double
Var VtotalUknown as Double
// Set Variables
vnlist = ""
eqp_partsNeeded = ""
eqp_partsUnknown = ""
vvendor = ""
VVenPartNum = ""
VVenCost = ""
Vtotal = 0
VtotalUknown = 0
vElements = @StringArrayElementList() // Reads all my elements
vCnt = @CountStringArray(vElements) // counts the anount of elements so my loop knows how many times to run
vLoop = 0
While vLoop < vCnt
{
vLoop = vLoop + 1
vName = @AccessStringArray(vElements, vLoop)
SetThisElement(vName)
vlabel = @label(thiselement) // this gets the label name and assigns it to Vlabel
//writeln(velements)
//writeln(thiselement + " " + Vlabel) // lists contents of all elements
//writeln(Vname + "stop") // lists all element names
If Thiselement = "need" Then
{
//writeln(thiselement + " " + Vlabel) // lists contents of all elements
vlabel1 = @replace(vlabel, "\" , "\\")
vlabel1 = @replace(vlabel1, ")" , "\)")
vlabel1 = @replace(vlabel1, "(" , "\(")
vlabel1 = @replace(vlabel1, "/" , "\/")
vlabel1 = @replace(vlabel1, "-" , "\-")
vlabel1 = @replace(vlabel1, "." , "\.")
vlabel1 = @replace(vlabel1, "&" , "\&")
vlabel1 = @replace(vlabel1, "+" , "\+")
//Writeln(vlabel1)
Vvendor = @XLookup(@fn, Vlabel1, "VenEqpTrak!VenEqp_partName", "VenEqp_partVendor")
VVenPartNum = @XLookup(@fn, Vlabel1, "VenEqpTrak!VenEqp_partName", "VenEqp_vendorpartNum")
VVenCost = @XLookup(@fn, Vlabel1, "VenEqpTrak!VenEqp_partName", "VenEqp_vendorpartCost")
Vtotal = Vtotal + @tomoney(vvencost)
Vline = Vlabel + " - " + Vvendor + " - " + VvenPartNum + " - " + FormatMoney(VvenCost)
eqp_partsNeeded = eqp_partsNeeded + @newline() + vline
Eqp_TotNeedCost = Vtotal
Eqp_TotalCost = Eqp_TotNeedCost + Eqp_UknownNeedCost
//writeln(vnlist)
}
// ********************
If Thiselement = "Unknown" Then
{
vlabel1 = @replace(vlabel, "\" , "\\")
vlabel1 = @replace(vlabel1, ")" , "\)")
vlabel1 = @replace(vlabel1, "(" , "\(")
vlabel1 = @replace(vlabel1, "/" , "\/")
vlabel1 = @replace(vlabel1, "-" , "\-")
vlabel1 = @replace(vlabel1, "." , "\.")
vlabel1 = @replace(vlabel1, "&" , "\&")
vlabel1 = @replace(vlabel1, "+" , "\+")
//Writeln(vlabel1)
Vvendor = @XLookup(@fn, Vlabel1, "VenEqpTrak!VenEqp_partName", "VenEqp_partVendor")
VVenPartNum = @XLookup(@fn, Vlabel1, "VenEqpTrak!VenEqp_partName", "VenEqp_vendorpartNum")
VVenCost = @XLookup(@fn, Vlabel1, "VenEqpTrak!VenEqp_partName", "VenEqp_vendorpartCost")
VtotalUknown = VtotalUknown + @tomoney(vvencost)
Vline = Vlabel + " - " + Vvendor + " - " + VvenPartNum + " - " + FormatMoney(VvenCost)
eqp_partsUnknown = eqp_partsUnknown + @newline() + vline
Eqp_UknownNeedCost = VtotalUknown
Eqp_TotalCost = Eqp_TotNeedCost + Eqp_UknownNeedCost
}
}
UnSetThisElement()
Throwfocus(nothing)
End Subroutine
Subroutine StatChoices() // choices for equipment itiem status
var Str1 as string
var Str2 as string
// If @isblank(ThisElement)
If ThisElement <> "Complete"
Then
{
PopupSelectPosition(4, @XPos(thiselement), @YPos(ThisElement) )
str1 = "Need;Unknown;Complete"
Str2 = @popupmenu(Str1, "please Select")
ThisElement =Str2
}
End subroutine