Newsgroup: it.comp.appl.access
Titolo: database con form nascosta in ascolto

� possibile utilizzare un database avendo una form nascosta con un campo che 
stia in ascolto e quando viene letto un barcode lei catturi quel barcode e 
faccia qualcosa, in caso contrario il db viene usato normalmente con quella 
form nascosta ma sempre in ascolto?
 
grazie. 
 

 ï¿½ possibile utilizzare un database avendo una form nascosta con un campo che 

Il barcode immagino sia cmq letto da qualcosa.....da una form specifica...Allora intercetti quell'evento (fai un po' di prove..current, dirty , adesso non saprei dirti) e scateni quello che devi. O vuoi leggere il barcode da un punto qualunque dell'applicativo?

il barcode da un punto qualunque dell'applicativo?
 
Vorrei che il barcode possa essere letto in qualsiasi momento ma il campo 
che legge il barcode potrebbe non essere attivo perch� l'utente sta 
lavorando in un altra form, forse � meglio se creo un applicativo a parte in 
vb che sta in ascolto ogni tot millisecondi e nel caso scrive nel db?
 
grazie. 
 

 grazie.
 
Mah...non lo so...un service di win??? Mi sembra un po' eccessivo....forse puoi rimediare con una macro

 grazie.
 
Se non ricordo male, ma premetto la mia completa ignoranza, il lettore
del BARCODE non fa altro che scrivere all'interno di una
TEXTBOX ATTIVA...
Questo tuttavia non genera EVENTO da quanto ricordo..., se questo è
vero... la soluzione esiste... ma non è gestibile in modo EFFICIENTE
con Access in quanto
l'hWnd del controllo nel quale scrivere è attribuito solo su ATTIVO...
quindi nemmeno da VB6 riusciresti a farlo...
L'unica tecnica sarebbe il SUBCLASSING, ma non può funzionare.
 
Se tutto quello che ho scritto è vero e se il tuo intento è di
GARANTIRE che la textbox di inserimento deve essere sempre attiva e
riconoscere l'inserimento... forse l'unico metodo è inserire un EVENTO
TIMER nella Form Stessa che ne forza lo stato ATTIVO della FORM ed il
FOCUS sulla TEXTBOX, in questo modo leggendo il contenuto della
textbox sai anche se è stata compilata...
Potresti dare una frequenza di 1secondo...
 
Valuta se quanto ti ho esposto ha senso...
 
@Alex


Quoto tutto @Alex, pensavo solo che i lettori introducono anche un carattere speciale alla fine (l'invio per esempio). Pensavo (ma SOLO pensavo...): se con una macro posso intercettare la pressione dei tasti (vedi alt+f4) a livello di applicazione e non di singola form (che è quello che chiede), forse posso intercettare anche una sequenza di x numeri e l'invio. Ma forse chiedo troppo e non conosco a sufficienza le macro per questo. A voi la palla!
 
Roby

 Roby
 
L'invio lo puoi intercettare... ovviamente... ma l'immissione di dati
che non vengono fatti da TASTIERA NO...!
 
Hai diversi EVENTI che catturano l'invio... Exit, AfterUpdate,
BeforeUpdate... ecc...!
 
Cosa completamente differente è ALT+F4.... per i quali serve attivare
un CallBack del sistema tramite la Macro AutoKeys.
 
Se da VBA vai a scrivere in una TEXTBOX non si scatena ALCUN evento...
ma se l'invio non è da VBA ma da AZIONE OPERATORE allora si che puoi
intercettare....
 
Si tratta di capire bene come deve essere gestito il tutto.
 
@Alex

che non vengono fatti da TASTIERA NO...!
 
Perch� no? il lettore funziona in emulazione tastiera come se il codice 
venisse digitato a mano.
 

 venisse digitato a mano.
 
Se fosse così, ed era la premessa della mia IGNORANZA, ma ti
suggerisco di accertarti di questo... non serve nulla di anomalo....
devi solo generare l'invio per generare gli eventi... altrimenti
potresti gestire il KEYPRESS o KEYDOWN per contare i CHARS inseriti e
capire
se sono tutti... dali fai quello che devi fare...
 
@Alex

@Alex
 
Ci provo grazie a tutti
 

 wrote in news:5153657a$0$37122
$
4faf...@reader1.news.tin.it
:

emulazione di tastiera = il pc lo riconosce come una tastiera
 
come fai a distinguere gli input da barcode da quelli dell'operatore?
 
se hai un lettore non economico quasi sicuramente lo puoi programmare e 
istruirlo per inviare caratteri e/o combinazioni prima del barcode per 
simulare l'interazione con i menu di access.
se pero' l'operatore e' in una popup il gioco non funziona.
se c'e' a video un messagebox il giro s'incricca.
se c'e' una stampa in corso rischi di cancellarla.
 
 
perche' *devi* avere una form nascosta per leggere i barcode e non puoi 
fare una form dedicata?
 
pulsante o voce di menu sempre visibili e cosi' anche l'operatore ha la 
certezza di quello che sta facendo.
 
-- 
Paolo opg
 
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 --
 
Troppi problemi a fare quello che vuoi. L'utente lavora in una form qualsiasi, non appena legge il barcode (ripeto, da ogni punto possibile dell'applicativo...comprese popup e report), Access fa una cosa. Mah....Propongo un'alternativa: affidi ad un tasto rapido (per es F12) a livello di applicativo il compito di aprire una banale maschera popup in primo piano che contiene solo un campo Textbox. Li digiti il barcode e tramite vba fai poi quello che vuoi. Per l'utente si tratta solo di premere F12, poi bippa. Non mi pare un grande sforzo...anche perchè dovresti (a braccio): fare un service di win; intercettare SE il code è bippato MENTRE il tuo applicativo è acceso;  intercettare SE il code è bippato MENTRE SEI EFFETTIVAMENTE sul tuo applicativo; smessaggiare ad access che è successo qualcosa (e vai di messaggistica win) e che si deve comportare di conseguenza. Ne vale la pena??? Io propendo per F12.....

Mi spiego meglio, il database servirà a gestire l'attività ma in ogni 
momento può arrivare un secondo utente che passa un articolo sotto il 
barcode laser e quando lo fà l'utente che usa il db non deve ogni volta 
dirgli "aspetta che attivo la form di lettura barcode o premo f12" ma 
appunto chiedevo se c'era il modo di avere un qualcosa di nascosto o anche 
visibile che avesse la priorità sul resto e fosse in ascolto
 
secondo me meglio un applicativo a parte magari in 
vb.net
 che si mette nella 
systray ed esegue un pooling ogni 1 ms
 
boo!
 


E' vero che oggi parlare di NET fa "figo"... ma secondo me non hai la
più pallida idea di quello che dici...
Ti ho cercato di spiegare già prima i motivi della difficoltà di
intercettare questo su Access, e se non li ha colti è perchè
sei molto lontano dall'aver analizzato tecnicamente il problema.
 
Boh...
 
Saluti
@Alex


Scusa non ho capito....tu usi il picci con il tuo programma...poi arriva uno, ti scippa il picci e bippa?
Tu lavori e tieni il lettore a 10 mt e uno bippa quando vuole?

 boo!
 
E' vero che oggi parlare di NET fa "figo"... ma secondo me non hai la
pi� pallida idea di quello che dici...
Ti ho cercato di spiegare gi� prima i motivi della difficolt� di
intercettare questo su Access, e se non li ha colti � perch�
sei molto lontano dall'aver analizzato tecnicamente il problema.
 
Boh...
 
Saluti
@Alex
 
Lungi da ma dal voler fare il figo, forse lo pensi tu ma ho detto Vb.net ed 
avrei potuto dire Vb6 qualunque linguaggio che permetta di creare un exe da 
mettere nella systray e che access non consente di fare, comunque grazie per 
la fiducia, io di solito "caro Alex" non giudico se non conosco bene la 
persona con la quale interloquisco
 
 

Tu lavori e tieni il lettore a 10 mt e uno bippa quando vuole?
 
Il pc � in una palesta e l'impiegata f� fatture, gestione abbonamenti ecc.. 
ecc...
arriva il figo palestrato di turno "che magari parla di 
vb.net
 mentre entra 
in palestra cosi f� pi� figo e striscia la tessera con barcode ma potrebbe 
essere badge e un qualche programma deve essere li pronto a recepire la 
strisciata, spero di essermi spiegato.
 
Grazie. 
 

 persona con la quale interloquisco
 
Continui a non capire il problema tecnico di base, che sia NET che sia
VB6 ... Delphi o C++ non cambia nulla, il problema è ACCESS...!!!
 
Chiaramente mi riferisco proprio ad un SW che gira in background che
intercetta quanto avviene su una textBox in Access...!!!!!!!!!
 
Per il resto... io non giudico, ma tu insistendo ti sei spiegato
benissimo... e su quello che hai detto ho fatto una considerazione
tecnica che ti assicuro essere esatta, non hai capito il problema,
cosa che non devi ritenere offensiva...
 
Quando lo affronterai, e mi auguro che lavorandoci accada, spero tu
possa arrivare a capire tecnicamente quanto ho cercato di spiegarti.
(magari ricorderai il discorso)
 
Saluti.
@Alex

 TEXTBOX ATTIVA...
 
Ciao Alex, "purtroppo" il lettore barcode quando legge un codice a
barre scatena sempre l'evento a prescindere dall'oggetto che il quel
momento ha il focus. Mi spiego meglio:
se il focus è all'interno di una casella di testo il barcode scrive il
codice e si ferma lì, mentre se il focus si trova su un pulsante
scatena comunque l'evento riferito al pulsante stesso, per cui la
preoccupazione di tmtube è comprensibile.
Ora, rispondendo a tmtube potrei dire che la soluzione solo lui la può
trovare considerando quello che ho già detto e cioè che nulla può
impedire il clic di un barcode sopra un codice a barre riconosciuto.
Vladimiro
 
 anche se, non è con una form nascosta che risolverebbe il problema


 Grazie.
 
Addesso sei stato chiaro...ho capito. Bon, lascia perdere l'F12 che nel tuo caso, ovviamente, non può essere usato. La soluzione potrebbe sarebbe un altro pc (anche antidiluviano) su cui far girare solo una form sempre attiva collegato al tuo db. Praticamente una multiutenza (che a questo livello è molto semplice sviluppare). Se no ti tocca inventarti qualche cosa che catturi l'evento Win a prescindere, decida se è una interazione dell'utente o il badge, si comporti di conseguenza. Ma leggere lo stack di win a me sembra una guerra, per questo utilizzo. Qua non saprei aiutarti, è troppo al di la delle mie conoscenze


riscrivo perch� non vedo il mio post...
avevo scritto che nelle palestre che ho frequentato, il lettore degli 
ingressi non � mai una pistola in emulazione tastiera ma sempre un 
lettore di badge (strisciata o contatto) rigorosamente su PORTA SERIALE.
essendo in seriale si puoi fare un programmino sempre in ascolto sulla 
porta che al momento della lettura faccia poi tutte le operazioni di 
scrittura nel db
 
ciao
BFS

 
In linea di massima hai ragione esistono per� anche lettori di badge usb che 
per� forse sono gestiti come seriale? non ne sono sicuro.
 


 
probabile che oltre alla usb abbiano qualche ocx o software a corredo in 
questo caso
 
ciao
BFS

 
 
i lettori di badge per controllo accessi (perche' di questo si tratta) di 
solito sono apparecchi indipendenti; chi entra striscia il badge/legge il 
barcode e il lettore lo registra nella sua memoria interna.
la seriale serve perche' il tuo software, tramite apposito pulsante, 
interroga l'apparecchio e scarica i dati registrati.
 
senza contare che se per sbaglio la palestra ha due ingressi ai due lati 
opposti dell'edificio con il sistema che hai pensato tu sei fregato (no, un 
cavo usb da 150 metri non e' una bella idea)
 
se il tuo scopo e' quello di fare un controllo accessi il lettore 
'dipendente' dal pc secondo me non e' la strada giusta.
