Howard,
I guess I have some more learning to do. I ran your func and got 51 items to screen. I added my
db items to your function and now get 26 to db and 51 to screen. Maybe you could look at code again please.

code:
 $DBpath = "\\fdadmfs1\inventory$$\swinv.mdb"
If Exist("$DBpath") = 0 ? "Database Not Found. Aborting..."
Sleep 3
Goto end
EndIf
$CNstring = "provider=microsoft.jet.oledb.4.0;data source=$DBpath;persist security info=false"
$CMDtxt = "select * from Inventory"
$cn = CreateObject ("ADODB.Connection")
$cmd = CreateObject ("ADODB.Command")
$rs = CreateObject ("ADODB.RecordSet")
$cn.connectionstring = $CNstring
$cn.Open
$cmd.activeconnection = $cn
$rs.cursortype = 3
$rs.locktype = 3
$rs.activecommand = $cmd
$cmd.commandtext = $CMDtxt
$rs.Open ($cmd)
Gosub GetInfo
Return
:GetInfo
Function GetUninstallInfo()
Dim $Index, $Key, $RC, $Value, $RootKey
Dim $progs[0]
$Index = 0
$RootKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
$Key = EnumKey($RootKey, $Index)
While @Error = 0
ReDim PRESERVE $progs[$Index]
$RC = EnumValue($RootKey + $Key, 1)
If @Error = 0
$Value = ReadValue($RootKey + $Key, "DisplayName")
If $Value = ""
$Value = ReadValue($RootKey + $Key, "QuietDisplayName")
If $Value = ""
$Value = $Key
EndIf
EndIf
Else
$Value = $Key
EndIf
$progs[$Index] = $Value
$Index = $Index + 1
$Key = EnumKey($RootKey, $Index)
Loop
$GetUninstallInfo = $progs
EndFunction
$array = GetUninstallInfo()
$i=0
For Each $item in $array
$rs.addnew
$rs.fields.item("computername").value = @WKSTA
$rs.fields.item("program").value = $item
$rs.fields.item("date").value = @DATE
$rs.fields.item("time").value = @TIME
$rs.update
? "$i: $item"
$i = $i +1
Next
$rs.Close
Return
:END



[ 24 May 2002, 17:44: Message edited by: CLPowell ]
_________________________
Chris Powell
Fire Technology Manager