Microsoft KB Archive/105540: Difference between revisions
(importing KB archive) |
m (Text replacement - """ to """) |
||
Line 64: | Line 64: | ||
== CAUSE == | == CAUSE == | ||
Recordset and Database specific properties are not available to objects passed as Control. You should replace the | Recordset and Database specific properties are not available to objects passed as Control. You should replace the "As Control" with "As Data." '''NOTE''': the Data object type is not easy to find in the Visual Basic documentation. It is, however, listed with the other possible object data types in the "Object Variables" popup on the Help menu topic, "Database Objects." Object types include CheckBox, ComboBox, CommandButton, CommonDialog, Control, Data, DirListBox, DriveListBox, FileListBox, Form, Frame, Grid, HScrollBar, Image, Label, ListBox, MDIForm, OptionButton, PictureBox, TextBox, Timer, and VScrollBar. The Professional Edition adds the following additional object types: Database, Dynaset, Field, Fields, Index, Indexes, QueryDef, Snapshot, Table, TableDef, and TableDefs. | ||
</div> | </div> |
Latest revision as of 10:02, 20 July 2020
Article ID: 105540
Article Last Modified on 10/28/2003
APPLIES TO
- Microsoft Visual Basic 3.0 Professional Edition
- Microsoft Visual Basic 3.0 Professional Edition
This article was previously published under Q105540
SYMPTOMS
Trying to reference the properties of a Recordset or Database using a data control that was passed as Control to a Sub or Function results in this error message:
In addition, passing a data control into a Sub procedure as Control may result in a general protection (GP) fault, as it does in this example:
Sub subtest (crtname As Control) crtname.UpdateControls ' Simply having this line in the code causes the GP fault. ' If you turn the line into a comment, the GP fault does not occur. End Sub
CAUSE
Recordset and Database specific properties are not available to objects passed as Control. You should replace the "As Control" with "As Data." NOTE: the Data object type is not easy to find in the Visual Basic documentation. It is, however, listed with the other possible object data types in the "Object Variables" popup on the Help menu topic, "Database Objects." Object types include CheckBox, ComboBox, CommandButton, CommonDialog, Control, Data, DirListBox, DriveListBox, FileListBox, Form, Frame, Grid, HScrollBar, Image, Label, ListBox, MDIForm, OptionButton, PictureBox, TextBox, Timer, and VScrollBar. The Professional Edition adds the following additional object types: Database, Dynaset, Field, Fields, Index, Indexes, QueryDef, Snapshot, Table, TableDef, and TableDefs.
WORKAROUND
Pass the data control as Data. For example, use the following code instead of the code shown below in the MORE INFORMATION section:
Sub MySub(d As Data) Debug.Print d.Recordset.EOF
MORE INFORMATION
The following code example gives the error message:
Sub MySub(d As Control) Debug.Print d.Recordset.EOF ' an error appears on this line '^^^ with EOF highlighted
Additional query words: 3.00 gpf
Keywords: kbprb KB105540