IMinute.UpdateRowsFromDatabases Method

Updates specified rows when they come from article databases.
Sub UpdateRowsFromDatabases( _ 
ByVal firstRow As Integer, _ 
ByVal lastRow As Integer, _ 
ByVal fieldsToUpdate As List(Of String), _ 
Optional ByVal identifierFields As List(Of String) = Nothing, _ 
Optional ByVal allowedDatabases As List(Of String) = Nothing _ 
)
This language is not supported or no code example is available.
void UpdateRowsFromDatabases( 
int firstRow
int lastRow
List<string> fieldsToUpdate
List<string> identifierFields = Nothing, 
List<string> allowedDatabases = Nothing 
)
This language is not supported or no code example is available.

Parameters

firstRow
int

The first row to update in the minute (1-9999).

lastRow
int

The last row to update in the minute (1-9999).

fieldsToUpdate
List<string>

A list containing mnemonics of fields to be updated. They will be updated when they also exist in article databases.

identifierFields
List<string>

A list of fields which must be identical in the database and in the estimate to enable the update. When omitted, only the Reference field is taken into account. You can add Description, Manufacturer, Family and UserDefinedField. Only those fields are supported.

allowedDatabases
List<string>

When omitted, rows coming from any database is updated. You can list databases which should be taken into account as they appear in 'DatabasePath' and 'DatabaseSource' fields of the minute rows. The format must be as follows (the path number must have two digits): '01 - MyDbToInclude.qdb'.

Exception type Condition

QdvApiException

A problem occurred.

Remarks
 

This method requires the internal cache to be up to date, which is ususally the case, but there are some exceptions and you need to refresh it manually, see below.

Some methods use the internal cache for retrieving the minutes data. This is for performance reasons, especially, when one minute is accessed multiple times. These are (let's name them group 1): 
GetFieldValue
SetFieldValue
SetFieldValue
UpdateValuesConditionally
IEstimateVersion.UpdateMinuteValues.

And there are some methods that modify the minutes data, but they don't update the internal cache for performance reasons. These are (let's name them group 2): 
ClearRowValues
DeleteRow
InsertRows
InsertSetAtRow
InsertSetAtRow
GroupRows
UngroupRows
UpdateRowsFromDatabases.

So if you use the methods from group 2, you should update the internal cache manually before you call any method from the group 1. The cached data can be updated and retrieved with GetFullData method. You can update the cache also with the IWbs.Refresh method, but is it slower, because it does much more work.

See IMinute documentation for details about hidden "FreeField" field.

function to get info about these tasks. GetMultipleTaskInGanttAssignation field refers to only one task, the function returns a string which contains the unique description of the task. When the TaskInGantt field refers to several tasks, the function returns "<Multi>". Then you have to use the TaskInGantt When the

For historical reasons, this method doesn't throw any exception in case of any error. Instead, the error will be stored as a global error (if it was empty) in IGlobalErrors

Version
 
Available since QDV 7.13.0001.

.NET Framework

Supported in: 4.8, 4.7, 4.6, 4.5.2

In this article

Definition