Visual Basic Q&A

As a software engineer, I focus on .NET, especially asp.net, C#, WCF and so on, and I am also very interested in Search Engine Optimization.

Entries Tagged ‘run time error’

BUG: Run-Time Error 380 “Invalid Property Value” with MaskEdBox

Symptoms
With Microsoft Visual Basic 4.0, when you set the Text property of a MaskEdit control at run-time, you receive the following error.

Run-time Error 380:
Invalid Property Value
Resolution
This error occurs under the following circumstances:
The Visible property of the Mask Edit control is set to False atdesign-time.
-and-A later version of MSMASK32.OCX is installed. The error occurs withMSMASK32.OCX version 5.00.3714, which ships with Microsoft Visual Basic5.0.

BUG: No Data Source Name Generates Run-Time Error Using RDC

Symptoms
When using Microsoft’s Remote Data Control 2.0 (RDC) without a User orSystem DSN in the ODBC Data Source Administrator, trying to set the RDC’sDataSourceName property generates a run-time error.
Resolution
Create a DSN under ODBC or upgrade from MSRDC20.ocx version 5.00.3714 (or5.01.4319), which is “Microsoft Remote Data Control 2.0,” to MSRDC20.ocxversion 6.00.816, which is “Microsoft Remote Data Control 6.0.”

BUG: Error “Row Cannot Be Located for Updating” If You Change Numeric Field in ADODC Recordset

Symptoms
If an ActiveX Data Objects data control (ADODC) is bound to a Microsoft Access table that specifies a default value for the numeric field, when you take the following actions:Add a new record to the ADO recordset, which the ADODC exposes, without entering a value for that numeric field.Update the recordset.Type a value into the numeric field (either directly into the Recordset field or into the corresponding DataGrid cell) in that same newly-added record.Update the recordset again.the following run-time error is raised with error number -2147217864 (80040e38) or 6153:

Row cannot be located for updating. Some values may have changed since it was last read.If a DataGrid control is bound to the ADODC, the same error message usually appears a second time without an error number in a dialog box that is entitled “Microsoft DataGrid Control.”
Resolution
To resolve this problem, remove the default value that is specified for the numeric field in the Access database table.
Alternately, you can run an UPDATE statement on a separate ADO Connection object to update the numeric field in the newly-added record directly in the database and then refresh the ADODC.

BUG: Data Control NoMatch Equals True Returns Error

Symptoms
When the NoMatch method of the Data Control returns “True,” the Seek methodwill report a run-time error “No Current Record.”
Resolution
The user can work around this problem by trapping the Data Control’s errorevent and repositioning to an existing record after the seek failure.

PRB: Executing Refresh Method of ADO Data Control Causes Syntax and Method Refresh Errors

Symptoms
When you set the RecordSource property of an ADO Data Control to a different SQL SELECT statement and then try to execute the Refresh method, the following error is returned:

Syntax error in FROM clause.which is followed by:

Run-time error ‘-2147217900(80040e14)’:
Method ‘Refresh’ of object ‘IAdodc’ failedor:

Method ‘Refresh’ of object ‘IAdodc’ failed when attempting to refresh an ADODC after setting the recordsource property to another value.The errors occur if the CommandType property of the ADO Data Control is set to adCmdTable.
Resolution
When the CommandType of the ADO Data Control is set to adCmdTable, “SELECT * From” is automatically prepended to the RecordSource value.
Setting the RecordSource to a table name results in a valid SQL statement, such as SELECT * FROM Tablename.
Setting the RecordSource to a SQL SELECT statement, such as Select * From Tablename, results in a SQL statement ofSelect * From Select * From Tablename, which is an invalid SQL statement.

PRB: Error When You Update or Delete New Rows in Access 97 Table

Symptoms
When you use ADO to edit and then update or delete newly added records in a Microsoft Access 97 table, you may receive the following error message when you call the Update method:

Run-time error ‘-2147217864 (80040e38)’:
Row cannot be located for updating. Some values may have been changed since it was last read.This error message may also occur when you edit or delete newly added records in a DataGrid control. The DataGrid control issues an Update behind the scenes when you move to another row.
NOTE: This error does not occur when you edit or delete existing records.
Resolution
The Access 97 table contains an AutoNumber field, and the auto-incremented values of newly added records may not be available for the client recordset. For example, if the AutoNumber field is 5 for the new record in the table, the value of this field in the recordset is always 0. ADO uses this value to locate the record when ADO builds an Update Action Query and sends the value to the Microsoft Jet engine to perform the Update on the specified record. However, the Jet engine cannot locate the record based on that value; thus, you receive the above-mentioned error message.