how do i make the programme wait untill a particular event happens......

i read it on the msdn....that by inserting "App.WaitForEvents" where i wanted to make my programme wait for the event i could do it.....

but when i tried putting this line in the programme the compiler didnt recognize the WaitForEvents method.....

can anybody help me out with any other alternative???

See, every control event is associated with the form at the design time itself and when it become activated it automatically wait for all control events associated with that form. Why, you want specifically mention in your program to wait for the control to happen I can't understand. Please do explaine a little further. If it is for some other event such as Mouse focus,drag etc. or triggers fired you can make your application to wait for those things.

when what becomes activated???....the form or the control event....i couldnt understand

Again see, there are events associate with your form which are known as control events. ie. when command is clicked etc. OK. There are other events such as connection events, mouse events, objects state property etc. etc
More over there is EventStatusEnum. having values to understand.

For a particlar object to trap the events you have to specifically mention during the declaration time eg. a connection event is declared below.

Dim WithEvents CNN. as ADODB.Connection
Set CNN = New ADODB.Connection


Then you can trap this even as below

Sub CNN_ExecuteComplete(. . .)
If pError.Number<> 0 Then
..handle error here
Else
...Proceess your recordset
End If
End Sub

Beware the above code will give you error if pError doesn't happen
for that you have to check adStatus <>adStatusOK then you can examin the number property of the pError..

That's ok

simply you can ask your object CNN to wait as below
for that you have to instatiate another ADODB method ie Command

Dim myCommand as new ADODB.Command

Then you can carry on checking its status as below

While myCommand.State = AdStateExecuting

DoEvents

Wend
Debug.Print "Command1 Executed"

The program wait for the event to finish
then it prints the message

Too much I hope. But it will give you some idea.
Please get back to me. Send message so that i will be notified.

i tried out the command thing also sir....but it is not working out that ways also ....

its not waiting gor events to happen...

Please send me the piece of code. I can't understand you at all. You are talking something else, other than waiting for some event to finish.

actually sir .....after calling th showform function present in the dll....i want the programme to wait for the user to click on the command button(event)......

in the command_click event i have put the follwing code

Public Sub Login_Click()

Dim Ctr As Integer
Ctr = 0
For Ctr = 0 To (Form1.CboUserName.ListCount - 1) Step 1

If Form1.Text1.Text = Form1.CboUserName.List(Ctr) And Form1.Text2.Text = Form1.CboPassword.List(Ctr) Then
Validate = True

Else
Validate = False

End If


Next

End Sub

Now based on the value fo this integer variable Ctr1 , i want to proceed further as

If Ctr1=1
KRN_StartForm 'another function
Else MsgBox "Access Denied

these above four lines are present in the module of the project....

but what is happening is the programme is not waiting for the user to click the command button....rather it takes the value of Ctr1=0 and shows "access denied"......

Earlier I asked you a simple question whether the Login in your Login_click()
is actually the NAME of the control or it's CAPTION

ya the form is visible.....and the form is not exited....it is there the whole time

You just delete the login command button of the form and add a new command button and only change its cation as LOGIN.

then instead of sub Login_Click()
rewrite it as

Sub Command1_Click()

I hopy it is the first command button in the form.Other wise you have to change 1,2,3 etc.

run the program and get back to me.

we are close to solving the problem.

This article has been dead for over six months. Start a new discussion instead.