DataEntry.SearchSamples
Syntax | Parameters | Return Value |
---|---|---|
Function DataEntry.SearchSamples( _ Option As SampleSearchOptions) As Samples |
Option [in]
The filtering options to search with. Type: SampleSearchOptions |
Samples |
SVB Example
Data Entry Example 10: Searching samples for a pattern:
Sub Main Dim oOM As New ObjectManager 'Reconnect into Enterprise oOM.Reconnect Application 'We will search the samples by first specifying what to search for. Dim searchInfo As New SampleSearchOptions 'Search for only approved and completed samples searchInfo.IncludeApprovalAndCompleteData = True searchInfo.CompleteStatus = swcSampleCompleted searchInfo.ApprovalStatus = swcSampleApproved 'If you wish to include sample labels in the search results then specify that here searchInfo.AddSampleLabel(oOM.Labels("/Blake's Materials/Bakeries")) 'The data entry setup that we wish to search through searchInfo.Profile = oOM.Profiles("/Blake's Materials/Bread Measurements") 'Searching requires a separate connection searchInfo.UseSeparateConnection = True 'Launch the search Dim foundSamples As Samples Set foundSamples = oOM.DataEntry.SearchSamples(searchInfo) 'A message that we will format for our output report Dim rptMsg As String, bakeryMismatch As String rptMsg = "Approved Samples with Unreasonable Entries:" + vbCrLf + _ "---------------------------------------------------" + vbCrLf Dim currentSample As Sample Set currentSample = foundSamples.Next 'connect to the first sample in the search results 'Store our reasonable low and high values for performance Dim reasonableLow As Double, reasonableHigh As Double reasonableLow = oOM.Characteristics("/Blake's Materials/Grain Level").ReasonableLow reasonableHigh = oOM.Characteristics("/Blake's Materials/Grain Level").ReasonableHigh 'Iterate through the search results. Here, we will make a report of all unreasonably low grain-level 'measurements that were approved. We will list the sample ID, the baker, the approver, and the unreasonable 'grain level. While Not(currentSample Is Nothing) Dim i As Long For i = 1 To currentSample.Data.Pieces.Count Dim grainValueEntry As Double grainValueEntry = currentSample.Data.Pieces(i).FindCharData(oOM.Characteristics("/Blake's Materials/Grain Level")).Value If grainValueEntry < reasonableLow Or _ grainValueEntry > reasonableHigh Then rptMsg = rptMsg & "Sample #:" & Trim(Str(currentSample.ID)) & vbTab & _ "BAKER: " & currentSample.Data.Pieces(i).FindLabelData(oOM.Labels("/Blake's Materials/Bakers")).Value & vbTab + _ "APPROVER: " + currentSample.Approver & vbTab & _ "(VALUE=" & Trim(Str(grainValueEntry)) & ", reasonable range is " & _ Trim(Str(reasonableLow)) & "-" & _ Trim(Str(reasonableHigh)) & ")" & vbCrLf End If Next Set currentSample = foundSamples.Next Wend 'Show our report. If running this after the "Entering data samples" example, 'you will notice a rather odd pattern: Blake approved 3 samples where Gabi 'was the baker and she had an unacceptable bread mixture. 'Also, two mixtures had the same grain level (3), which is a strange coincidence. 'What is even more odd is that these samples were from different bakeries--the same baker can't be 'at 3 bakeries. We have discovered an interesting pattern in our samples that may 'warrant a further review. Dim rpt As New Report rpt.SelectionText = rptMsg rpt.Visible = True oOM.Disconnect End Sub
Copyright © 2020. Cloud Software Group, Inc. All Rights Reserved.