VB Le domande pg 2
 

Richiamare una macro di Execl97

Come posso richiamare  una macro di Excel97 da un programma scritto in VB6 ?

In pratica excel puo considerarsi un   activex, di conseguenza è  possibile istanziare un oggetto di
tipo "Excel.Application"

Set Ex5 = GetObject(, "Excel.Application")

di seguito dall'istanza EX5 è possibile usufruire dei servizi esposti
dall'oggetto, come creare un nuovo foglio

Set NewWS = Ex5.Worksheets.Add

oppure, scrivere nelle celle, usare le tabelle pivot. ( File d'esempio  
MacroExcelVb.zip

 

Come posso sapere se un form è aperto?

Per sapere se un Form è aperto si può fare così:
Dim frm As Form
For Each frm In Forms
If frm.Name = "MioForm" Then
'Fa qualcosa col Form
Next

 

Stack Overflow errore

A volte usando un  DataControl compare il messaggio di "Stack Overflow", anche con piccole operazioni di editazione e salvataggio perchè ?

Lo stack overflow lo si ha quando una procedura richiama se stessa ricorsivamente, senza via d'uscita. Controlla che non  accada questo.

 

Vorrei adoperare il tasto enter o invio al posto di tab  per spostarmi tra i campi in un form come devo fare ?

1) imposta la proprietà KeyPreview del Form = True, in modo che il Form riceva gli eventi della tastiera prima dei controlli interessati.

2) nell'evento Form_KeyPress inserisci un codice di questo tipo, simulando la pressione del tasto TAB quando l'utente invece ha   premuto il tasto INVIO:

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys ("{TAB}")
KeyAscii = 0
End If
End Sub

 

Utilizzo di una formula SQL in un programma VB

Domanda
Sto lavorando su un database attraverso una db grid, vorrei poter usare la select del linguaggo SQL, ma ovunque scrivo il codice VB la identifica come una select case e mi da errore.
Ho bisogno di una sintassi per introdurre il linguaggio SQL ?
Risposta.
Le Query SQL sono stringhe di caratteri che contengono dei comandi in una forma simile alla normale lingua inglese quindi con una buona leggibilità. Queste stringhe devono venir assegnate alla proprietà RecordSource di un DataControl come se fossero nomi di tabelle reali di un database.
La dicitura di una query deve venier racchiusa tra virgolette come nell'esempio qui di seguito.

Private Sub Command1_Click( )
Dim MiaQuery As String
MiaQuery = "Select * From Provincie"
Data1.RecordSource = MiaQuery
Data1.Refresh
End Sub