Newsgroup: it.comp.lang.visual-basic
Titolo: Messaggio di attesa

Salve al gruppo
Ho un piccolo problema da risolvere e non riesco a trovare la soluzione.
ecco spiegato il problema :
Ho un grosso archivio di 400-500 mila record
quando faccio una query cambiando i parametri ci impiega un botto x ridare 
il controllo.
Mi serviva poter avvisare l'utente con un messaggio , una clessidra , una 
barra di avanzamento....
Come posso fare ???
Se metto una MsgBox devo anche premere un tasto per andare avanti ... e 
vorrei evitarlo.
Grazie
Max

 e vorrei evitarlo.
Una Label con scritto qualcosa che diventa invisibile a operazioni concluse
-- 
Greg 

 Come posso fare ???
Una form con una label con scritto
Elaborazione in corso.
Poi magari metti una progress bar.
e fai
form.show senza vbModal

 Poi magari metti una progress bar.
Tieni anche presente che per poter far avanzare la progress bar durante 
l'operazione, occorre eseguire la query in modo asincrono.
Bye
Raf

 l'operazione, occorre eseguire la query in modo asincrono.
Io alla fine non avevo necessità che fosse un conteggio reale, ma che
l'utente capisse che il programma stesse lavorando.
Uno shape e un timer.
Poi lo farò decente graficamente :)
| VERSION 5.00
| Begin VB.Form FrmMessaggio 
|    BorderStyle     =   1  'Fixed Single
|    Caption         =   "Form1"
|    ClientHeight    =   780
|    ClientLeft      =   45
|    ClientTop       =   330
|    ClientWidth     =   3345
|    LinkTopic       =   "Form1"
|    MaxButton       =   0   'False
|    MinButton       =   0   'False
|    ScaleHeight     =   780
|    ScaleWidth      =   3345
|    StartUpPosition =   2  'CenterScreen
|    Begin VB.Timer Timer1 
|       Interval        =   30
|       Left            =   2880
|       Top             =   0
|    End
|    Begin VB.Shape shpProgress 
|       BackColor       =   &H00800000&
|       BackStyle       =   1  'Opaque
|       BorderStyle     =   0  'Transparent
|       FillColor       =   &H8000000F&
|       FillStyle       =   3  'Vertical Line
|       Height          =   255
|       Left            =   120
|       Top             =   480
|       Width           =   3135
|    End
|    Begin VB.Label Label1 
|       Caption         =   "Elaborazione in corso....."
|       BeginProperty Font 
|          Name            =   "MS Sans Serif"
|          Size            =   12
|          Charset         =   0
|          Weight          =   700
|          Underline       =   0   'False
|          Italic          =   0   'False
|          Strikethrough   =   0   'False
|       EndProperty
|       Height          =   375
|       Left            =   120
|       TabIndex        =   0
|       Top             =   120
|       Width           =   3135
|    End
| End
| Attribute VB_Name = "FrmMessaggio"
| Attribute VB_GlobalNameSpace = False
| Attribute VB_Creatable = False
| Attribute VB_PredeclaredId = True
| Attribute VB_Exposed = False
| 
| Private Sub Timer1_Timer()
|   'Disegno rettangolo stile progress bar
|   If shpProgress.Width > 3100 Then
|     shpProgress.Width = 0
|   Else
|     shpProgress.Width = shpProgress.Width + 120
|   End If
| 
| End Sub

 Poi lo farò decente graficamente :)
Quello che intendevo dire io è che il metodo Execute dell'oggetto ADO 
Connection (o Command) è *bloccante*, a meno di non specificare 
adAsyncExecute, adAsyncFetch o adAsyncFetchNonBlocking.
Quindi mentre è in esecuzione in modo sincrono, eventi di interfaccia 
utente, timer e quant'altro sono bloccati.
Bye
Raf 

 utente, timer e quant'altro sono bloccati.
Ah vabbè, io faccio lo .show prima, poi se rimane bloccato amen :)

 ha scritto nel messaggio 
news:47cd8d98$0$17950$4faf...@reader1.news.tin.it...
