VB 6 Windows Media Player

This is a VB6 Windows media player that can play all kinds of media files such as wav, midi, mp3, mpeg video, avi video and more. When you launch the program, you can select media files of different types from different sources such as your hard drives, CD and even the URL of a webpage . After you have selected a particular file, you can play it using the customized button or you can use the buttons of the Windows Media Player
In this program, you need to insert the Windows Media Player Control. This control is not available in the default VB6 IDE, you have to press CTRl+T keys to bring up the components dialog, and check the Windows Media Player then click OK. In addition, you need to insert Microsoft Common Dialog Control 6.0 into the form. This control is also not available in the default IDE, press CTRL+T to bring up the components windows and check on this control.
Now you are ready to design the player's interface. First, drag the Windows Media Player control into the form and reside it to a certain size. Set its fullScreen property to false. Next, insert Microsoft Common Dialog Control 6.0 in the form and then insert five command buttons in the form. Change the caption of first button to Open, second one to Play, third one to Close, fourth one to Exit and the last one to Full Screen. Finally, insert a text box for the purpose to display the URL of the selected media file.
For the Open command button, change its name to cmdOpen and enter the following codes:

Private Sub cmdOpen_Click()
Me.CommonDialog1.Filter = "WAV Files (*.wav)|*.wav|" & "MP3 Files (*.mp3)|*.mp3|" & "MP4 Files (*.mp4)|*.mp4|" & "Video Files (*.avi)|*.avi|" &"MPEG Files (*.mpg)|*.mpg|"
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
End Sub
For the Play button, change its name to cmdPlay and enter the following codes:
Private Sub cmdPlay_Click()
WindowsMediaPlayer1.URL = Text1.Text
End Sub
For the Stop button, change its name to cmdStop and enter the following codes:
Private Sub cmdStop_Click()
WindowsMediaPlayer1.Close
End Sub
For the Full Screen button, change its name to cmdMax and enter the following codes:
Private Sub cmdMax_Click()
WindowsMediaPlayer1.fullScreen = True
End Sub

Now run the program and click on the Open button. A dialog box will appear that allows you to choose your media files. After selected the file and click on the Play button.

Visual Basic 6.0 Interview Questions and Answers



1. What are the three main differences between flexgrid control and dbgrid(Data bound Grid) control?
Ans. The Microsoft FlexGrid (MSFlexGrid) control displays and operates on tabular data. It allows complete flexibility to sort, merge, and format tables containing strings and pictures. When bound to a Data control, MSFlexGrid displays read-only data.Adaptation to existing Visual Basic code for the data-bound grid (DBGrid).
dbgrid is A spreadsheet-like bound control that displays a series of rows and columns representing records and fields from a Recordset object.
The data grids are bound controls; that is, they require a data source that actually connects to a database and retrieves their data. And it seems that the root of the problem with DBGrid is that there’s no data source that can be readily included along with the DBGrid control.
In Visual Basic, the solution is simply to include the Data Control on the same form as DBGrid. But the Data Control is an intrinsic control; it’s unavailable to anything outside of the Visual Basic environment itself. and VB 6.0 has a new set of data controls (DataGrid, DataList, DataCombo, MSHFlexGrid, MSFlexGrid) that once again are bound controls. Unlike DBGrid, though, they support OLE DB, and therefore rely on the an ADO Data Source (and in particular the ActiveX Data Objects Data Control, or ADO DC) for data access. Unlike the Data Control, the ADO
DC is a custom control (that is, an .OCX) that can be added to any project. In short, if you add ADO DC to your project along with the
DataGrid control.
2. ActiveX and Types of ActiveX Components in VB ?
Ans. Standard EXE
        ActiveX EXE
        ActiveX DLL
        ActiveX document
        ActiveX Control

3. What is difference between inprocess and out of process ?
Ans. An in-process component is implemented as a DLL, and runs in the same process space as its client app, enabling the most efficient communication between client and component.Each client app that uses the component starts a new instance of it.
An out of process component is implemented as an EXE, and unlike a dll, runs in its own process space. As a result, exe’s are slower then dll’s
because communications between client and component must be marshalled across process boundaries. A single instance of an out of process component can service many clients.
4. Advantage of ActiveX Dll over Active Exe ?
Ans. ACTIVEX DLL:
=============
An in-process component, or ActiveX DLL, runs in another application’s process. In-process components are used by applications or other in-process components. this allows you to wrap up common functionality (like an ActiveX Exe).
ACTIVEX EXE:
=============
An out-of-process component, or ActiveX EXE, runs in its own address space. The client is usually an application running in another process.The code running in an ActiveX Exe is running in a separate process space. You would usually use this in N-Tier programming.
An ActiveX EXE runs out of process while an ActiveX DLL runs in the same process space as VB app. Also, and ActiveX EXE can be run independent of your application if desired.

5. Explain single thread and multithread thread apartments?
Ans. All components created with Visual Basic use the apartment model, whether they’re single-threaded or multithreaded. A single-threaded component has only one apartment, which contains all the objects the component provides.
This means that a single-threaded DLL created with Visual Basic is safe to use with a multithreaded client. However, there’s a performance trade-off for this safety. Calls from all client threads except one are marshaled, just as if they were out-of-process calls.

6. What is a Component?
Ans. If you compile an ActiveX dll, it becomes a component.
If you compile an ActiveX Control, it becomes both a component and a control. Component is a general term used to describe code that’s grouped by functionality. More specifically, a component in COM terms is a compiled collection of properties/methods and events.
Typically a component is loaded into your project via the References whereas an ActiveX Control is loaded into your project via “components”.

7. What is meant by “Early Binding” and “Late Binding”? Which is better?
Ans. Early binding and late binding refer to the method used to bind an interface’s properties and methods to an object reference (variable). Early binding uses type library information at design time to reference procedures, while late binding handles this at run time. Late binding
handles this by interrogating the reference before each call to insure that it supports a particular method. Since every call to a late bound
object actually requires two calls
(”Do you do this?” followed by “Okay, do it then”), late binding is much less efficient than early binding. Except where early binding is not supported (ASP, scripting, etc.), late binding should only be used in very special cases.
It is a common misconception that any code using the CreateObject function instead of Set = New is using late binding. This is not the case. The type declaration of the object variable determines whether
it is late or early bound, as in the following:
Dim A As Foo
Dim B As Foo
Dim C As Object
Dim D As Object
Set A = New Foo ‘Early Bound
Set B = CreateObject(”FooLib.Foo”) ‘Early Bound
Set C = CreateObject(”FooLib.Foo”) ‘Late Bound
Set D = New Foo ‘Late Bound
8. What are the Advantages of disconnected recordsets?
Ans. A disconnected Recordset, as its name implies, is a Recordset that lacks a connection.
seen that a Recordset that does not have a database connection can be very useful as a tool in your programming. It can save you time and effort and make your code more scalable.
In order to create a disconnected Recordset two Recordset properties must be set appropriately.
It is a requirement that the CursorLocation property is set to adUseClient and the LockType property is set to adLockBatchOptimistic. Note that the CursorType will default to adUseStatic if we don’t explicitly state that it should be set to adUseClient.) i.e
rst.LockType = adLockBatchOptimistic
rst.CursorLocation = adUseClient
However, we’ve recently discovered that these steps aren’t necessary. VB automatically assigns batch optimistic locking to newly created,
connectionless recordsets. And, of course, without a connection, a recordset can’t have any other cursor but a client-side one. To create one of these structures, then, the only thing you need do is create
the object variable instance. After that, you can simply begin adding fields to the construct.
To add fields, you use the Fields collection’s Append method. This method requires two parameters , the field name and the field data type. So, to create a connectionless recordset with two fields,you’d use code similar to:
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Fields.Append “CustID”, adVarChar
rst.Fields.Append “CustName”, adVarChar
Additional, optional Append method parameters include DefinedSize and Attrib. The DefinedSize argument takes the size of the field. Fill the Attrib parameter with constants that define additional field characteristics, such as whether it will allow null values or is updatable.
Since, in our technique, we want the fields to mirror the structure of the original recordset, we’ll simply use existing values for these parameters.
Disconnected Recordsets, first available with ADO 2.0, are the most commonly used mechanism to retrieve a Recordset and open a connection for only the necessary amount of time, thus increasing scalability. They are call disconnected because the connection to the database is closed.
The collections, properties, and methods of a disconnected Recordset are still available even though the connection is closed. This frees up server resources, given that the number of open connections is limited and database locking is a non-issue.
9. What are Benefits of wrapping database calls into MTS transactions?
Ans. If database calls are made within the context of a transaction, aborting the transaction will undo and changes that occur within that transaction.
This removes the possibility of stranded, or partial data. Transaction that uses the Microsoft® Transaction Server (MTS) environment. MSMQ implicitly uses the current MTS transaction if one is available.
BENIFTIS OF USING MTS :
Database Pooling, Transactional operations, Deployment, Security, Remote Execution This allows MTS to reuse database connections. Database connections are put to ?sleep? As opposed to being created and destroyed and are activated upon request.

10. How to register a component?
Ans. Compiling the component, running REGSVR32 MyDLL.dll
11. Controls which do not have events ?
Ans. Shape and line controls are useful for drawing graphical elements on
the surface of a form. These controls don’t support any events; they
are strictly for decorative purposes.
The image, shape and line controls are considered to be lightweight controls; that is, they support only a subset of the properties, methods, and events found in the picture box. Because of this, they typically require less system resources and load faster than the picture box control.

12. What are the Control Categories?
Ans. a)Intrinsic controls:
such as the command button and frame controls. These controls are contained inside the Visual Basic .exe file. Intrinsic controls are always included in the toolbox
b)ActiveX controls:
which exist as separate files with a .ocx file name extension. These include controls that are available in all editions of Visual Basic (DataCombo, DataList controls, and so on) and those that are available only in the Professional and Enterprise editions (such as Listview, Toolbar, Animation, and Tabbed Dialog). Many third-party ActiveX controls are also available.
c)Insertable Objects:
such as a Microsoft Excel Worksheet object containing a list of all your company’s employees, or a Microsoft Project Calendar object containing the scheduling information for a project. Since these can
be added to the toolbox, they can be considered controls.Some of these objects also support Automation (formerly called OLE Automation),which allows you to program another application’s objects from within a Visual Basic application.
13. What is the difference between Image and Picture box controls?
Ans. The sizing behavior of the image control differs from that of the picture box. It has a Stretch property while the picture box has an AutoSize property. Setting the AutoSize property to True causes a picture box to resize to the dimensions of the picture; setting it to False causes the picture to be cropped (only a portion of the picture is visible). When set to False (the default) , the Stretch property of the image control causes it to resize to the dimensions of the picture.
Setting the Stretch property to True causes the picture to resize to the size of the image control, which may cause the picture to appear
distorted.
14. What is the Default property of datacontrol ?
Ans. connect property.

15. Define the scope of Public, Private, Friend procedures?
Ans. The set of public variables, methods, properties, and events described in a class module define the interface for an object. The interface consists of the object members that are available to a programmer who’s using the object from code.
You can create private variables, methods, properties, and events that are used by other procedures within the class module but are not part of the object’s public interface. Additionally, constants user-defined types, and Declare statements within a class module must always be private.
The Friend keyword makes a procedure private to the project: The procedure is available to any code running within the project, but it is not available to a referencing project.
16. Describe Database Connection pooling relative to MTS ?
Ans. This allows MTS to reuse database connections. Database connections are put to ?sleep? as opposed to being created and destroyed and are activated upon request.
Object pooling is an important design concept required for high-performance applications. A performance optimization based on using collections of preallocated resources, such as objects or database connections. Pooling results in more efficient resource allocation.
17. What is the Difference between a function and a subroutine ?
Ans. A function accepts any number of parameters (possibly zero), does something with them, and returns a value. A subroutine is performs an action, but doesn’t return a value.
There are two differences between a function and a subroutine: A)How they are invoked. B)How they are accessed.
A function call has the following syntax ::
function(arg1, arg2, …)
where: function Is the name of the function. arg1, arg2, … Are the arguments.
A subroutine call has the following syntax
::subroutine (arg1, arg2, … {outputfield|’format’})
where: subroutine –>Is the name of the subroutine. arg1, arg2, … Are the arguments. {outputfield|’format’} Is the name of the output field or its format.
In addition, on some platforms, the functions are available immediately; whereas, the subroutines are available in a special subroutine library that you must access.
18. What is the Difference between Linked Object and Embedded Object?
Ans. Embedding objects -
When you embed an object, a copy of the object is inserted into the destination document. There’s no link to the original file. When you change information in the source document, no changes will be reflected in the destination document. The actual data for the object is stored within the destination file. To make changes to the embedded object, double click it and it will launch the original application the source file was in.
Linking objects -
Information is updated when you modify the original source file when you use a linked object. This dynamic updating is very handy for things such as the aforementioned monthly report. You can open up the Excel spreadsheet that is referenced within your Word document.Make changes to the spreadsheet, close Excel, and when you open your Word document… viola! The changes are already there. If that object is linked to ten other Word files, the changes are already in those ten files, too! actually linking or embedding an object is fast and easy.
19. What is the Difference between listbox and combo box?
Ans. A LISTBOX CONTROL displays a list of items from which the user can select one or more. If the number of items exceeds the number that can be displayed, a scroll bar is automatically added to the ListBox control. A COMBOX CONTROL combines the features of a text box and a list box. This control allows the user to select an item either by typing text into the combo box, or by selecting it from the list.
DIFF::Generally, a combo box is appropriate when there is a list of suggested choices, and a list box is appropriate when you want to limit input to what is on the list. A combo box contains an edit field, so choices not on the list can be typed in this field.
20. What is the Difference between Dynaset and Snapshot?
Ans. All Recordset objects are constructed using records (rows) and fields (columns). There are five types of Recordset objects:
Table-type Recordset:
representation in code of a base table that you can use to add, change, or delete records from a single database table (Microsoft Jet workspaces only).
Dynaset-type Recordset:
the result of a query that can have updatable records. A dynaset-type Recordset object is a dynamic set of records that you can use to add, change, or delete records from an underlying database table or tables. A dynaset-type Recordset object can contain fields from one or more tables in a database. This type corresponds to an ODBC keyset cursor.
Snapshot-type Recordset:
a static copy of a set of records that you can use to find data or generate reports. A snapshot-type Recordset object can contain fields from one or more tables in a database but can’t be updated. This type corresponds to an ODBC static cursor.
Forward-only-type Recordset:
identical to a snapshot except that no cursor is provided. You can only scroll forward through records. This improves performance in situations where you only need to make a single pass through a result set. This type corresponds to an ODBC forward-only cursor.
Dynamic-type Recordset:
a query result set from one or more base tables in which you can add, change, or delete records from a row-returning query. Further, records other users add, delete, or edit in the base tables also appear in your Recordset. This type corresponds to an ODBC dynamic cursor (ODBCDirect workspaces only).
21. What is the Difference Listindex and Tab index?
Ans. LIST INDEX:
Returns or sets theindex of the currently selected item in the control. Not available at design time.Default LIST INDEX IS -1 for ComboBox, DirListBox, and DriveListBox controls
TAB INDEX:
Returns or sets thetab order of most objects within their parent form. Visual Basic automatically renumbers the TabIndex of other controls to reflect insertions and deletions. You can make changes atdesign time using theProperties window or atrun time in code.The TabIndex property isn’t affected by the ZOrder method.
22. What is the Difference modal and moduless window?
Ans. MODAL forms are forms which require user input before any other actions can be taken place. In other words, a modal form has exclusive focus in that application until it is dismissed. When showing a modal form, the
controls outside this modal form will not take user interaction until the form is closed. The internal MsgBox and InputBox forms are examples of modal forms. To show a form modally, use the syntax:
MyForm.SHOW.vbModal ‘ a predeclared constant for 1
MODELESS forms are those which are shown but do not require immediate user input. MDI child forms are always modeless. To show a form modeless, use the syntax:: MyForm.SHOW
23. What is the Difference Object and Class?
Ans. Classes and objects are separate but related concepts. Every object belongs to a class and every class contains one or more related objects.
1)A Class is static. All of the attributes of a class are fixed before,during, and after the execution of a program. The attributes of a class don’t change.The class to which an object belongs is also (usually) static. If a particular object belongs to a certain class at the time that it is created then it almost certainly will still belong to that class right up until the time that it is destroyed.
2)An Object on the other hand has a limited lifespan. Objects are created and eventually destroyed. Also during that lifetime, the attributes of the object may undergo significant change.So basically the difference between a class and an object is that a class is a general concept while objects are the specific and real instances that embody that concept. When creating an object oriented program we define the classes and the relationships between the classes . We then execute the program to create, update, and destroy the objects which are the specific realization of these classes.
24. What is the Difference Query unload and unload in form?
Ans. Occurs before a form or application closes. When an MDIForm object closes, the QueryUnload event occurs first for the MDI form and then in all MDI child forms. If no form cancels the QueryUnload event, the Unload event occurs first in all other forms and then in an MDI form. When a child form or a Form object closes, the QueryUnload event in that form occurs before the form’s Unload event.
25. What is the Difference Declaration and Instantiation an object?
Ans. Dim obj as OBJ.CLASS with either
Set obj = New OBJ.CLASS or
Set obj = CreateObject(?OBJ.CLASS?) or
Set obj = GetObject( ,? OBJ.CLASS?)
or
Dim obj as New OBJ.CLASS
Set object = Nothing
ensure the object is release from the memory.
If this object is a form, you can add set myform = nothing and Form_Unload() event.Maintain a habit of remove the object by using set object = nothing which will benefit at last.
Visual Basic is supposed to automatically release objects when they go out of scope. To free up some memory usage, you can set the object to
nothing.
26. Draw and explain Sequence Modal of DAO.
Ans. Connection,Container,Database,DBEngine,Document,Error,Field,Group,Index
Parameter Property,QueryDef,Recordset,Relation,TableDef,User,Workspace
Version |Year |Significant Changes and New Features of Visual Basic?
1 1991 initial release, with drag and drop GUI creation
2 1992 ODBC, object variables
3 1993 Access Engine, OLE 2.0, Crystal Reports, new tools and controls
4 1995 classes, OCXs
5 1997 compiler, ActiveX controls
6 1998 web support, windowless controls, designers, data sources
.NET 2001 XML, SOAP, inheritance, structured exception handling
27. How can objects on different threads communicate with one another?
Ans. Processes communicate with one another through messages, using Microsoft’s Remote Procedure Call (RPC) technology to pass information to one another. There is no difference to the caller between a call coming from a process on a remote machine and a call coming from another process on the same machine.
Multithreaded applications must avoid two threading problems: deadlocks and races. A deadlock occurs when each thread is waiting for the other to do something
28. How can you force new objects to be created on new threads?
Ans. The CreateThread function creates a thread to execute within the virtual address space of the calling process.
To create a thread that runs in the virtual address space of another process Creating a new thread is as easy as declaring it and supplying it with a delegate to the method where the thread is to start. When you are ready to begin execution on the thread, call the Thread.Start Method. There are special considerations involved when working with multiple threads of execution.
To create a new thread of execution
====================================
Declare the thread.
******************
‘ Visual Basic
Dim myThread as System.Threading.Thread
// C#
System.Threading.Thread myThread;
Instantiate the thread with the appropriate delegate for the starting point of the thread. Use the AddressOf operator to create the delegate
in Visual Basic, or create a new ThreadStart object in C#.
*******************
‘ Visual Basic
myThread = New System.Threading.Thread(AddressOf
myStartingMethod)
// C#
myThread = new System.Threading.Thread(new
System.Threading.ThreadStart(myStartingMethod));
call the Thread.Start method to start the thread.
*******************
‘ Visual Basic
myThread.Start()
// C#
myThread.Start();
29. How does a DCOM component know where to instantiate itself?
Ans. To create a remote instance of a script component, call the CreateObject method, passing it the name of the remote computer as a parameter. If the remotable attribute of a script component’s <registration> element has been set to “true,” the script component can be instantiated remotely from another computer using Distributed COM (DCOM).
Both computers must have basic DCOM installed. Note The ability to use CreateObject for instantiating remote script components requires Visual Basic 6.0 or later or VBScript 5.0 or later. The following Visual Basic example shows how to do this on a computer named “myserver”:
Set newS = CreateObject(”Component.MyComponent”, “myserver”)
Note There can be a slight delay when you first instantiate a remote script component while DCOM establishes communication between the computers.
1. You can specify the machine on which you want to create the remote server object in DCOM config (’dcomcnfg’).
2. You can specify the machine name when instantiating the remote server object.
In C you can do this with a call to CoGetClassObject or CoCreateInstanceEx (instead of CoCreateInstance, which does not allow you to specify the name of the machine).
In VB you can specify the name in one of the parameters in the call to CreateObject
30. What type of multi-threading does VB6 implement?
Ans. Apartment model threading

31. What is Database Connection pooling (relative to MTS)?
Ans. This allows MTS to reuse database connections. Database connections are
put to “sleep” As opposed to being created and destroyed and are activated upon request.

32. What is the tool used to configure the port range and protocols for DCOM communications?
Ans. DCOMCONFIG.EXE

33. What is a Type Library and what is it’s purpose ?
Ans. The type library may represent another Visual Basic project, or any other executable component that exposes a type library.
Visual Basic creates type library information for the classes you create, provides type libraries for the objects it includes, and lets you access the type libraries provided by other applications.

34. What are binary and project compatibility?
Ans. Visual Basic’s Version Compatibility feature is a way of enhancing your components while maintaining backward compatibility with programs that were compiled using earlier versions. The Version Compatibility box, located on the Component tab of the Project Properties dialog box, contains three options:
No Compatibility:
Each time you compile the component, new type library information is generated, including new class IDs and new interface IDs. There is no relation between versions of a component, and programs compiled to use one version cannot use subsequent versions.
Project Compatibility:
Each time you compile the component the type library identifier is kept, so that your test projects can maintain their references to the component project. All class IDs from the previous version are maintained; interface IDs are changed only for classes that are no longer binary-compatible with their earlier counterparts. Note This is a change in Project Compatibility from Visual Basic 5.0, where all class IDs and interface IDs in the project changed if any one class was no longer binary-compatible.
Important For the purpose of releasing compatible versions of a component, Project Compatibility is the same as No Compatibility.
Binary Compatibility:
When you compile the project, if any binary-incompatible changes are detected you will be presented with a warning dialog. If you choose to accept the warning, the component will retain the type library identifier and the class IDs. Interface IDs are changed only for classes that are no longer binary-compatible. This is the same behavior as Project Compatibility.
If, however, you choose to ignore the warning, the component will also maintain the interface IDs. This option is only available when the compiler determines that the change was in the procedure ID or signature of a method.
Note:: When people talk about Version Compatibility, they’re usually referring to Binary Compatibility.
How to set a shortcut key for label?
object.KeyLabel(keycode) [= string]
You would probably create the menu item as follows:
.Add “keyFile”, , , “E&xit”, , vbAltMask + vbCtrlMask, vbKeyEnd
The default key label for vbKeyEnd is “End”. Thus, the shortcut string will be created by default as “Ctrl+Alt+End”.
35. Name the four different cursor and locking types in ADO and describe them briefly ?
Ans. CURSORS:
*********
The cursor types are listed from least to most resource intensive.
Forward Only - Fastest, can only move forward in recordset
Static - Can move to any record in the recordset. Data is static and never changes.
KeySet - Changes are detectable, records that are deleted by other users are unavailable, and records created by other users are not detected Dynamic - All changes are visible.
LOCKING TYPES:
****************
LockPessimistic - Locks the row once after any edits occur.
LockOptimistic - Locks the row only when Update is called.
LockBatchOptimistic - Allows Batch Updates.
LockReadOnly - Read only. Cannot alter the data.
36. Name the different compatibility types when creating a COM component?
Ans. No Compatibility - New GUID (Globally Unique Identifier) created, references from other components will not work Project Compatibility - Default for a new component <Not as critical to mention this one>
Binary Compatibility - GUID does not change references from other components will work
Why is it important to use source control software for source code?
Modification history. Code ownership: Multiple people cannot modify the same code at the same time.
37. List the ADO objects?
Ans. Connection -Connects to a data source; contains the Errors collection
Command - Executes commands to the data source. The only object that can accept parameters for a stored procedure Recordset - The set of data returned from the database.
Under the ADO Command Object, The Parameters collection. collection is responsible for input to stored procedures.
38. What two methods are called from the ObjectContext object to inform MTS that the transaction was successful or unsuccessful?
Ans. SetComplete and SetAbort.

39. What is the benefit of wrapping database calls into MTS transactions?
Ans. Aborting the transaction will undo and changes that occur within that transaction. This removes the possibility of stranded, or partial data
40. Describe and In Process vs. Out of Process component. Which is faster?
Ans. An in-process component is implemented as a DLL, and runs in the same process space as its client app, enabling the most efficient communication between client and component. Each client app that uses the component starts a new instance of it.
An out of process component is implemented as an EXE, and unlike a dll, runs in its own process space. As a result, exe’s are slower then dll’s because communications between client and component must be marshaled across process boundaries. A single instance of an out of process component can service many clients.How would you declare and raise custom events in a class?
a) Public Event OnVarChange();
b) RaiseEvent OnVarChange[(arg1, arg2, ... , argn)]

41. What is the difference between a Property Let and Property Set procedure?
Ans. Let - for simple variable
 Set - for object

42. What is the difference between ANSI and UNICODE strings when passed as arguments to a DLL?
Ans. ANSI - one byte for a char UNICODE - two bytes per char - works only on NT

43. What is the difference in passing values ByRef or ByVal to a procedure?
Ans. ByRef -pass the address (for string -address of address of first byte)
BY REF IS VERY USEFULL When the contents itself are being modified, when there is large data. Multiple arguments are needed to be returned, instead they can be passed as reference.
ByVal -pass the value (for string -it is the address of first byte)

44. What is the purpose of the DoEvents command?
Ans. Fields execution so that the operating system can process other events. Returns number of open forms. Useful for things like ‘cancel search’ in Windows
Name and define the logical tiers in a traditional 3-tiered architecture?
Presentation logic - front end (HTML, Visual Basic forms)
Business Logic - Applications and components that encapsulate business logic
Data end - databases to store data

45. What is the difference between a PictureBox and Image control?
Ans. Image Control - Use this to display a picture. Use it over the PictureBox because it takes less operating system resources
PictureBox- While it can display pictures, it also acts as an area on which you can print text and graphics. Use it for home-grown graphics or print previews.

46. Under which circumstance does a VB application ignore a Timer event?
Ans. When the system is really busy doing something else and when DoEvents is being executed

47. What does the NewIndex property return?
Ans. Used to retrieve the index of the item most recently added to a ListBox or ComboBox control.

48. What is the purpose of the ClipControls property on a form or container?
Ans. Returns or sets a value that determines whether graphics methods in Paint events repaint the entire object or only newly exposed areas. Also determines whether the Microsoft Windows operating environment creates a clipping region that excludes non-graphical controls contained by the object. Read-only at run time.

49. What is the purpose of the AutoRedraw property on a form or container?
Ans. Setting AutoRedraw to True automatically redraws the output from these methods in a Form object or PictureBox control when, for example, the object is resized or redisplayed after being hidden by another object

50. What version control systems have you used?
Ans. TLIB 16-Bit add-in

51. How about any other database engines?
Ans. Apollo OLE DB ,Apollo Server ,Apollo SQL ,FUNCky ,R&R Report Writer.

52. What kind of components can you use as DCOM servers?
Ans. actve-x components, Com
Dim x, y as integer. What is x and y data type?
X as variant and y as integer.

53. What is the size of the variant data type?
Ans. The Variant data type has a numeric storage size of 16 bytes and can contain data up to the range of a Decimal, or a character storage size of 22 bytes (plus string length), and can store any character text.

54. What is the return type of Instr and Strcmp?
Ans. Instr – integer (Numeric position)
Strcmp - integer ( if both the string are equal they result = 0)
Strcmp (Str1, Str2, Comparetype)
Comparing mode = 0 – Binary Comparing
1 – Textual Comparing

55. What is the max size allowed for Msgbox Prompt and Input Box?
Ans. 1024
Max label caption length. –
2,048
Max Text box length –
32,000
Max Control Names length –
255.

56. What is the Extensions used  in Visual Basic?
Ans. Frm, bas, cls, res, vbx, ocx, frx, vbp, exe
57. What is frx?
Ans. When some controls like grid and third party control placed in our application then it will create frx in run time.

58. What will be the result for 15/4 and 15\4 ?
Ans. 15/4 = 3.75 and 15\4 = 3

59. What is keyword used to compare to objects?
Ans. ISOperator – Returns Boolean.

60. How many procedures are in VB?
Ans. function and sub procedures. Function Will return value but a sub procedure wont return values.

61. Where will we give the option explicit keyword and for what?
Ans. In the general declarations section. To trap undeclared variables.

62. What is Friend Variable?
Ans. Scope sharable between projects.What is binding? What are types of binding?
Assigning variable with defined memory space. Late Binding - Memory size is allotted in later stage.
Ex:- Dim x as object
Early Binding - Memory size is allotted while declaring itself. New Key word is important.
Ex:- Dim x as New Object

63. What is the difference between Property Get, Set and Let?
Ans. Set – Value is assigned to ActiveX Object from the form.
Let – Value is retried to ActiveX Object from the form.
Get- Assigns the value of an expression to a variable or property.

64. What is Mask Edit and why it is used?
Ans. Control. Restricted data input as well as formatted data output.
Drag and Drop state numbers and functions.
State 0 – Source control is being dragged with the range of a target.
1 – Out of the range of a target.
2 – One positon in the target to another.

65. What are the type of validation available in VB?
Ans. Field, Form

66. With in the form we want to check all the text box control are typed or not? How?
Ans. For each currentcontrol in controls if typeof currentcontrol is TextBox then end if next.

67. What is control array and How many we can have it with in the form?
Ans. Group of control share the same name. Max 32, 767.What is the default model of the form? And

68. Suppose from form1 to form2 object property settings will arise to ?
Ans. Invalid procedure call or argument (Run time error – 5)

69. What is the diff between the Std and Class Module?
Ans. Std Global with in the project. Cls Global through out the all project only thing is we want to set the type lib. Class Modules can be Instantiated.

70. What are the Different type of Instantiation?
Ans. Private – Only for the Specific Module.
Public not creatable – Private & Public
Multi Use - Variable we have to declare.
Single Use – Not possible through dll.
Global Multiuse – Have variable not Required to
Declare. Global Single Use - Only for exe.
71. How to declare Dll Procedure?
Ans. Declare function “<Function Name>” lib “<Lib Name>” Alias “<Alias Name>” (Arg, …..) as Return type.

72. What is MDI form? MDI Styles?
Ans. We can have only one MDI form for a project. Multiple Document Interface. This form type is VBModal. We have set the Child property of the forms to True to place forms inside this MDI.
Style availables 1. VbCascade 2. VbTitle Horizontal

73. How many images can be placed in the image list ?
Ans. 64

74. Explain different type of Datatypes?
Ans. LOB (Large Object Data type).
CLOB (Stores Character Objects).
BLOB ( Store Binary Objects such as Graphic, Video Chips and Sound files).
BFILE(Store file pointers to LOB It may Contain filename for photo’s store on CD_ROM).

75. What is Zorder Method?
Ans. Object.Zorder = 1 or 0 Place a Specified mdiform form or control at the front or back of the z-order with n its Graphical Level.

76. What is diff between the Generic Variable and Specific Variable?
Ans. Generic Variable:Create Object Ex:-Ole-Automation . No need refer the object library.
Specific Variable: Binding Procedure Early and Late Binding ( Can be Remove from the Memory).
77. What are properties available in Clip Board?
Ans. No Properties Available. Only the methods they are SetText, GetText, Setdata(), Getformat(), Clear.

78. What is Dll?
Ans. Libraries of procedure external to the application but can be called from the application.

79. What is Tabstrip control? What is the starting Index value? How to locate it?
Ans. It is tab control to place our controls with in the form in multiple sheets.
Index starts with 1. And to identify
If Tabstrip1.SelectedItem.Index = 1 Then
…..
End if

80. Why we use Treeview Control?
Ans. To list the hierarchial list of the node objects. Such of files and Directories.

81. Why we need OLE-Automation? Advantages?
Ans. Enables an application to exposes objects and methods to other Applications.
No need to reserve memory. No need to write functions.
Object library that simplify programming tasks. i.e., No need to Object library. (OLB, TLB).

82. What is the diff between the Create Object and Get object?
Ans. Create Object - To create an instance of an object.
Get Object – To get the reference to an existing object.

83. How to create Properties and Methods for your own Controls?
Ans. Properties – Public variable of a Class
Method – Public procedure of a classWhat is Collection Objects?
Similarly to arrays but is preferred over an array because of the following reasons.
1. A collection objects uses less Memory than an array.
2. It provides methods to add and delete members.
3. It does not required reason statement when objects are added or deleted.
4. It does not have boundary limitations.

84. What is Static Variable?
Ans. Its Scope will be available through out the life time.

85. What is Implicit?
Ans. Instance of specific copy of a class with its own settings for the properties defined in that class. Note: The implicity defined variable is never equal to nothing.

86. What are the scope of the class?
Ans. Public , private, Friend

87. Can we able to set Instancing properties like Singleuse, GlobalSingleuse to ActiveXDll?
Ans. No.

88. In project properties if we set Unattended what is it mean?
Ans. This cannot have user interface. This can be used for the COM creation.What are the Style Properties of Combo Box?
Simple, Dropdown list – We can type and select.
Dropdown Combo – Only Drop Down.

89. What are the Style properties of List Box?
Ans. Simple –Single Select , Extended. – Multiple Select.

90. What are the different types of Dialog Box?
Ans. Predefined, Custom, User Defined.

91. What is Parser Bug?
Ans. It is difficult to use database objects declared in a module from within a form.

92. What is the Dll required for running the VB?
Ans. Vbrun300.dll

93. Can We create CGI scripts in VB?
Ans. Yes.

94. How to change the Mouse Pointer?
Ans. Screen.MousePointer = VBHourGlass/VBNormal.

95. How to check the condition in Msgbox?
Ans. If(Msgbox(”Do you want to delete this Record”,VbYesNo)=VbYes)Then End if

96. What is difference between datagrid and flexgrid?
Ans. Datagrid – Editable.
Flexigrid – Non-Editable. (Generally used for Read only purpose.)

97. What is ADO? What are its objects ?
Ans. ActiveX Data Object. ADO can access data from both flat files as well as the databases. I.e., It is encapsulation of DAO, RDO, and OLE that is why we call it as OLE-DB Technology. Objects are Connection, Record Set, Command, Parameter, field, Error, Property.

98. What is Dataware Control?
Ans. Any control bound to Data Control.
Ex:- Textbox, Check Box, Picture Box, Image Control, Label, List box, Combo Box, DB Combo

99. What are the locks available in Visual Basic?
Ans. Locking is the process by which a DBMS restricts access to a row in a multi-user environment
4 types of locks. They are
1.Batch Optimistic
2.Optimistic
3.Pessimistic
4.ReadOnly

100. What is the diff between RDO and ADO?
Ans. RDO is Hierarchy model where as ADO is Object model. ADO can access data from both flat files as well as the data bases. I.e., It is
encapsulation of DAO, RDO , OLE that is why we call it as OLE-DB Technology.

101. How can we call Stored procedure of Back End in RDO and ADO ?
Ans. In RDO – We can call using RDO Query Objects.
In ADO – We can call using Command Objects.

102. What is the different between Microsoft ODBC Driver and Oracle OBDC Driver?
Ans. Microsoft ODBC driver will support all the methods and properties of Visual Basic. Where as the Oracle not.

103. What are the Technologies for Accessing Database from Visual Basic?
Ans. DAO, Data Control, RDO, ODBCDIRECT, ADO, ODBC API.

104. How to Call Stored Procedures in VB?
Ans. 1. Calling Simply the Procedure with out Arguments “Call ProcedureName}”
If it is with Arguments Means then
Declare the Query Def qy
Set Qy as New Query def
Qy.SQL = “{Call ProcedureName(?,?,?)}”
qy(0)=val(Txt1.Text)
qy(1)=val(Txt2.Text)
qy(2)=val(Txt3.Text)
Set Rs = Qy.OpenresultSet
Txt(1)=Rs.RdoColumns(0)What is MAPI ?
Messaging Application programing Interface.

105. Describe Different type of Passing Value?
Ans. By value, By ref, Optional, Param Array.
Note:- Optional keyword cannot be used while declaring arguments for a function using param array.

106. What are the different types of error?
Ans. Syntax Errors, Runtime , Logic.

107. What is Seek Method which type of record set is available this?
Ans. Only in DbOpenTables.
Syntax: rs.index = “empno”
rs.seek “=” , 10
If with our setting the rs.index then run time error will occur.

108. What is Centralization Error Handling?
Ans. Writing funciton and calling it when error occurs.

109. What is Handling Error in Calling chain.
Ans. This will call the top most error where the error is handled.

110. To connect the Data Control with Back end What are all the properties to be set?
Ans. Data source Name, Record Source Name

111. How to trap Data Base Error?
Ans. Dim x as RDOError
X(0).Des
X(1).NumberWhat is view Port?
The area under which the container provides the view of the ActiveX Document is known as a view port.

112. What methods are used for DBGrid in unbound mode?
Ans. AddData, EditData, Readdata, WriteData.

113. How to increase the Date corresponding with month,date,year?
Ans. DateSerial(year(Now),Month(Now)+1,1)
Hour, min, sec, month, year, DateSerial, dateadd, datediff, weekday, datevalue, timeserial,timevalue.
Setting the Cursors.
Default Cursor – 0
ODBC Cursor (Client side) – 1
ServerSide Cursors (More Network traffic) - 2Cursor management
Client Batch – Batch up the Multiple SQL Statements in a single string and Send them to the Server at one time.

114. What are the RDO Methods and Events?
Ans. Methods Events
Begin Trans Validate
Commit Trans Reposition
Rollback Trans Error
Cancel Query Complied
Refresh
Update Controls
Update rowWhat is Static Cursor?
In ADO Snap Shot is called so.

115. What is Mixed Cursors?
Ans. Static + Keyset

116. What is FireHouse Cursors?
Ans. Forward Only Some time Updateable

117. What is DBSqlPassThrough?
Ans. It will By Passing the Jet Query Processor.

118. What is DBFailError?
Ans. Rolls Back updates if any errors Occurs.

119. What is RdExecDirect?
Ans. Bypasses the Creation of a stored procedure to execute the query. Does not apply to Oracle.
RdoParameter Object RdoParameterConstant
Direction RdparamInput
RdparamInputOutput
RdParamOutput
Name
Type
Value

120. In Form_Unload Event and Form_QueryUnload, which Event fire First?
Ans. QueryUnload.


121. What is the difference between Option Base and Option Explicit?
Ans. Option Base: When an array is declared by default starting index number is 0. By using this statement the programmer can change the starting index number. But according to coding conventions this concept should not be used.

Option Explicit: Declaring a variable in Visual Basic is not must. By Default every variable are considered as Variant. It causes unnecessary memory wastage. If Option Explicit is declared, every variable must be defined. It is declared on the top of the form general declaration.

122. How many Events in a form?
Ans. 31 Events.

123. What property of Menu can not be set at runtime?
Ans. Name Property.

124. Does Visual Basic 6 support OOPS Concepts? Explain it.
Ans. It does not support Inheritance and Data Binding.

125. How to get Cursor position using API?
Ans. GetCursorPos() is the API that is used to get the cursor position.

126. What is adUseClient and adUseServer? Where is it going to affect in runtime?
Ans. If the CursorLocation Property is set to adUseClient, the recordset will be available at client as disconnected recordset, where User can do any changes on it, then using the ActiveConnection, we can connect to the database once again and update the modifications.
      If the CusorLocation Property is set to adUseServer, the recordset is available at server side with active connection, can perform any transaction with the database.

127. What is OOPS? What is Polymorphism? Does VB6 supports OOPS concept? Explain it.
Ans. OOP(s) is Object Oriented Programming.
Polymorphism is the ability to change implementation of a defined method depending on the object in question. Polymorphism can be achieved by abstract classes or Interfaces. Interfaces are totally Polymorphic as they just have the concept defined but the implementation has to be done by deriving childes.
Visual Basic 6.0 does not support Object Oriented Programming Concepts completely.

vb6.0 interview questions and answers



How do you register a component?
Compiling the component, running REGSVR32 MyDLL.dll

Name and explain the different compatibility types when creating a COM component
No Compatibility ? New GUID created, references from other components will not workProject
Compatibility ? Default for a new component Binary Compatibility ? GUID does not change,
references fromother components will work

Why is it important to use source control software for source code?
Modification history.Code ownership: Multiple people can not modify the same code at the same time.

What two methods are called from the ObjectContext object to inform MTS that the transaction was successful or unsuccessful?
SetComplete and SetAbort.

What is the tool used to configure the port range and protocols for DCOM communications?
DCOMCONFIG.EXE

What does Option Explicit refer to?
All variables must be declared before use. Their type is not required.

What are the different ways to Declare and Instantiate an object in Visual Basic 6?
Dim obj as OBJ.CLASS with eitherSet obj = New OBJ.CLASS orSet obj =
CreateObject(OBJ.CLASS?) orSet obj = GetObject( , OBJ.CLASS?)orDim obj as New OBJ.CLASS

Name the four different cursor types in ADO and describe them briefly.
The cursor types are listed from least to most resource intensive.Forward Only Fastest, can only move
forward in recordset Static Can move to any record in the recordset. Data is static and never
changes.KeySet Changes are detectable, records that are deleted by other users are unavailable, and
records created by other users are not detectedDynamic ? All changes are visible.

Name the four different locking type in ADO and describe them briefly.
LockPessimistic Locks the row once after any edits occur.LockOptimistic Locks the row only when
Update is called.LockBatchOptimistic Allows Batch Updates.LockReadOnly Read only. Can not alter
the data.
Describe Database Connection pooling (relative to MTS )?
This allows MTS to reuse database connections. Database connections are put to sleep as opposed to
being created and destroyed and are activated upon request.

What are the ADO objects?
Provide a scenario using three of them to return data from a database. Expected answer: Connection
Connects to a data source; contains the Errors collectionCommand Executes commands to the data
source. Is the only object that can accept parameters for a stored procedure.Recordset The set of data
returned from the database.Scenario: There are many possibilities. The most likely is as follows:Dim
conn As ADODB.ConnectionDim rs As ADODB.RecordsetDim Cmd As
ADODB.Commandconn.ConnectionString = ?CONNECTION STRING?conn.OpenSet
Cmd.ActiveConnection = connCmd.CommandText = ?SQL STATEMENT?Set rs = Cmd.ExecuteSet
rs.ActiveConnection = Nothingconn.Close

Under the ADO Command Object, what collection is responsible for input to stored procedures?
The Parameters collection.

What are some benefits of using MTS?
Database Pooling, Transactional operations, Deployment, Security, Remote Execution.

What is the benefit of wrapping database calls into MTS transactions?
If database calls are made within the context of a transaction, aborting the transaction will undo and
changes that occur within that transaction. This removes the possibility of stranded, or partial data.

Describe and In Process vs. Out of Process component. Which is faster?
An in-process component is implemented as a DLL, and runs in the same process space as its client
app, enabling the most efficient communication between client and component.Each client app that
uses the component starts a new instance of it.An out of process component is implemented as an EXE,
and unlike a dll, runs in its own process space. As a result, exe’s are slower then dll’s because
communications between client and component must be marshalled across process boundaries. A
single instance of an out of process component can service many clients.

What are the main components of the ADO object model? How are they used?
Connection: Used to make a connection between your app and an external data source, ie, sql
server.Command: Used to build queries, including user-specific parameters, to access records from a
data source (which are returned in a Recordset)Recordset:Used to access records returned from an SQL
query. With a recordset, you can navigate returned records. You can also add, modify or delete records.

Can We create CGI scripts in VB??
Yes.

Dim x, y as integer. What is x and y data type?
X as variant and y as integer.

What is Centralization Error Handling?
Writing function and calling it when error occurs.

What is frx?
When some controls like grid and third party control placed in our application then it will create frx in run time.

What is the Dll required for running the VB?
Vbrun300.dll

Why we use Treeview Control?
To list the hierarchical list of the node objects. Such of files and Directories.

Handling Error in Calling chain.
This will call the top most error where the error is handled.

In project properties if we set Unattended what is it mean?
This cannot have user interface. This can be used for the COM creation.

What is the size of the variant data type?
The Variant data type has a numeric storage size of 16 bytes and can contain data up to the range of a
Decimal, or a character storage size of 22 bytes (plus string length),and can store any character text.

What is view Port?
The area under which the container provides the view of the ActiveX Document is known as a view port.


What are the different types of error?
Syntax Errors, Runtime , Logic.

What is the diff between the Std and Class Module?
Std Global with in the project. Cls Global through out the all project only thing is we want to set the type lib. Class Modules can be Instantiated.

What is Mixed Cursors?
Static + Keyset

Drag and Drop state numbers and functions?
State 0 Source control is being dragged with the range of a target.
1 Out of the range of a target.
2 One position in the target to another.

What are the Style Properties of Combo Box?
Simple, Dropdown list We can type and select. Dropdown Combo Only Drop Down.

What are the Style properties of List Box?
Simple Single Select , Extended. Multiple Select.

What is Collection Objects?
Similarly to arrays but is preferred over an array because of the following reasons.
1. A collection objects uses less Memory than an array.
2. It provides methods to add and delete members.
3. It does not required reason statement when objects are added or deleted.
4. It does not have boundary limitations.

What is the difference between Property Get, Set and Let?
Set Value is assigned to ActiveX Object from the form.
Let Value is retried to ActiveX Object from the form.
Get- Assigns the value of an expression to a variable or property.

How to change the Mouse Pointer?
Screen.MousePointer = VBHourGlass/VBNormal.

What is Friend Variable?
Scope sharable between projects.

What is DBFailError?
Rolls Back updates if any errors Occurs.

What are the record set types?
RdOpenFowardOnly 0 (Default used only for the read only purpose)
RdOpenStatic 1
RdOpenDynamic 2
RdOpenKeySet 3 (Normally used for the live project)

What is the diff between RDO and ADO?
RDO is Hierarchy model where as ADO is Object model. ADO can access data from both flat files as
well as the data bases. I.e., It is encapsulation of DAO, RDO , OLE that is why we call it as OLE-DB Technology.

Diff types of Lock Types?
RdConcurReadOnly 0 (Default)
RdConcurLock 1 (Pessimistic Locking)
RdConcurRowver 2 (Optimistic Lociking)
RdConcurValues 3
RdConcurBatch 4

What are the scopes of the class?
Public, private, Friend

Have you create Properties and Methods for your own Controls?
Properties Public variable of a Class
Method Public procedure of a class

Private Dim x as integer. Valid ?
Private cannot be used in front of DIM.

Different type of Instantiation?
Private Only for the Specific Module.
Public not creatable Private & Public
Multi Use - Variable we have to declare.
Single Use Not possible through dll.
Global Multiuse Have variable not Required to Declare.
Global Single Use - Only for exe.

What are the different types of Dialog Box?
Predefined, Custom, User Defined.

What is Seek Method which type of record set is available this?
Only in DbOpenTables.
Syntax: rs.index = "empno"
rs.seek "=" , 10
If with our setting the rs.index then run time error will occur.

What is Zorder Method?
Object.Zorder = 1 or 0 Place a Specified mdiform form or control at the front or back of the z-order
with n its Graphical Level.

Can us able to set Instancing properties like Singleuse, GlobalSingleuse to ActiveXDll?
No.

What are properties available in Clip Board?
No Properties Available. Only the methods they are SetText, GetText, Setdata(), Getformat(), Clear.

What is the different between Microsoft ODBC Driver and Oracle OBDC Driver?
Microsoft ODBC driver will support all the methods and properties of Visual Basic. Where as the
Oracle not.

What the RDO Methods and Events?
Methods Events
Begin Trans Validate
Commit Trans Reposition
Rollback Trans Error
Cancel Query Complied
Refresh
Update Controls
Update row

What is MAPI ?
Messaging Application programming Interface.

What is MDI form?
MDI Styles

What are the locks available in Visual Basic?
Locking is the process by which a DBMS restricts access to a row in a multi-user environment 4 types
of locks. They are
1. Batch Optimistic
2. Optimistic
3. Pessimistic
4. ReadOnly
Operations in a relational database act on a complete set of rows. The set of rows returned by a SELECT statement consists of all the rows that satisfy the conditions in the WHERE clause of the statement. This complete set of rows returned by the statement is known as the result set. Applications, especially those that are interactive and online, cannot always work effectively with the entire result set as a unit. These applications need a mechanism to work with one row or a small block of rows at a time. Cursors are an extension to result sets that provide that mechanism.
Cursor or lock type Advantages Disadvantages AdOpenForwardOnly (Default) Low resource requirements Cannot scroll backward No data concurrency AdOpenStatic Scrollable (Wont detect changes made at the same time by another application) No data concurrency AdOpenKeyset Some data concurrency Scrollable Higher resource requirements Not available in disconnected scenario AdOpenDynamic High data concurrency Scrollable Highest resource requirements Not available in
disconnected scenario AdLockReadOnly Low resource requirements Highly scalable Data not updatable through cursor AdLockBatchOptimistic Batch updates Allows disconnected scenarios Other users able to access data Data can be changed by multiple users at once AdLockPessimistic Data cannot be changed by other users while locked Prevents other users from accessing data while locked
AdLockOptimistic Other users able to access data Data can be changed by multiple users at once

Diff type of Datatypes?
LOB (Large Object Data type).
CLOB (Stores Character Objects).
BLOB ( Store Binary Objects such as Graphic, Video Chips and Sound files).
BFILE(Store file pointers to LOB It may Contain filename for photo’s store on CD_ROM).

What is Tabstrip control?
Libraries of procedure external to the application but can be called from the application.

What is Static Variable?
Its Scope will be available through out the life time.

What is DBSqlPassThrough?
It will By Passing the Jet Query Processor.

What is the starting Index value? How to locate it?
It is tab control to place our controls with in the form in multiple sheets.
Index starts with 1.
And to identify If Tabstrip1.SelectedItem.
Index = 1 Then ..
End if

What is Parser Bug?
It is difficult to use database objects declared in a module from within a form.

What is keyword used to compare to objects?
ISOperator Returns Boolean.

Suppose from form1 to form2 object property settings will arise to ?
Invalid procedure call or argument (Run time error 5)

What is the return type of Instr and Strcmp?
Instr integer (Numeric position)
Strcmp - integer ( if both the string are equal they result = 0)
Strcmp (Str1, Str2, Comparetype)
Comparing mode = 0 Binary Comparing
1 Textual Comparing

What is Implicit?
Instance of specific copy of a class with its own settings for the properties defined in that class.
Note: The implicitly defined variable is never equal to nothing.

What is Inprocess and Out of Process?
Inprocess It will run with in the memory. ( Local Machine). Out of Process It will run out of the memory Normally in the server side.

Where will we give the option explicit keyword and for what?
In the general declarations section. To trap undeclared variables.

How can we call Stored procedure of Back End in RDO and ADO ?
In RDO We can call using RDO Query Objects.
In ADO We can call using Command Objects.

What is Static Cursor?
In ADO Snap Shot is called so.

How to check the condition in Msgbox?
If(Msgbox("Do you want to delete this Record",VbYesNo)=VbYes)Then End if

What is control array and how many we can have it with in the form?
Group of control share the same name. Max 32, 767.

What is diff between the Generic Variable and Specific Variable?
Generic Variable:
Create Object Ex:-Ole-Automation . No need refer the object library.
Specific Variable:
Binding Procedure Early and Late Binding ( Can be Remove from the Memory).

What is the diff. Between function and sub procedures?
Function will return value but a sub procedure wont return values

What is the max size allowed for Extension in Visual Basic?
Frm, bas, cls, res, vbx, ocx, frx, vbp, exe

What is FireHouse Cursors?
Forward Only Some time Updateable

With in the form we want to check all the text box control are typed or not? How?
For each currentcontrol in controls
if typeof currentcontrol is TextBox then
end if
next

What are the type of validation available in VB?
Field, Form

How to trap Data Base Error?
Dim x as RDOError
X(0).Des
X(1).Number
Setting the Cursors.
Default Cursor 0
ODBC Cursor (Client side) 1
ServerSide Cursors (More Network traffic) - 2

How to declare Dll Procedure?
Declare function "" lib ""
Alias "" (Arg, ..) as Return type.

Referential Integrity (Take care By jet database Engine). Cascade Delete, Cascade Update is done setting property of Attributes.?
DbRelationDeleteCascade, DbRelationUpdateCascade.

How to increase the Date corresponding with month,date,year?
DateSerial(year(Now),Month(Now)+1,1)
Hour, min, sec, month, year, DateSerial, dateadd, datediff, weekday, datevalue, timeserial,timevalue.

Name some date function?
Dateadd(), Datediff(), Datepart(), Cdate()

What is difference between datagrid and flexgrid?
Datagrid Editable. Flexigrid Non-Editable. (Generally used for Read only purpose.)

What are two validate with Data Control?
Data_Validate, Data_Error.

To connect the Data Control with Back end What are all the properties to be set?
Data source Name, Record Source Name

What are the Technologies for Accessing Database from Visual Basic?set?
DAO, Data Control, RDO, ODBCDIRECT, ADO, ODBC API , 0040.

What is the diff between the Create Object and Get object?
Create Object - To create an instance of an object.
Get Object To get the reference to an existing object.

What is Mask Edit and why it is used?
Control. Restricted data input as well as formatted data output.

What is RdExecDirect?
Bypasses the Creation of a stored procedure to execute the query. Does not apply to Oracle.

Different type of Passing Value?
By value, By ref, Optional, Param Array. Note:- Optional keyword cannot be used while declaring
arguments for a function using param array.

What are types of binding?
Assigning variable with defined memory space.
Late Binding - Memory size is allotted in later stage.
Ex:- Dim x as object
Early Binding - Memory size is allotted while declaring itself. New Key word is important.
Ex:- Dim x as New Object

What is Dataware Control?
Any control bound to Data Control.
Ex:- Textbox, Check Box, Picture Box, Image Control, Label, List box, Combo Box, DB Combo,

What methods are used for DBGrid in unbound mode?
AddData, EditData, Readdata, WriteData.

What is ADO? What are its objects ?
ActiveX Data Object. ADO can access data from both flat files as well as the databases. I.e., It is
encapsulation of DAO, RDO, and OLE that is why we call it as OLE-DB Technology. Objects are
Connection, Record Set, Command, Parameter, field, Error, Property.

What is the max size allowed for Max Text box length.
32,000

Record set types and Number available in VB?
3.
1- Dynaset, 0 Table, 2 Snap Shot.

What is the max size allowed for Max Control Names length?
255.

How many procedures are in VB?
2.
function and sub procedures

What is the max size allowed for Max label caption length.?
2,048

what will be the result for 15/4 and 154 ?
15/4 = 3.75 and 154 = 3

What is the max size allowed for Msgbox Prompt and Input Box?
1024

Calling Stored Procedures in VB?
1. Calling Simply the Procedure with out Arguments "Call ProcedureName}"
2. If it is with Arguments Means then
Declare the Query Def qy
Set Qy as New Query def
Qy.SQL = "{Call ProcedureName(?

DSN Less Connection?
"Server=Oracle; Driver={Microsoft ODBC for Oracle};"

Ques:-  0 and -1 Error handling in VBA and VB6.
Ans :-  This is also called VBA default exception handling. When On Error Goto 0 is in effect, it is same as having no error handler in the code. Here we are instructing the program to display the standard runtime message box with ‘Continue’, ‘End’, ‘Debug’ and ‘Help’ buttons.

1. On Error GoTo 0 disables any error trapping currently present in the procedure.
2. On Error GoTo -1 clears the error handling and sets it to nothing which allows you to create another error trap.

After the first error is raised, it will GoTo ErrorFound which will then clear the routine's error handling and set a new one, which will GoTo AnotherErrorFound when an error is found.

Sub OnErrorGotoMinusOneTest()
    On Error GoTo ErrorFound
    Err.Raise Number:=9999, Description:="Forced Error"
    Exit Sub
ErrorFound:
    On Error GoTo -1 'Clear the current error handling
    On Error GoTo AnotherErrorFound 'Set a new one
    Err.Raise Number:=10000, Description:="Another Forced Error"
AnotherErrorFound:
    'Code here
End Sub



1. On Error GoTo 0 disables any error trapping currently present in the procedure.
2. On Error GoTo -1 clears the error handling and sets it to nothing which allows you to create another error trap.

Example: On Error GoTo -1

After the first error is raised, it will GoTo ErrorFound which will then clear the routine's error handling and set a new one, which will GoTo AnotherErrorFound when an error is found.

Sub OnErrorGotoMinusOneTest()
    On Error GoTo ErrorFound
    Err.Raise Number:=9999, Description:="Forced Error"
    Exit Sub
ErrorFound:
    On Error GoTo -1 'Clear the current error handling
    On Error GoTo AnotherErrorFound 'Set a new one
    Err.Raise Number:=10000, Description:="Another Forced Error"
AnotherErrorFound:
    'Code here
End Sub


Example: On Error GoTo 0

After the first error is raised, you will receive the error as error handling has been disabled.

Sub OnErrorGotoZeroTest()
    On Error GoTo 0
    Err.Raise Number:=9999, Description:="Forced Error"
End Sub

VB 6 Windows Media Player

This is a VB6 Windows media player that can play all kinds of media files such as wav, midi, mp3, mpeg video, avi video and more. When you launch the program, you can select media files of different types from different sources such as your hard drives, CD and even the URL of a webpage . After you have selected a particular file, you can play it using the customized button or you can use the buttons of the Windows Media Player
In this program, you need to insert the Windows Media Player Control. This control is not available in the default VB6 IDE, you have to press CTRl+T keys to bring up the components dialog, and check the Windows Media Player then click OK. In addition, you need to insert Microsoft Common Dialog Control 6.0 into the form. This control is also not available in the default IDE, press CTRL+T to bring up the components windows and check on this control.
Now you are ready to design the player's interface. First, drag the Windows Media Player control into the form and reside it to a certain size. Set its fullScreen property to false. Next, insert Microsoft Common Dialog Control 6.0 in the form and then insert five command buttons in the form. Change the caption of first button to Open, second one to Play, third one to Close, fourth one to Exit and the last one to Full Screen. Finally, insert a text box for the purpose to display the URL of the selected media file.
For the Open command button, change its name to cmdOpen and enter the following codes:

Private Sub cmdOpen_Click()
Me.CommonDialog1.Filter = "WAV Files (*.wav)|*.wav|" & "MP3 Files (*.mp3)|*.mp3|" & "MP4 Files (*.mp4)|*.mp4|" & "Video Files (*.avi)|*.avi|" &"MPEG Files (*.mpg)|*.mpg|"
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
End Sub
For the Play button, change its name to cmdPlay and enter the following codes:
Private Sub cmdPlay_Click()
WindowsMediaPlayer1.URL = Text1.Text
End Sub
For the Stop button, change its name to cmdStop and enter the following codes:
Private Sub cmdStop_Click()
WindowsMediaPlayer1.Close
End Sub
For the Full Screen button, change its name to cmdMax and enter the following codes:
Private Sub cmdMax_Click()
WindowsMediaPlayer1.fullScreen = True
End Sub

Now run the program and click on the Open button. A dialog box will appear that allows you to choose your media files. After selected the file and click on the Play button.

Visual Basic 6.0 Interview Questions and Answers



1. What are the three main differences between flexgrid control and dbgrid(Data bound Grid) control?
Ans. The Microsoft FlexGrid (MSFlexGrid) control displays and operates on tabular data. It allows complete flexibility to sort, merge, and format tables containing strings and pictures. When bound to a Data control, MSFlexGrid displays read-only data.Adaptation to existing Visual Basic code for the data-bound grid (DBGrid).
dbgrid is A spreadsheet-like bound control that displays a series of rows and columns representing records and fields from a Recordset object.
The data grids are bound controls; that is, they require a data source that actually connects to a database and retrieves their data. And it seems that the root of the problem with DBGrid is that there’s no data source that can be readily included along with the DBGrid control.
In Visual Basic, the solution is simply to include the Data Control on the same form as DBGrid. But the Data Control is an intrinsic control; it’s unavailable to anything outside of the Visual Basic environment itself. and VB 6.0 has a new set of data controls (DataGrid, DataList, DataCombo, MSHFlexGrid, MSFlexGrid) that once again are bound controls. Unlike DBGrid, though, they support OLE DB, and therefore rely on the an ADO Data Source (and in particular the ActiveX Data Objects Data Control, or ADO DC) for data access. Unlike the Data Control, the ADO
DC is a custom control (that is, an .OCX) that can be added to any project. In short, if you add ADO DC to your project along with the
DataGrid control.
2. ActiveX and Types of ActiveX Components in VB ?
Ans. Standard EXE
        ActiveX EXE
        ActiveX DLL
        ActiveX document
        ActiveX Control

3. What is difference between inprocess and out of process ?
Ans. An in-process component is implemented as a DLL, and runs in the same process space as its client app, enabling the most efficient communication between client and component.Each client app that uses the component starts a new instance of it.
An out of process component is implemented as an EXE, and unlike a dll, runs in its own process space. As a result, exe’s are slower then dll’s
because communications between client and component must be marshalled across process boundaries. A single instance of an out of process component can service many clients.
4. Advantage of ActiveX Dll over Active Exe ?
Ans. ACTIVEX DLL:
=============
An in-process component, or ActiveX DLL, runs in another application’s process. In-process components are used by applications or other in-process components. this allows you to wrap up common functionality (like an ActiveX Exe).
ACTIVEX EXE:
=============
An out-of-process component, or ActiveX EXE, runs in its own address space. The client is usually an application running in another process.The code running in an ActiveX Exe is running in a separate process space. You would usually use this in N-Tier programming.
An ActiveX EXE runs out of process while an ActiveX DLL runs in the same process space as VB app. Also, and ActiveX EXE can be run independent of your application if desired.

5. Explain single thread and multithread thread apartments?
Ans. All components created with Visual Basic use the apartment model, whether they’re single-threaded or multithreaded. A single-threaded component has only one apartment, which contains all the objects the component provides.
This means that a single-threaded DLL created with Visual Basic is safe to use with a multithreaded client. However, there’s a performance trade-off for this safety. Calls from all client threads except one are marshaled, just as if they were out-of-process calls.

6. What is a Component?
Ans. If you compile an ActiveX dll, it becomes a component.
If you compile an ActiveX Control, it becomes both a component and a control. Component is a general term used to describe code that’s grouped by functionality. More specifically, a component in COM terms is a compiled collection of properties/methods and events.
Typically a component is loaded into your project via the References whereas an ActiveX Control is loaded into your project via “components”.

7. What is meant by “Early Binding” and “Late Binding”? Which is better?
Ans. Early binding and late binding refer to the method used to bind an interface’s properties and methods to an object reference (variable). Early binding uses type library information at design time to reference procedures, while late binding handles this at run time. Late binding
handles this by interrogating the reference before each call to insure that it supports a particular method. Since every call to a late bound
object actually requires two calls
(”Do you do this?” followed by “Okay, do it then”), late binding is much less efficient than early binding. Except where early binding is not supported (ASP, scripting, etc.), late binding should only be used in very special cases.
It is a common misconception that any code using the CreateObject function instead of Set = New is using late binding. This is not the case. The type declaration of the object variable determines whether
it is late or early bound, as in the following:
Dim A As Foo
Dim B As Foo
Dim C As Object
Dim D As Object
Set A = New Foo ‘Early Bound
Set B = CreateObject(”FooLib.Foo”) ‘Early Bound
Set C = CreateObject(”FooLib.Foo”) ‘Late Bound
Set D = New Foo ‘Late Bound
8. What are the Advantages of disconnected recordsets?
Ans. A disconnected Recordset, as its name implies, is a Recordset that lacks a connection.
seen that a Recordset that does not have a database connection can be very useful as a tool in your programming. It can save you time and effort and make your code more scalable.
In order to create a disconnected Recordset two Recordset properties must be set appropriately.
It is a requirement that the CursorLocation property is set to adUseClient and the LockType property is set to adLockBatchOptimistic. Note that the CursorType will default to adUseStatic if we don’t explicitly state that it should be set to adUseClient.) i.e
rst.LockType = adLockBatchOptimistic
rst.CursorLocation = adUseClient
However, we’ve recently discovered that these steps aren’t necessary. VB automatically assigns batch optimistic locking to newly created,
connectionless recordsets. And, of course, without a connection, a recordset can’t have any other cursor but a client-side one. To create one of these structures, then, the only thing you need do is create
the object variable instance. After that, you can simply begin adding fields to the construct.
To add fields, you use the Fields collection’s Append method. This method requires two parameters , the field name and the field data type. So, to create a connectionless recordset with two fields,you’d use code similar to:
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Fields.Append “CustID”, adVarChar
rst.Fields.Append “CustName”, adVarChar
Additional, optional Append method parameters include DefinedSize and Attrib. The DefinedSize argument takes the size of the field. Fill the Attrib parameter with constants that define additional field characteristics, such as whether it will allow null values or is updatable.
Since, in our technique, we want the fields to mirror the structure of the original recordset, we’ll simply use existing values for these parameters.
Disconnected Recordsets, first available with ADO 2.0, are the most commonly used mechanism to retrieve a Recordset and open a connection for only the necessary amount of time, thus increasing scalability. They are call disconnected because the connection to the database is closed.
The collections, properties, and methods of a disconnected Recordset are still available even though the connection is closed. This frees up server resources, given that the number of open connections is limited and database locking is a non-issue.
9. What are Benefits of wrapping database calls into MTS transactions?
Ans. If database calls are made within the context of a transaction, aborting the transaction will undo and changes that occur within that transaction.
This removes the possibility of stranded, or partial data. Transaction that uses the Microsoft® Transaction Server (MTS) environment. MSMQ implicitly uses the current MTS transaction if one is available.
BENIFTIS OF USING MTS :
Database Pooling, Transactional operations, Deployment, Security, Remote Execution This allows MTS to reuse database connections. Database connections are put to ?sleep? As opposed to being created and destroyed and are activated upon request.

10. How to register a component?
Ans. Compiling the component, running REGSVR32 MyDLL.dll
11. Controls which do not have events ?
Ans. Shape and line controls are useful for drawing graphical elements on
the surface of a form. These controls don’t support any events; they
are strictly for decorative purposes.
The image, shape and line controls are considered to be lightweight controls; that is, they support only a subset of the properties, methods, and events found in the picture box. Because of this, they typically require less system resources and load faster than the picture box control.

12. What are the Control Categories?
Ans. a)Intrinsic controls:
such as the command button and frame controls. These controls are contained inside the Visual Basic .exe file. Intrinsic controls are always included in the toolbox
b)ActiveX controls:
which exist as separate files with a .ocx file name extension. These include controls that are available in all editions of Visual Basic (DataCombo, DataList controls, and so on) and those that are available only in the Professional and Enterprise editions (such as Listview, Toolbar, Animation, and Tabbed Dialog). Many third-party ActiveX controls are also available.
c)Insertable Objects:
such as a Microsoft Excel Worksheet object containing a list of all your company’s employees, or a Microsoft Project Calendar object containing the scheduling information for a project. Since these can
be added to the toolbox, they can be considered controls.Some of these objects also support Automation (formerly called OLE Automation),which allows you to program another application’s objects from within a Visual Basic application.
13. What is the difference between Image and Picture box controls?
Ans. The sizing behavior of the image control differs from that of the picture box. It has a Stretch property while the picture box has an AutoSize property. Setting the AutoSize property to True causes a picture box to resize to the dimensions of the picture; setting it to False causes the picture to be cropped (only a portion of the picture is visible). When set to False (the default) , the Stretch property of the image control causes it to resize to the dimensions of the picture.
Setting the Stretch property to True causes the picture to resize to the size of the image control, which may cause the picture to appear
distorted.
14. What is the Default property of datacontrol ?
Ans. connect property.

15. Define the scope of Public, Private, Friend procedures?
Ans. The set of public variables, methods, properties, and events described in a class module define the interface for an object. The interface consists of the object members that are available to a programmer who’s using the object from code.
You can create private variables, methods, properties, and events that are used by other procedures within the class module but are not part of the object’s public interface. Additionally, constants user-defined types, and Declare statements within a class module must always be private.
The Friend keyword makes a procedure private to the project: The procedure is available to any code running within the project, but it is not available to a referencing project.
16. Describe Database Connection pooling relative to MTS ?
Ans. This allows MTS to reuse database connections. Database connections are put to ?sleep? as opposed to being created and destroyed and are activated upon request.
Object pooling is an important design concept required for high-performance applications. A performance optimization based on using collections of preallocated resources, such as objects or database connections. Pooling results in more efficient resource allocation.
17. What is the Difference between a function and a subroutine ?
Ans. A function accepts any number of parameters (possibly zero), does something with them, and returns a value. A subroutine is performs an action, but doesn’t return a value.
There are two differences between a function and a subroutine: A)How they are invoked. B)How they are accessed.
A function call has the following syntax ::
function(arg1, arg2, …)
where: function Is the name of the function. arg1, arg2, … Are the arguments.
A subroutine call has the following syntax
::subroutine (arg1, arg2, … {outputfield|’format’})
where: subroutine –>Is the name of the subroutine. arg1, arg2, … Are the arguments. {outputfield|’format’} Is the name of the output field or its format.
In addition, on some platforms, the functions are available immediately; whereas, the subroutines are available in a special subroutine library that you must access.
18. What is the Difference between Linked Object and Embedded Object?
Ans. Embedding objects -
When you embed an object, a copy of the object is inserted into the destination document. There’s no link to the original file. When you change information in the source document, no changes will be reflected in the destination document. The actual data for the object is stored within the destination file. To make changes to the embedded object, double click it and it will launch the original application the source file was in.
Linking objects -
Information is updated when you modify the original source file when you use a linked object. This dynamic updating is very handy for things such as the aforementioned monthly report. You can open up the Excel spreadsheet that is referenced within your Word document.Make changes to the spreadsheet, close Excel, and when you open your Word document… viola! The changes are already there. If that object is linked to ten other Word files, the changes are already in those ten files, too! actually linking or embedding an object is fast and easy.
19. What is the Difference between listbox and combo box?
Ans. A LISTBOX CONTROL displays a list of items from which the user can select one or more. If the number of items exceeds the number that can be displayed, a scroll bar is automatically added to the ListBox control. A COMBOX CONTROL combines the features of a text box and a list box. This control allows the user to select an item either by typing text into the combo box, or by selecting it from the list.
DIFF::Generally, a combo box is appropriate when there is a list of suggested choices, and a list box is appropriate when you want to limit input to what is on the list. A combo box contains an edit field, so choices not on the list can be typed in this field.
20. What is the Difference between Dynaset and Snapshot?
Ans. All Recordset objects are constructed using records (rows) and fields (columns). There are five types of Recordset objects:
Table-type Recordset:
representation in code of a base table that you can use to add, change, or delete records from a single database table (Microsoft Jet workspaces only).
Dynaset-type Recordset:
the result of a query that can have updatable records. A dynaset-type Recordset object is a dynamic set of records that you can use to add, change, or delete records from an underlying database table or tables. A dynaset-type Recordset object can contain fields from one or more tables in a database. This type corresponds to an ODBC keyset cursor.
Snapshot-type Recordset:
a static copy of a set of records that you can use to find data or generate reports. A snapshot-type Recordset object can contain fields from one or more tables in a database but can’t be updated. This type corresponds to an ODBC static cursor.
Forward-only-type Recordset:
identical to a snapshot except that no cursor is provided. You can only scroll forward through records. This improves performance in situations where you only need to make a single pass through a result set. This type corresponds to an ODBC forward-only cursor.
Dynamic-type Recordset:
a query result set from one or more base tables in which you can add, change, or delete records from a row-returning query. Further, records other users add, delete, or edit in the base tables also appear in your Recordset. This type corresponds to an ODBC dynamic cursor (ODBCDirect workspaces only).
21. What is the Difference Listindex and Tab index?
Ans. LIST INDEX:
Returns or sets theindex of the currently selected item in the control. Not available at design time.Default LIST INDEX IS -1 for ComboBox, DirListBox, and DriveListBox controls
TAB INDEX:
Returns or sets thetab order of most objects within their parent form. Visual Basic automatically renumbers the TabIndex of other controls to reflect insertions and deletions. You can make changes atdesign time using theProperties window or atrun time in code.The TabIndex property isn’t affected by the ZOrder method.
22. What is the Difference modal and moduless window?
Ans. MODAL forms are forms which require user input before any other actions can be taken place. In other words, a modal form has exclusive focus in that application until it is dismissed. When showing a modal form, the
controls outside this modal form will not take user interaction until the form is closed. The internal MsgBox and InputBox forms are examples of modal forms. To show a form modally, use the syntax:
MyForm.SHOW.vbModal ‘ a predeclared constant for 1
MODELESS forms are those which are shown but do not require immediate user input. MDI child forms are always modeless. To show a form modeless, use the syntax:: MyForm.SHOW
23. What is the Difference Object and Class?
Ans. Classes and objects are separate but related concepts. Every object belongs to a class and every class contains one or more related objects.
1)A Class is static. All of the attributes of a class are fixed before,during, and after the execution of a program. The attributes of a class don’t change.The class to which an object belongs is also (usually) static. If a particular object belongs to a certain class at the time that it is created then it almost certainly will still belong to that class right up until the time that it is destroyed.
2)An Object on the other hand has a limited lifespan. Objects are created and eventually destroyed. Also during that lifetime, the attributes of the object may undergo significant change.So basically the difference between a class and an object is that a class is a general concept while objects are the specific and real instances that embody that concept. When creating an object oriented program we define the classes and the relationships between the classes . We then execute the program to create, update, and destroy the objects which are the specific realization of these classes.
24. What is the Difference Query unload and unload in form?
Ans. Occurs before a form or application closes. When an MDIForm object closes, the QueryUnload event occurs first for the MDI form and then in all MDI child forms. If no form cancels the QueryUnload event, the Unload event occurs first in all other forms and then in an MDI form. When a child form or a Form object closes, the QueryUnload event in that form occurs before the form’s Unload event.
25. What is the Difference Declaration and Instantiation an object?
Ans. Dim obj as OBJ.CLASS with either
Set obj = New OBJ.CLASS or
Set obj = CreateObject(?OBJ.CLASS?) or
Set obj = GetObject( ,? OBJ.CLASS?)
or
Dim obj as New OBJ.CLASS
Set object = Nothing
ensure the object is release from the memory.
If this object is a form, you can add set myform = nothing and Form_Unload() event.Maintain a habit of remove the object by using set object = nothing which will benefit at last.
Visual Basic is supposed to automatically release objects when they go out of scope. To free up some memory usage, you can set the object to
nothing.
26. Draw and explain Sequence Modal of DAO.
Ans. Connection,Container,Database,DBEngine,Document,Error,Field,Group,Index
Parameter Property,QueryDef,Recordset,Relation,TableDef,User,Workspace
Version |Year |Significant Changes and New Features of Visual Basic?
1 1991 initial release, with drag and drop GUI creation
2 1992 ODBC, object variables
3 1993 Access Engine, OLE 2.0, Crystal Reports, new tools and controls
4 1995 classes, OCXs
5 1997 compiler, ActiveX controls
6 1998 web support, windowless controls, designers, data sources
.NET 2001 XML, SOAP, inheritance, structured exception handling
27. How can objects on different threads communicate with one another?
Ans. Processes communicate with one another through messages, using Microsoft’s Remote Procedure Call (RPC) technology to pass information to one another. There is no difference to the caller between a call coming from a process on a remote machine and a call coming from another process on the same machine.
Multithreaded applications must avoid two threading problems: deadlocks and races. A deadlock occurs when each thread is waiting for the other to do something
28. How can you force new objects to be created on new threads?
Ans. The CreateThread function creates a thread to execute within the virtual address space of the calling process.
To create a thread that runs in the virtual address space of another process Creating a new thread is as easy as declaring it and supplying it with a delegate to the method where the thread is to start. When you are ready to begin execution on the thread, call the Thread.Start Method. There are special considerations involved when working with multiple threads of execution.
To create a new thread of execution
====================================
Declare the thread.
******************
‘ Visual Basic
Dim myThread as System.Threading.Thread
// C#
System.Threading.Thread myThread;
Instantiate the thread with the appropriate delegate for the starting point of the thread. Use the AddressOf operator to create the delegate
in Visual Basic, or create a new ThreadStart object in C#.
*******************
‘ Visual Basic
myThread = New System.Threading.Thread(AddressOf
myStartingMethod)
// C#
myThread = new System.Threading.Thread(new
System.Threading.ThreadStart(myStartingMethod));
call the Thread.Start method to start the thread.
*******************
‘ Visual Basic
myThread.Start()
// C#
myThread.Start();
29. How does a DCOM component know where to instantiate itself?
Ans. To create a remote instance of a script component, call the CreateObject method, passing it the name of the remote computer as a parameter. If the remotable attribute of a script component’s <registration> element has been set to “true,” the script component can be instantiated remotely from another computer using Distributed COM (DCOM).
Both computers must have basic DCOM installed. Note The ability to use CreateObject for instantiating remote script components requires Visual Basic 6.0 or later or VBScript 5.0 or later. The following Visual Basic example shows how to do this on a computer named “myserver”:
Set newS = CreateObject(”Component.MyComponent”, “myserver”)
Note There can be a slight delay when you first instantiate a remote script component while DCOM establishes communication between the computers.
1. You can specify the machine on which you want to create the remote server object in DCOM config (’dcomcnfg’).
2. You can specify the machine name when instantiating the remote server object.
In C you can do this with a call to CoGetClassObject or CoCreateInstanceEx (instead of CoCreateInstance, which does not allow you to specify the name of the machine).
In VB you can specify the name in one of the parameters in the call to CreateObject
30. What type of multi-threading does VB6 implement?
Ans. Apartment model threading

31. What is Database Connection pooling (relative to MTS)?
Ans. This allows MTS to reuse database connections. Database connections are
put to “sleep” As opposed to being created and destroyed and are activated upon request.

32. What is the tool used to configure the port range and protocols for DCOM communications?
Ans. DCOMCONFIG.EXE

33. What is a Type Library and what is it’s purpose ?
Ans. The type library may represent another Visual Basic project, or any other executable component that exposes a type library.
Visual Basic creates type library information for the classes you create, provides type libraries for the objects it includes, and lets you access the type libraries provided by other applications.

34. What are binary and project compatibility?
Ans. Visual Basic’s Version Compatibility feature is a way of enhancing your components while maintaining backward compatibility with programs that were compiled using earlier versions. The Version Compatibility box, located on the Component tab of the Project Properties dialog box, contains three options:
No Compatibility:
Each time you compile the component, new type library information is generated, including new class IDs and new interface IDs. There is no relation between versions of a component, and programs compiled to use one version cannot use subsequent versions.
Project Compatibility:
Each time you compile the component the type library identifier is kept, so that your test projects can maintain their references to the component project. All class IDs from the previous version are maintained; interface IDs are changed only for classes that are no longer binary-compatible with their earlier counterparts. Note This is a change in Project Compatibility from Visual Basic 5.0, where all class IDs and interface IDs in the project changed if any one class was no longer binary-compatible.
Important For the purpose of releasing compatible versions of a component, Project Compatibility is the same as No Compatibility.
Binary Compatibility:
When you compile the project, if any binary-incompatible changes are detected you will be presented with a warning dialog. If you choose to accept the warning, the component will retain the type library identifier and the class IDs. Interface IDs are changed only for classes that are no longer binary-compatible. This is the same behavior as Project Compatibility.
If, however, you choose to ignore the warning, the component will also maintain the interface IDs. This option is only available when the compiler determines that the change was in the procedure ID or signature of a method.
Note:: When people talk about Version Compatibility, they’re usually referring to Binary Compatibility.
How to set a shortcut key for label?
object.KeyLabel(keycode) [= string]
You would probably create the menu item as follows:
.Add “keyFile”, , , “E&xit”, , vbAltMask + vbCtrlMask, vbKeyEnd
The default key label for vbKeyEnd is “End”. Thus, the shortcut string will be created by default as “Ctrl+Alt+End”.
35. Name the four different cursor and locking types in ADO and describe them briefly ?
Ans. CURSORS:
*********
The cursor types are listed from least to most resource intensive.
Forward Only - Fastest, can only move forward in recordset
Static - Can move to any record in the recordset. Data is static and never changes.
KeySet - Changes are detectable, records that are deleted by other users are unavailable, and records created by other users are not detected Dynamic - All changes are visible.
LOCKING TYPES:
****************
LockPessimistic - Locks the row once after any edits occur.
LockOptimistic - Locks the row only when Update is called.
LockBatchOptimistic - Allows Batch Updates.
LockReadOnly - Read only. Cannot alter the data.
36. Name the different compatibility types when creating a COM component?
Ans. No Compatibility - New GUID (Globally Unique Identifier) created, references from other components will not work Project Compatibility - Default for a new component <Not as critical to mention this one>
Binary Compatibility - GUID does not change references from other components will work
Why is it important to use source control software for source code?
Modification history. Code ownership: Multiple people cannot modify the same code at the same time.
37. List the ADO objects?
Ans. Connection -Connects to a data source; contains the Errors collection
Command - Executes commands to the data source. The only object that can accept parameters for a stored procedure Recordset - The set of data returned from the database.
Under the ADO Command Object, The Parameters collection. collection is responsible for input to stored procedures.
38. What two methods are called from the ObjectContext object to inform MTS that the transaction was successful or unsuccessful?
Ans. SetComplete and SetAbort.

39. What is the benefit of wrapping database calls into MTS transactions?
Ans. Aborting the transaction will undo and changes that occur within that transaction. This removes the possibility of stranded, or partial data
40. Describe and In Process vs. Out of Process component. Which is faster?
Ans. An in-process component is implemented as a DLL, and runs in the same process space as its client app, enabling the most efficient communication between client and component. Each client app that uses the component starts a new instance of it.
An out of process component is implemented as an EXE, and unlike a dll, runs in its own process space. As a result, exe’s are slower then dll’s because communications between client and component must be marshaled across process boundaries. A single instance of an out of process component can service many clients.How would you declare and raise custom events in a class?
a) Public Event OnVarChange();
b) RaiseEvent OnVarChange[(arg1, arg2, ... , argn)]

41. What is the difference between a Property Let and Property Set procedure?
Ans. Let - for simple variable
 Set - for object

42. What is the difference between ANSI and UNICODE strings when passed as arguments to a DLL?
Ans. ANSI - one byte for a char UNICODE - two bytes per char - works only on NT

43. What is the difference in passing values ByRef or ByVal to a procedure?
Ans. ByRef -pass the address (for string -address of address of first byte)
BY REF IS VERY USEFULL When the contents itself are being modified, when there is large data. Multiple arguments are needed to be returned, instead they can be passed as reference.
ByVal -pass the value (for string -it is the address of first byte)

44. What is the purpose of the DoEvents command?
Ans. Fields execution so that the operating system can process other events. Returns number of open forms. Useful for things like ‘cancel search’ in Windows
Name and define the logical tiers in a traditional 3-tiered architecture?
Presentation logic - front end (HTML, Visual Basic forms)
Business Logic - Applications and components that encapsulate business logic
Data end - databases to store data

45. What is the difference between a PictureBox and Image control?
Ans. Image Control - Use this to display a picture. Use it over the PictureBox because it takes less operating system resources
PictureBox- While it can display pictures, it also acts as an area on which you can print text and graphics. Use it for home-grown graphics or print previews.

46. Under which circumstance does a VB application ignore a Timer event?
Ans. When the system is really busy doing something else and when DoEvents is being executed

47. What does the NewIndex property return?
Ans. Used to retrieve the index of the item most recently added to a ListBox or ComboBox control.

48. What is the purpose of the ClipControls property on a form or container?
Ans. Returns or sets a value that determines whether graphics methods in Paint events repaint the entire object or only newly exposed areas. Also determines whether the Microsoft Windows operating environment creates a clipping region that excludes non-graphical controls contained by the object. Read-only at run time.

49. What is the purpose of the AutoRedraw property on a form or container?
Ans. Setting AutoRedraw to True automatically redraws the output from these methods in a Form object or PictureBox control when, for example, the object is resized or redisplayed after being hidden by another object

50. What version control systems have you used?
Ans. TLIB 16-Bit add-in

51. How about any other database engines?
Ans. Apollo OLE DB ,Apollo Server ,Apollo SQL ,FUNCky ,R&R Report Writer.

52. What kind of components can you use as DCOM servers?
Ans. actve-x components, Com
Dim x, y as integer. What is x and y data type?
X as variant and y as integer.

53. What is the size of the variant data type?
Ans. The Variant data type has a numeric storage size of 16 bytes and can contain data up to the range of a Decimal, or a character storage size of 22 bytes (plus string length), and can store any character text.

54. What is the return type of Instr and Strcmp?
Ans. Instr – integer (Numeric position)
Strcmp - integer ( if both the string are equal they result = 0)
Strcmp (Str1, Str2, Comparetype)
Comparing mode = 0 – Binary Comparing
1 – Textual Comparing

55. What is the max size allowed for Msgbox Prompt and Input Box?
Ans. 1024
Max label caption length. –
2,048
Max Text box length –
32,000
Max Control Names length –
255.

56. What is the Extensions used  in Visual Basic?
Ans. Frm, bas, cls, res, vbx, ocx, frx, vbp, exe
57. What is frx?
Ans. When some controls like grid and third party control placed in our application then it will create frx in run time.

58. What will be the result for 15/4 and 15\4 ?
Ans. 15/4 = 3.75 and 15\4 = 3

59. What is keyword used to compare to objects?
Ans. ISOperator – Returns Boolean.

60. How many procedures are in VB?
Ans. function and sub procedures. Function Will return value but a sub procedure wont return values.

61. Where will we give the option explicit keyword and for what?
Ans. In the general declarations section. To trap undeclared variables.

62. What is Friend Variable?
Ans. Scope sharable between projects.What is binding? What are types of binding?
Assigning variable with defined memory space. Late Binding - Memory size is allotted in later stage.
Ex:- Dim x as object
Early Binding - Memory size is allotted while declaring itself. New Key word is important.
Ex:- Dim x as New Object

63. What is the difference between Property Get, Set and Let?
Ans. Set – Value is assigned to ActiveX Object from the form.
Let – Value is retried to ActiveX Object from the form.
Get- Assigns the value of an expression to a variable or property.

64. What is Mask Edit and why it is used?
Ans. Control. Restricted data input as well as formatted data output.
Drag and Drop state numbers and functions.
State 0 – Source control is being dragged with the range of a target.
1 – Out of the range of a target.
2 – One positon in the target to another.

65. What are the type of validation available in VB?
Ans. Field, Form

66. With in the form we want to check all the text box control are typed or not? How?
Ans. For each currentcontrol in controls if typeof currentcontrol is TextBox then end if next.

67. What is control array and How many we can have it with in the form?
Ans. Group of control share the same name. Max 32, 767.What is the default model of the form? And

68. Suppose from form1 to form2 object property settings will arise to ?
Ans. Invalid procedure call or argument (Run time error – 5)

69. What is the diff between the Std and Class Module?
Ans. Std Global with in the project. Cls Global through out the all project only thing is we want to set the type lib. Class Modules can be Instantiated.

70. What are the Different type of Instantiation?
Ans. Private – Only for the Specific Module.
Public not creatable – Private & Public
Multi Use - Variable we have to declare.
Single Use – Not possible through dll.
Global Multiuse – Have variable not Required to
Declare. Global Single Use - Only for exe.
71. How to declare Dll Procedure?
Ans. Declare function “<Function Name>” lib “<Lib Name>” Alias “<Alias Name>” (Arg, …..) as Return type.

72. What is MDI form? MDI Styles?
Ans. We can have only one MDI form for a project. Multiple Document Interface. This form type is VBModal. We have set the Child property of the forms to True to place forms inside this MDI.
Style availables 1. VbCascade 2. VbTitle Horizontal

73. How many images can be placed in the image list ?
Ans. 64

74. Explain different type of Datatypes?
Ans. LOB (Large Object Data type).
CLOB (Stores Character Objects).
BLOB ( Store Binary Objects such as Graphic, Video Chips and Sound files).
BFILE(Store file pointers to LOB It may Contain filename for photo’s store on CD_ROM).

75. What is Zorder Method?
Ans. Object.Zorder = 1 or 0 Place a Specified mdiform form or control at the front or back of the z-order with n its Graphical Level.

76. What is diff between the Generic Variable and Specific Variable?
Ans. Generic Variable:Create Object Ex:-Ole-Automation . No need refer the object library.
Specific Variable: Binding Procedure Early and Late Binding ( Can be Remove from the Memory).
77. What are properties available in Clip Board?
Ans. No Properties Available. Only the methods they are SetText, GetText, Setdata(), Getformat(), Clear.

78. What is Dll?
Ans. Libraries of procedure external to the application but can be called from the application.

79. What is Tabstrip control? What is the starting Index value? How to locate it?
Ans. It is tab control to place our controls with in the form in multiple sheets.
Index starts with 1. And to identify
If Tabstrip1.SelectedItem.Index = 1 Then
…..
End if

80. Why we use Treeview Control?
Ans. To list the hierarchial list of the node objects. Such of files and Directories.

81. Why we need OLE-Automation? Advantages?
Ans. Enables an application to exposes objects and methods to other Applications.
No need to reserve memory. No need to write functions.
Object library that simplify programming tasks. i.e., No need to Object library. (OLB, TLB).

82. What is the diff between the Create Object and Get object?
Ans. Create Object - To create an instance of an object.
Get Object – To get the reference to an existing object.

83. How to create Properties and Methods for your own Controls?
Ans. Properties – Public variable of a Class
Method – Public procedure of a classWhat is Collection Objects?
Similarly to arrays but is preferred over an array because of the following reasons.
1. A collection objects uses less Memory than an array.
2. It provides methods to add and delete members.
3. It does not required reason statement when objects are added or deleted.
4. It does not have boundary limitations.

84. What is Static Variable?
Ans. Its Scope will be available through out the life time.

85. What is Implicit?
Ans. Instance of specific copy of a class with its own settings for the properties defined in that class. Note: The implicity defined variable is never equal to nothing.

86. What are the scope of the class?
Ans. Public , private, Friend

87. Can we able to set Instancing properties like Singleuse, GlobalSingleuse to ActiveXDll?
Ans. No.

88. In project properties if we set Unattended what is it mean?
Ans. This cannot have user interface. This can be used for the COM creation.What are the Style Properties of Combo Box?
Simple, Dropdown list – We can type and select.
Dropdown Combo – Only Drop Down.

89. What are the Style properties of List Box?
Ans. Simple –Single Select , Extended. – Multiple Select.

90. What are the different types of Dialog Box?
Ans. Predefined, Custom, User Defined.

91. What is Parser Bug?
Ans. It is difficult to use database objects declared in a module from within a form.

92. What is the Dll required for running the VB?
Ans. Vbrun300.dll

93. Can We create CGI scripts in VB?
Ans. Yes.

94. How to change the Mouse Pointer?
Ans. Screen.MousePointer = VBHourGlass/VBNormal.

95. How to check the condition in Msgbox?
Ans. If(Msgbox(”Do you want to delete this Record”,VbYesNo)=VbYes)Then End if

96. What is difference between datagrid and flexgrid?
Ans. Datagrid – Editable.
Flexigrid – Non-Editable. (Generally used for Read only purpose.)

97. What is ADO? What are its objects ?
Ans. ActiveX Data Object. ADO can access data from both flat files as well as the databases. I.e., It is encapsulation of DAO, RDO, and OLE that is why we call it as OLE-DB Technology. Objects are Connection, Record Set, Command, Parameter, field, Error, Property.

98. What is Dataware Control?
Ans. Any control bound to Data Control.
Ex:- Textbox, Check Box, Picture Box, Image Control, Label, List box, Combo Box, DB Combo

99. What are the locks available in Visual Basic?
Ans. Locking is the process by which a DBMS restricts access to a row in a multi-user environment
4 types of locks. They are
1.Batch Optimistic
2.Optimistic
3.Pessimistic
4.ReadOnly

100. What is the diff between RDO and ADO?
Ans. RDO is Hierarchy model where as ADO is Object model. ADO can access data from both flat files as well as the data bases. I.e., It is
encapsulation of DAO, RDO , OLE that is why we call it as OLE-DB Technology.

101. How can we call Stored procedure of Back End in RDO and ADO ?
Ans. In RDO – We can call using RDO Query Objects.
In ADO – We can call using Command Objects.

102. What is the different between Microsoft ODBC Driver and Oracle OBDC Driver?
Ans. Microsoft ODBC driver will support all the methods and properties of Visual Basic. Where as the Oracle not.

103. What are the Technologies for Accessing Database from Visual Basic?
Ans. DAO, Data Control, RDO, ODBCDIRECT, ADO, ODBC API.

104. How to Call Stored Procedures in VB?
Ans. 1. Calling Simply the Procedure with out Arguments “Call ProcedureName}”
If it is with Arguments Means then
Declare the Query Def qy
Set Qy as New Query def
Qy.SQL = “{Call ProcedureName(?,?,?)}”
qy(0)=val(Txt1.Text)
qy(1)=val(Txt2.Text)
qy(2)=val(Txt3.Text)
Set Rs = Qy.OpenresultSet
Txt(1)=Rs.RdoColumns(0)What is MAPI ?
Messaging Application programing Interface.

105. Describe Different type of Passing Value?
Ans. By value, By ref, Optional, Param Array.
Note:- Optional keyword cannot be used while declaring arguments for a function using param array.

106. What are the different types of error?
Ans. Syntax Errors, Runtime , Logic.

107. What is Seek Method which type of record set is available this?
Ans. Only in DbOpenTables.
Syntax: rs.index = “empno”
rs.seek “=” , 10
If with our setting the rs.index then run time error will occur.

108. What is Centralization Error Handling?
Ans. Writing funciton and calling it when error occurs.

109. What is Handling Error in Calling chain.
Ans. This will call the top most error where the error is handled.

110. To connect the Data Control with Back end What are all the properties to be set?
Ans. Data source Name, Record Source Name

111. How to trap Data Base Error?
Ans. Dim x as RDOError
X(0).Des
X(1).NumberWhat is view Port?
The area under which the container provides the view of the ActiveX Document is known as a view port.

112. What methods are used for DBGrid in unbound mode?
Ans. AddData, EditData, Readdata, WriteData.

113. How to increase the Date corresponding with month,date,year?
Ans. DateSerial(year(Now),Month(Now)+1,1)
Hour, min, sec, month, year, DateSerial, dateadd, datediff, weekday, datevalue, timeserial,timevalue.
Setting the Cursors.
Default Cursor – 0
ODBC Cursor (Client side) – 1
ServerSide Cursors (More Network traffic) - 2Cursor management
Client Batch – Batch up the Multiple SQL Statements in a single string and Send them to the Server at one time.

114. What are the RDO Methods and Events?
Ans. Methods Events
Begin Trans Validate
Commit Trans Reposition
Rollback Trans Error
Cancel Query Complied
Refresh
Update Controls
Update rowWhat is Static Cursor?
In ADO Snap Shot is called so.

115. What is Mixed Cursors?
Ans. Static + Keyset

116. What is FireHouse Cursors?
Ans. Forward Only Some time Updateable

117. What is DBSqlPassThrough?
Ans. It will By Passing the Jet Query Processor.

118. What is DBFailError?
Ans. Rolls Back updates if any errors Occurs.

119. What is RdExecDirect?
Ans. Bypasses the Creation of a stored procedure to execute the query. Does not apply to Oracle.
RdoParameter Object RdoParameterConstant
Direction RdparamInput
RdparamInputOutput
RdParamOutput
Name
Type
Value

120. In Form_Unload Event and Form_QueryUnload, which Event fire First?
Ans. QueryUnload.


121. What is the difference between Option Base and Option Explicit?
Ans. Option Base: When an array is declared by default starting index number is 0. By using this statement the programmer can change the starting index number. But according to coding conventions this concept should not be used.

Option Explicit: Declaring a variable in Visual Basic is not must. By Default every variable are considered as Variant. It causes unnecessary memory wastage. If Option Explicit is declared, every variable must be defined. It is declared on the top of the form general declaration.

122. How many Events in a form?
Ans. 31 Events.

123. What property of Menu can not be set at runtime?
Ans. Name Property.

124. Does Visual Basic 6 support OOPS Concepts? Explain it.
Ans. It does not support Inheritance and Data Binding.

125. How to get Cursor position using API?
Ans. GetCursorPos() is the API that is used to get the cursor position.

126. What is adUseClient and adUseServer? Where is it going to affect in runtime?
Ans. If the CursorLocation Property is set to adUseClient, the recordset will be available at client as disconnected recordset, where User can do any changes on it, then using the ActiveConnection, we can connect to the database once again and update the modifications.
      If the CusorLocation Property is set to adUseServer, the recordset is available at server side with active connection, can perform any transaction with the database.

127. What is OOPS? What is Polymorphism? Does VB6 supports OOPS concept? Explain it.
Ans. OOP(s) is Object Oriented Programming.
Polymorphism is the ability to change implementation of a defined method depending on the object in question. Polymorphism can be achieved by abstract classes or Interfaces. Interfaces are totally Polymorphic as they just have the concept defined but the implementation has to be done by deriving childes.
Visual Basic 6.0 does not support Object Oriented Programming Concepts completely.

vb6.0 interview questions and answers



How do you register a component?
Compiling the component, running REGSVR32 MyDLL.dll

Name and explain the different compatibility types when creating a COM component
No Compatibility ? New GUID created, references from other components will not workProject
Compatibility ? Default for a new component Binary Compatibility ? GUID does not change,
references fromother components will work

Why is it important to use source control software for source code?
Modification history.Code ownership: Multiple people can not modify the same code at the same time.

What two methods are called from the ObjectContext object to inform MTS that the transaction was successful or unsuccessful?
SetComplete and SetAbort.

What is the tool used to configure the port range and protocols for DCOM communications?
DCOMCONFIG.EXE

What does Option Explicit refer to?
All variables must be declared before use. Their type is not required.

What are the different ways to Declare and Instantiate an object in Visual Basic 6?
Dim obj as OBJ.CLASS with eitherSet obj = New OBJ.CLASS orSet obj =
CreateObject(OBJ.CLASS?) orSet obj = GetObject( , OBJ.CLASS?)orDim obj as New OBJ.CLASS

Name the four different cursor types in ADO and describe them briefly.
The cursor types are listed from least to most resource intensive.Forward Only Fastest, can only move
forward in recordset Static Can move to any record in the recordset. Data is static and never
changes.KeySet Changes are detectable, records that are deleted by other users are unavailable, and
records created by other users are not detectedDynamic ? All changes are visible.

Name the four different locking type in ADO and describe them briefly.
LockPessimistic Locks the row once after any edits occur.LockOptimistic Locks the row only when
Update is called.LockBatchOptimistic Allows Batch Updates.LockReadOnly Read only. Can not alter
the data.
Describe Database Connection pooling (relative to MTS )?
This allows MTS to reuse database connections. Database connections are put to sleep as opposed to
being created and destroyed and are activated upon request.

What are the ADO objects?
Provide a scenario using three of them to return data from a database. Expected answer: Connection
Connects to a data source; contains the Errors collectionCommand Executes commands to the data
source. Is the only object that can accept parameters for a stored procedure.Recordset The set of data
returned from the database.Scenario: There are many possibilities. The most likely is as follows:Dim
conn As ADODB.ConnectionDim rs As ADODB.RecordsetDim Cmd As
ADODB.Commandconn.ConnectionString = ?CONNECTION STRING?conn.OpenSet
Cmd.ActiveConnection = connCmd.CommandText = ?SQL STATEMENT?Set rs = Cmd.ExecuteSet
rs.ActiveConnection = Nothingconn.Close

Under the ADO Command Object, what collection is responsible for input to stored procedures?
The Parameters collection.

What are some benefits of using MTS?
Database Pooling, Transactional operations, Deployment, Security, Remote Execution.

What is the benefit of wrapping database calls into MTS transactions?
If database calls are made within the context of a transaction, aborting the transaction will undo and
changes that occur within that transaction. This removes the possibility of stranded, or partial data.

Describe and In Process vs. Out of Process component. Which is faster?
An in-process component is implemented as a DLL, and runs in the same process space as its client
app, enabling the most efficient communication between client and component.Each client app that
uses the component starts a new instance of it.An out of process component is implemented as an EXE,
and unlike a dll, runs in its own process space. As a result, exe’s are slower then dll’s because
communications between client and component must be marshalled across process boundaries. A
single instance of an out of process component can service many clients.

What are the main components of the ADO object model? How are they used?
Connection: Used to make a connection between your app and an external data source, ie, sql
server.Command: Used to build queries, including user-specific parameters, to access records from a
data source (which are returned in a Recordset)Recordset:Used to access records returned from an SQL
query. With a recordset, you can navigate returned records. You can also add, modify or delete records.

Can We create CGI scripts in VB??
Yes.

Dim x, y as integer. What is x and y data type?
X as variant and y as integer.

What is Centralization Error Handling?
Writing function and calling it when error occurs.

What is frx?
When some controls like grid and third party control placed in our application then it will create frx in run time.

What is the Dll required for running the VB?
Vbrun300.dll

Why we use Treeview Control?
To list the hierarchical list of the node objects. Such of files and Directories.

Handling Error in Calling chain.
This will call the top most error where the error is handled.

In project properties if we set Unattended what is it mean?
This cannot have user interface. This can be used for the COM creation.

What is the size of the variant data type?
The Variant data type has a numeric storage size of 16 bytes and can contain data up to the range of a
Decimal, or a character storage size of 22 bytes (plus string length),and can store any character text.

What is view Port?
The area under which the container provides the view of the ActiveX Document is known as a view port.


What are the different types of error?
Syntax Errors, Runtime , Logic.

What is the diff between the Std and Class Module?
Std Global with in the project. Cls Global through out the all project only thing is we want to set the type lib. Class Modules can be Instantiated.

What is Mixed Cursors?
Static + Keyset

Drag and Drop state numbers and functions?
State 0 Source control is being dragged with the range of a target.
1 Out of the range of a target.
2 One position in the target to another.

What are the Style Properties of Combo Box?
Simple, Dropdown list We can type and select. Dropdown Combo Only Drop Down.

What are the Style properties of List Box?
Simple Single Select , Extended. Multiple Select.

What is Collection Objects?
Similarly to arrays but is preferred over an array because of the following reasons.
1. A collection objects uses less Memory than an array.
2. It provides methods to add and delete members.
3. It does not required reason statement when objects are added or deleted.
4. It does not have boundary limitations.

What is the difference between Property Get, Set and Let?
Set Value is assigned to ActiveX Object from the form.
Let Value is retried to ActiveX Object from the form.
Get- Assigns the value of an expression to a variable or property.

How to change the Mouse Pointer?
Screen.MousePointer = VBHourGlass/VBNormal.

What is Friend Variable?
Scope sharable between projects.

What is DBFailError?
Rolls Back updates if any errors Occurs.

What are the record set types?
RdOpenFowardOnly 0 (Default used only for the read only purpose)
RdOpenStatic 1
RdOpenDynamic 2
RdOpenKeySet 3 (Normally used for the live project)

What is the diff between RDO and ADO?
RDO is Hierarchy model where as ADO is Object model. ADO can access data from both flat files as
well as the data bases. I.e., It is encapsulation of DAO, RDO , OLE that is why we call it as OLE-DB Technology.

Diff types of Lock Types?
RdConcurReadOnly 0 (Default)
RdConcurLock 1 (Pessimistic Locking)
RdConcurRowver 2 (Optimistic Lociking)
RdConcurValues 3
RdConcurBatch 4

What are the scopes of the class?
Public, private, Friend

Have you create Properties and Methods for your own Controls?
Properties Public variable of a Class
Method Public procedure of a class

Private Dim x as integer. Valid ?
Private cannot be used in front of DIM.

Different type of Instantiation?
Private Only for the Specific Module.
Public not creatable Private & Public
Multi Use - Variable we have to declare.
Single Use Not possible through dll.
Global Multiuse Have variable not Required to Declare.
Global Single Use - Only for exe.

What are the different types of Dialog Box?
Predefined, Custom, User Defined.

What is Seek Method which type of record set is available this?
Only in DbOpenTables.
Syntax: rs.index = "empno"
rs.seek "=" , 10
If with our setting the rs.index then run time error will occur.

What is Zorder Method?
Object.Zorder = 1 or 0 Place a Specified mdiform form or control at the front or back of the z-order
with n its Graphical Level.

Can us able to set Instancing properties like Singleuse, GlobalSingleuse to ActiveXDll?
No.

What are properties available in Clip Board?
No Properties Available. Only the methods they are SetText, GetText, Setdata(), Getformat(), Clear.

What is the different between Microsoft ODBC Driver and Oracle OBDC Driver?
Microsoft ODBC driver will support all the methods and properties of Visual Basic. Where as the
Oracle not.

What the RDO Methods and Events?
Methods Events
Begin Trans Validate
Commit Trans Reposition
Rollback Trans Error
Cancel Query Complied
Refresh
Update Controls
Update row

What is MAPI ?
Messaging Application programming Interface.

What is MDI form?
MDI Styles

What are the locks available in Visual Basic?
Locking is the process by which a DBMS restricts access to a row in a multi-user environment 4 types
of locks. They are
1. Batch Optimistic
2. Optimistic
3. Pessimistic
4. ReadOnly
Operations in a relational database act on a complete set of rows. The set of rows returned by a SELECT statement consists of all the rows that satisfy the conditions in the WHERE clause of the statement. This complete set of rows returned by the statement is known as the result set. Applications, especially those that are interactive and online, cannot always work effectively with the entire result set as a unit. These applications need a mechanism to work with one row or a small block of rows at a time. Cursors are an extension to result sets that provide that mechanism.
Cursor or lock type Advantages Disadvantages AdOpenForwardOnly (Default) Low resource requirements Cannot scroll backward No data concurrency AdOpenStatic Scrollable (Wont detect changes made at the same time by another application) No data concurrency AdOpenKeyset Some data concurrency Scrollable Higher resource requirements Not available in disconnected scenario AdOpenDynamic High data concurrency Scrollable Highest resource requirements Not available in
disconnected scenario AdLockReadOnly Low resource requirements Highly scalable Data not updatable through cursor AdLockBatchOptimistic Batch updates Allows disconnected scenarios Other users able to access data Data can be changed by multiple users at once AdLockPessimistic Data cannot be changed by other users while locked Prevents other users from accessing data while locked
AdLockOptimistic Other users able to access data Data can be changed by multiple users at once

Diff type of Datatypes?
LOB (Large Object Data type).
CLOB (Stores Character Objects).
BLOB ( Store Binary Objects such as Graphic, Video Chips and Sound files).
BFILE(Store file pointers to LOB It may Contain filename for photo’s store on CD_ROM).

What is Tabstrip control?
Libraries of procedure external to the application but can be called from the application.

What is Static Variable?
Its Scope will be available through out the life time.

What is DBSqlPassThrough?
It will By Passing the Jet Query Processor.

What is the starting Index value? How to locate it?
It is tab control to place our controls with in the form in multiple sheets.
Index starts with 1.
And to identify If Tabstrip1.SelectedItem.
Index = 1 Then ..
End if

What is Parser Bug?
It is difficult to use database objects declared in a module from within a form.

What is keyword used to compare to objects?
ISOperator Returns Boolean.

Suppose from form1 to form2 object property settings will arise to ?
Invalid procedure call or argument (Run time error 5)

What is the return type of Instr and Strcmp?
Instr integer (Numeric position)
Strcmp - integer ( if both the string are equal they result = 0)
Strcmp (Str1, Str2, Comparetype)
Comparing mode = 0 Binary Comparing
1 Textual Comparing

What is Implicit?
Instance of specific copy of a class with its own settings for the properties defined in that class.
Note: The implicitly defined variable is never equal to nothing.

What is Inprocess and Out of Process?
Inprocess It will run with in the memory. ( Local Machine). Out of Process It will run out of the memory Normally in the server side.

Where will we give the option explicit keyword and for what?
In the general declarations section. To trap undeclared variables.

How can we call Stored procedure of Back End in RDO and ADO ?
In RDO We can call using RDO Query Objects.
In ADO We can call using Command Objects.

What is Static Cursor?
In ADO Snap Shot is called so.

How to check the condition in Msgbox?
If(Msgbox("Do you want to delete this Record",VbYesNo)=VbYes)Then End if

What is control array and how many we can have it with in the form?
Group of control share the same name. Max 32, 767.

What is diff between the Generic Variable and Specific Variable?
Generic Variable:
Create Object Ex:-Ole-Automation . No need refer the object library.
Specific Variable:
Binding Procedure Early and Late Binding ( Can be Remove from the Memory).

What is the diff. Between function and sub procedures?
Function will return value but a sub procedure wont return values

What is the max size allowed for Extension in Visual Basic?
Frm, bas, cls, res, vbx, ocx, frx, vbp, exe

What is FireHouse Cursors?
Forward Only Some time Updateable

With in the form we want to check all the text box control are typed or not? How?
For each currentcontrol in controls
if typeof currentcontrol is TextBox then
end if
next

What are the type of validation available in VB?
Field, Form

How to trap Data Base Error?
Dim x as RDOError
X(0).Des
X(1).Number
Setting the Cursors.
Default Cursor 0
ODBC Cursor (Client side) 1
ServerSide Cursors (More Network traffic) - 2

How to declare Dll Procedure?
Declare function "" lib ""
Alias "" (Arg, ..) as Return type.

Referential Integrity (Take care By jet database Engine). Cascade Delete, Cascade Update is done setting property of Attributes.?
DbRelationDeleteCascade, DbRelationUpdateCascade.

How to increase the Date corresponding with month,date,year?
DateSerial(year(Now),Month(Now)+1,1)
Hour, min, sec, month, year, DateSerial, dateadd, datediff, weekday, datevalue, timeserial,timevalue.

Name some date function?
Dateadd(), Datediff(), Datepart(), Cdate()

What is difference between datagrid and flexgrid?
Datagrid Editable. Flexigrid Non-Editable. (Generally used for Read only purpose.)

What are two validate with Data Control?
Data_Validate, Data_Error.

To connect the Data Control with Back end What are all the properties to be set?
Data source Name, Record Source Name

What are the Technologies for Accessing Database from Visual Basic?set?
DAO, Data Control, RDO, ODBCDIRECT, ADO, ODBC API , 0040.

What is the diff between the Create Object and Get object?
Create Object - To create an instance of an object.
Get Object To get the reference to an existing object.

What is Mask Edit and why it is used?
Control. Restricted data input as well as formatted data output.

What is RdExecDirect?
Bypasses the Creation of a stored procedure to execute the query. Does not apply to Oracle.

Different type of Passing Value?
By value, By ref, Optional, Param Array. Note:- Optional keyword cannot be used while declaring
arguments for a function using param array.

What are types of binding?
Assigning variable with defined memory space.
Late Binding - Memory size is allotted in later stage.
Ex:- Dim x as object
Early Binding - Memory size is allotted while declaring itself. New Key word is important.
Ex:- Dim x as New Object

What is Dataware Control?
Any control bound to Data Control.
Ex:- Textbox, Check Box, Picture Box, Image Control, Label, List box, Combo Box, DB Combo,

What methods are used for DBGrid in unbound mode?
AddData, EditData, Readdata, WriteData.

What is ADO? What are its objects ?
ActiveX Data Object. ADO can access data from both flat files as well as the databases. I.e., It is
encapsulation of DAO, RDO, and OLE that is why we call it as OLE-DB Technology. Objects are
Connection, Record Set, Command, Parameter, field, Error, Property.

What is the max size allowed for Max Text box length.
32,000

Record set types and Number available in VB?
3.
1- Dynaset, 0 Table, 2 Snap Shot.

What is the max size allowed for Max Control Names length?
255.

How many procedures are in VB?
2.
function and sub procedures

What is the max size allowed for Max label caption length.?
2,048

what will be the result for 15/4 and 154 ?
15/4 = 3.75 and 154 = 3

What is the max size allowed for Msgbox Prompt and Input Box?
1024

Calling Stored Procedures in VB?
1. Calling Simply the Procedure with out Arguments "Call ProcedureName}"
2. If it is with Arguments Means then
Declare the Query Def qy
Set Qy as New Query def
Qy.SQL = "{Call ProcedureName(?

DSN Less Connection?
"Server=Oracle; Driver={Microsoft ODBC for Oracle};"

Ques:-  0 and -1 Error handling in VBA and VB6.
Ans :-  This is also called VBA default exception handling. When On Error Goto 0 is in effect, it is same as having no error handler in the code. Here we are instructing the program to display the standard runtime message box with ‘Continue’, ‘End’, ‘Debug’ and ‘Help’ buttons.

1. On Error GoTo 0 disables any error trapping currently present in the procedure.
2. On Error GoTo -1 clears the error handling and sets it to nothing which allows you to create another error trap.

After the first error is raised, it will GoTo ErrorFound which will then clear the routine's error handling and set a new one, which will GoTo AnotherErrorFound when an error is found.

Sub OnErrorGotoMinusOneTest()
    On Error GoTo ErrorFound
    Err.Raise Number:=9999, Description:="Forced Error"
    Exit Sub
ErrorFound:
    On Error GoTo -1 'Clear the current error handling
    On Error GoTo AnotherErrorFound 'Set a new one
    Err.Raise Number:=10000, Description:="Another Forced Error"
AnotherErrorFound:
    'Code here
End Sub



1. On Error GoTo 0 disables any error trapping currently present in the procedure.
2. On Error GoTo -1 clears the error handling and sets it to nothing which allows you to create another error trap.

Example: On Error GoTo -1

After the first error is raised, it will GoTo ErrorFound which will then clear the routine's error handling and set a new one, which will GoTo AnotherErrorFound when an error is found.

Sub OnErrorGotoMinusOneTest()
    On Error GoTo ErrorFound
    Err.Raise Number:=9999, Description:="Forced Error"
    Exit Sub
ErrorFound:
    On Error GoTo -1 'Clear the current error handling
    On Error GoTo AnotherErrorFound 'Set a new one
    Err.Raise Number:=10000, Description:="Another Forced Error"
AnotherErrorFound:
    'Code here
End Sub


Example: On Error GoTo 0

After the first error is raised, you will receive the error as error handling has been disabled.

Sub OnErrorGotoZeroTest()
    On Error GoTo 0
    Err.Raise Number:=9999, Description:="Forced Error"
End Sub