Newsgroup: it.comp.lang.visual-basic
Titolo: Trasformare l'evento di un bottone in una procedura automatica

Nella mia form ho un bottone con una funzione che mi recupera determinati 
dati, quindi ogni volta che apro tale form, devo premere questo bottone e 
recuperare i dati.
Ora vorrei che sia fatto in automatico all'avvio della form e quando cambio 
record.
Ho provato a inserire la chiamata della funzione in 
datPrimaryRS_MoveComplete, ma per alcune funziona, mentre per altre mi da 
l'errore Type mismatch
La funzione che mi da problemi č:
Private Sub recupero()
Dim TempPath As String
Dim NomeFile As String
Dim ExeCmd As String
ExeCmd = ""
TempPath = "c:\temp"
Call clear
NomeFile = "temp.tar"
Call getBlobAdo(TempPath & "\" & NomeFile, 
datPrimaryRS.Recordset.Fields("FILE_BLOB"))
ExeCmd = App.path & "\7za.exe e " & TempPath & "\" & NomeFile & " -o" & 
TempPath & " *.* -aoa -r"
Dim Scr As New WshShell
Scr.Run ExeCmd, vbMinimizedNoFocus, True
Set Scr = Nothing
Dim Fs As New FileSystemObject
If Fs.FileExists(TempPath & "\" & NomeFile) Then Fs.DeleteFile TempPath & 
"\" & NomeFile, True
txtFields(4).Text = Dir("c:\temp\*.ph1")
txtFields(6).Text = Dir("c:\temp\*.msh")
txtFields(7).Text = Dir("c:\temp\*.txr")
txtFields(8).Text = Dir("c:\temp\*.ri1")
Set Fs = Nothing
End Sub
Quella invece che mi viene eseguita tranquillamente č:
Private Sub clear()
txtFields(4).Text = ""
txtFields(6).Text = ""
txtFields(7).Text = ""
txtFields(8).Text = ""
Dim Fs As New FileSystemObject
If Fs.FolderExists(TempPath) Then Fs.DeleteFile TempPath & "\*.*", True
End Sub

 l'errore Type mismatch
Ecco, passi il thread precedente, ma non è che in generale chi risponde
possa sempre mettersi ad analizzare il codice che posti ed indovinare le
cause degli errori.
Prova un po' a capire da solo perché VB in certi momenti ti indica una certa
istruzione di quella sub come contenente l'errore di "incompatibilità tra
tipi"...
Raf


Ho avuto necessità di utilizzare le due procedure su un altro evento quando 
la form già aperta e sullo stesso record e mi funziona.
Mi da prob solo sul cambio di record da quel che mi sembra di notare 

 record.
In che modo cambi record?
Tramite un pulsante?
Da una lista?
-- 
Ciao,
	Fabrizio
===  
http://www.negusweb.it
  ===

 Da una lista?
Ho creato la form con il wizard e mi ha creato in automatico un adodc col 
quale cambio record 

asterix ha scritto:


Credo che l'adodc abbia un evento che scatti al cambio di record.
Nella ruotine di questo evento chiama la funzione comune ai due 
controlli (pulsante e adodc).


 (pulsante e adodc).
L'adodc e i tasti per scorrere il record sono tutto una cosa.
L'evento che dovrebbe fare al caso mio è MoveComplete, ma proprio su quello 
ho provato a metterci la chiamata egli eventi dei bottoni e mi da errore sui 
tipi, che sinceramente non riesco a capirne il motivo 

 ha scritto nel messaggio
news:434a449d$0$24642$4faf...@reader3.news.tin.it...

Su quale istruzione dà l'errore? Hai provato a vedere se i valori e i tipi delle
variabili referenziate nell'istruzione sono congruenti?
Bye
Raf

 tipi, che sinceramente non riesco a capirne il motivo
Riporta la parte di codice che inserisci all'interno di MoveComplete,
cosi' possiamo vedere meglio dove potrebbe essere l'errore.

cosi' possiamo vedere meglio dove potrebbe essere l'errore.
Sono le chiamate alle funzioni generate dai comandi che ho riportato nei 
post precedenti
Mi da errore sulla funzione "recupera" 

 ha scritto nel messaggio
news:434a6c55$0$24643$4faf...@reader3.news.tin.it...

Avevamo capito, quello che non ci hai detto è quale linea della funzione
recupero() genera l'errore. Non so, magari è questa:
Call getBlobAdo(TempPath & "\" & NomeFile,
datPrimaryRS.Recordset.Fields("FILE_BLOB"))
eh?
Bye

 datPrimaryRS.Recordset.Fields("FILE_BLOB"))
Facendo il debug, effettivamente va in errore all'interno della funzione 
getBlobAdo..., ovvero quando deve recuperare il file all'interno di un campo 
blob nel DB Oracle