Condividi:        

Access - Tastiera virtuale al 99% - Problema con "space"

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Access - Tastiera virtuale al 99% - Problema con "space"

Postdi ciryx » 14/07/10 10:20

Eccomi di nuovo a Voi, grazie a Flash30005 ho praticamente raggiunto il mio scopo, ora veniamo al dunque, ho creato una tastiera virtuale completa dei soli tasti alfabetici, ho creato dei comandi che al clic del pulsante verifichino quale form risulta attivo, intercettino ("captino") il testo già presente nel form stesso prima di digitare il pulsante cliccato ed inviino la lettera che voglio eseguendo questo script:

Private Sub A_Click()
Screen.PreviousControl.SetFocus
If Screen.ActiveControl.Name = "TestoC" Then
SendKeys TestoC & ("A")
End If
If Screen.ActiveControl.Name = "TestoN" Then
SendKeys TestoN & ("A")
End If
End Sub

Uno per ogni lettera avviamente, per il tasto bacspace ho creato questo :

Private Sub DEL_Click()
Screen.PreviousControl.SetFocus
If Screen.ActiveControl.Name = "TestoC" Then
SendKeys TestoC & ("{BS}")
End If
If Screen.ActiveControl.Name = "TestoN" Then
SendKeys TestoN & ("{BS}")
End If
End Sub

e fino a qui tutto ok, il problema sorge con lo spazio, quando genero lo spazio lo scrive regolarmente dopo una lettera ma ne cliccare la lettera successiva il testo captato risulta sempre senza spazi bianchi pertanto prosegue la scrittura ma omette lo spazio, esempio, clicco su d poi su e e mi scrive de, clicco su spazio ed ottendo de(spazio) e fino qui tutto bene, clicco sulla m e mi appare dem.
Significa che lo spazio non viene considerato come un carattere pertanto il comando capta solo le lettere, esiste un modo di far riconoscere lo spazio come carattere? ho avuto la malsana idea di sostituire tutti gli spazi con una underscore ma non è il massimo vedere un de_ma... come cognome.
Grazie in anticipo.
ciryx
Utente Junior
 
Post: 14
Iscritto il: 29/06/10 16:04

Sponsor
 

Re: Access - Tastiera virtuale al 99% - Problema con "space"

Postdi ciryx » 14/07/10 10:22

Dimenticavo lo spazo ho provato a generarlo sia così

Private Sub SP_Click()
Screen.PreviousControl.SetFocus
If Screen.ActiveControl.Name = "TestoC" Then
SendKeys TestoC & ("{ }")
End If
If Screen.ActiveControl.Name = "TestoN" Then
SendKeys TestoN & ("{ }")
End If
End Sub

che così

Private Sub SP_Click()
Screen.PreviousControl.SetFocus
If Screen.ActiveControl.Name = "TestoC" Then
SendKeys TestoC & ("{SPACE}")
End If
If Screen.ActiveControl.Name = "TestoN" Then
SendKeys TestoN & ("{SPACE}")
End If
End Sub

si con i caratteri ascii ma niente da fare. :cry: :cry: :cry:
ciryx
Utente Junior
 
Post: 14
Iscritto il: 29/06/10 16:04

Re: Access - Tastiera virtuale al 99% - Problema con "space"

Postdi Flash30005 » 14/07/10 11:03

Non credo che sia una questione di codice e penso tu abbia usato anche
Chr(32)

Ma da qualche parte, o nel box dove stai scrivendo la stringa, ci sia qualche codice che toglie gli spazi (Trim)
questo solo tu lo puoi sapere
quindi o trovi la causa di questa "pulizia" oppure puoi usare un sotterfugio di questo tipo:
nella macro dello spazio inserirai la variabile
Codice: Seleziona tutto
Private Sub SP_Click()
Spazio = 1
End If

e in ogni lettera metterai la condizione che se Spazio è uguale a 1 scrive uno spazio e la lettera altrimenti solo la lettera
Private Sub A_Click()
Screen.PreviousControl.SetFocus
If Screen.ActiveControl.Name = "TestoC" Then
If Spazio = 1 then
SendKeys TestoC & Chr(32) & ("A")
Spazio = 0
else
SendKeys TestoC & ("A")
end if
End If
If Screen.ActiveControl.Name = "TestoN" Then
If Spazio = 1 then
SendKeys TestoN & Chr(32) & ("A")
Spazio = 0
else
SendKeys TestoN & ("A")
endif
End If
End Sub

In questa maniera lo spazio all'interno nella stringa non dovrebbe essere cancellato

Fai sapere
Ciao

N.B. Ricorda di dichiarare "Spazio" come Variabile pubblica (all'inizio del modulo: sopra a tutte le macro)
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Access - Tastiera virtuale al 99% - Problema con "space"

Postdi ciryx » 14/07/10 14:55

Ottimo flash, dichiarato la variabile e modificato i passi del listato come da tue direttive, solo che non mi permetteva di usare il codice ascii 32 pertanto ho lasciato SendKeys TestoC & ("{ }") & ("A") e gira che è un piacere, ancora grazie mille, solo una dritta ancora, avvio il database e la maschera si avvia in automatico ma non a tutto schermo, esiste il modo di farlo? Ho gia disattivato le visualizzazioni delle varie barre e database (usando poi il tasto alt + dx e apri sul file per modificarlo) però devo sempre cliccare per vedere la mschera a tutto schemo. Non è un gran problema dato che lo farei personalmente all'avvio del pc e poi il prog gira per conto proprio, ma se qualcun'altro deve riavviare il pc mi rimane la maschera ridotta.
Grazie millo comunque sei proprio un mago di VBA.
Dim
ciryx
Utente Junior
 
Post: 14
Iscritto il: 29/06/10 16:04

Re: Access - Tastiera virtuale al 99% - Problema con "space"

Postdi Flash30005 » 14/07/10 15:18

Se ho capito bene hai la maschera più piccola della finestra quindi la cosa più semplice è andare in struttura della maschera modificare le sue dimensione trascinando con il mouse il bordo sui due lati
(porti alle stesse dimensioni della finestra visibile)
clicchi sulla "X" in alto a destra per chiudere la maschera e al messaggio di avviso premi Ok per salvarla.

Altrimenti devo trovare il codice vba che fa aprire la maschera alle massime dimensioni all'avvio del Db
(codice che ora non ricordo).

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Access - Tastiera virtuale al 99% - Problema con "space"

Postdi ciryx » 14/07/10 15:29

La maschera è gia dimensionate tale da occupera l'intero spazio visibile ma appare aperta in finestra (ripristina in basso), cliccando sul quadratino (ingrandisci) occupa tutto lo schermo, dato che prevedo in avvio di far sparire tutte le barre dell'applicativo compresa quella dei menù non sarà più possibile ingrandire nemmeno la maschera, ora vedo se trovo in giro qualche info per attivarla a pieno schermo.
Grazie ancora.
Dim
ciryx
Utente Junior
 
Post: 14
Iscritto il: 29/06/10 16:04

Re: Access - Tastiera virtuale al 99% - Problema con "space"

Postdi ciryx » 14/07/10 15:38

Risolto amici, ho creato una macro con funzione di ingrandisci che si avvia all'evento di apertura della maschera, in questo modo la maschera si avvia in automatico, si ingrandisce a tutto schemo e il gioco è fatto.
Dim
ciryx
Utente Junior
 
Post: 14
Iscritto il: 29/06/10 16:04

Re: Access - Tastiera virtuale al 99% - Problema con "space"

Postdi Flash30005 » 14/07/10 15:55

1) Apri la tua maschera in modalità Struttura
2) Clicca sulla parte grigio scuro, ovvero quella esterna all'area dove hai posizionato i controlli
3) Seleziona, nella finestra delle proprietà, il tab "Evento"
4) Seleziona sotto: "su apertura" e poi sui tre puntini [...] a destra
5) nella nuova finestra seleziona "Generatore di macro"
6) dai alla macro un nome e premi OK
7) nella colonna Azione, premi l'elenco a discesa della prima riga e seleziona : "Ingrandisci"
8 ) Chiudi la finestra del "Generatore di Macro" e salva le modifiche.

da adesso in poi, quando aprirai la maschera, la troverai massimizzata, in modo da riempire l'intera area dello schermo.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Access - Tastiera virtuale al 99% - Problema con "space"

Postdi ciryx » 15/07/10 00:00

Proprio così flash solo che tu l'hai spiegato nei minimi dettagli, grazie ancora.
ciryx
Utente Junior
 
Post: 14
Iscritto il: 29/06/10 16:04


Torna a Applicazioni Office Windows


Topic correlati a "Access - Tastiera virtuale al 99% - Problema con "space"":


Chi c’è in linea

Visitano il forum: Nessuno e 38 ospiti