Newsgroup: it.comp.appl.access
Titolo: Validazione campi form

Ho questo form con diverse text box, da compilare in sequenza, dopodichč
tramite button i valori vengono associati al recordset e cosě compilo la mia
tabella.
Per fare cio, č necessario che io abbia cliccato su una casella per fare in
modo che il valore venga realmente preso.
Non so se sono stato chiaro. Il mio scopo č quello di poter fare tutto da
tastiera, passando velocemente da un campo all'altro con il tab, senza il
bisogno del mouse.
Nn riesco a fare in modo che, all'uscita da una casella (o all'entrata), mi
evidenzi il contenuto automaticamente, senza il click.
Quale metodo devo usare?
Grazie


Su attivato di ogni casella combinata scrivi
Me.ActiveControl.Dropdown
Ciao
Salvatore

 > Non so se sono stato chiaro. Il mio scopo č quello di poter fare tutto


 Grazie
Premetto che se imposti il Colore di sfondo della TextBox=Rosso, poi
Trasparente
ottini l'effetto che chiedi.
Il fatto invece del Salvataggio non avviene fintanto che non chiudi la Form,
oppure
agisci sul recordset, passando ad un altro Record.
L'alternativa è forzare il salvataggio con un comando:
        DoCmd.RunCommand acCmdSaveRecord
Ciao.
@Alex.


Con il Tab non generi Eventi di GotFocus e LostFocus, quindi puoi avere
difficoltà...!
Perchè non ti crei una Form associata e gli metti tutti i controlli
associati,
poi togli l'associazione sia della form che dei controlli, in questo modo
ti rimangono i controlli con i nomi dei campi della Tabella.
A questo punto sfrutti la proprietà TAG dei controlli e gli copi il Nome
del controllo stesso e da quì con un pò di codice 3 righe per capirci fai il
salvataggio.....!
Ovviamente devi individuare la CHIAVE PRIMARIA, quella che non  modifichi
poichè individua il record:
Private sub SalvaRec()
    dim rs as DAO.Recordset
    dim ctl as control
    set rs=currentdb.openrecordset("NomeTabelle),dbopentable)
    rs.findfirst "[NomeCampoPrimaryKey]" = Me.txtPrimaryKey   'se è tipo
testo inserisci i doppi apici
    rs.edit
    for each control in Me.Control
        if Len(ctl.TAG)>0 then
            rs.fields(ctl.tag)=ctl
        end if
    next
    rs.update
    rs.close
    set rs=Nothing
    me.requery
end sub

 ha scritto nel messaggio
news:bt8liv$ahe$1...@lacerta.tiscalinet.it...



Perchè hai usato una cosa che non funziona a fronte di una cosa che
funziona...????????
Hai usato un metodo tipico di ListBox... tu hai una ListBox con la quale
selezioni
i Clienti aii quali hai modificato i dati...?????
Se si devi usare un'altro sistema, se no hai 2 possibilità:
1)Spieghi bene una volta per tutte quello che fai e come lo vuoi fare
2)Fai di necessità virtù e di pazienza la tua esperienza, che riassunto
significa ci sbatti contro finchè non lo fai funzionare.....!!!
Ciao.
@Alex.

 ha scritto nel messaggio
news:bt9477$jpv$1...@lacerta.tiscalinet.it...



Non mi è ben chiara la necessità della ListBox, anzi secondo me non serve
proprio...!
Se usi una Maschera magari associata alla tabella Clienti e sfrutti la
TextBoxId come
criterio di Riposizionamento record non è più semplice....???
Il tuo CommandButton non deve fare altro che muovere fino al Record di cui
ID=TextBoxID.
Creati una ComboBox con l'autcomposizione e se fai attenzione durante il
Wizzard
c'è la possibilità di cercare il Record specifico....!
Devi solo prendere quel codice e sbatterlo nel Pulsante, sostituendo la
Combo con la tua TextBoxID.
Le INFO relative all'ID e ammennicoli vari essendo una Form associata
appaiono
automaticamente, e non devi fare nulla di più....!!!
Se per ogni Cliente vuoi anche vedere quali ORDINI ha fatto ed è proprio con
gli ordini
che vuoi popolare la ListBox devi solo inserire nella QRY della ListBox il
riferimento
dinamico alla TextBoxID ed eseguire il Requery della ListBox.....!!!
Nonostante la tua ulteriore spiegazione mi pare che fondamentalmente ci sia
un
grosso errore di base nella gestione dei dati, ma purtroppo non posso
aiutarti
non avendo sotto mano il PAPIRO...! ;-)
Ciao.
@Alex.

 ha scritto nel messaggio
news:bt970n$ltb$1...@lacerta.tiscalinet.it...

Ciao Alex
...il papiro te lo porterà la premiata ditta Befana & B...o  ;-)
visto che ancora non hai consigliato a Maurizio di scrivere DOPO il testo a
cui risponde e NON prima.
Ciao Daniele
ps. tutto bene le feste? digestione? :))

 ha scritto nel messaggio
news:bt970n$ltb$1...@lacerta.tiscalinet.it...


 ha scritto nel messaggio
news:FVVJb.47479$_P.19...@news4.tin.it...

Ops :) Scusa è l'abitudine

 Cosa sbaglio?
Ora nella tua ListBox hai come origine una QRY, basata sulla Tabella Clienti
in relazione
alla Tabella Ordini, e nel campo IdCliente della Tabella Ordini devi
inserire nella
Riga CRITERI il riferimento alla Combo, quindi sarà per esempio una QRY di
questo tipo...!
SELECT TblOrdini.Ordine, TblClienti.IdCliente, TblClienti.Nome
FROM TblClienti INNER JOIN TblOrdini ON TblClienti.Id = TblOrdini.IdCliente
WHERE TblClienti.Id=" & Forms!Ordini!ComboClienti
Ovvio che ad ogni cambio record devi eseguire il Requery della ListBox,
quindi
su Evento Current di Maschera esegui il Me.TuaListBox.Requery
MA......!!!
@Alex.


Chi sarebbe in società con la Befana.... che non capisco...?? ;-)
Ogni tanto mi sfugge..., ma grazie per l'attenta segnalazione
Feste tutto bene, ho pensato di prolungare, sono andato al lavoro
venerdì dopo 12gg di ferie e data la fatica mi sono proprio meritato
il ponte lungo della BEFANA.......!
@Alex.

 ha scritto nel messaggio
news:bt9fkb$tgu$1...@lacerta.tiscalinet.it...

Uff...lo dico sottovoce ma penso che ce l'abbiamo fatta.
Sbagliavo i collegamenti tra i vari campi delle tabelle, inutile dire quanto
sei stato prezioso, grazie per i consigli e le utili tecniche che mi hai
PAZIENTEMENTE illustrato.
Grazie ancora...


Non dirlo forte, quì che fa i miracoli ce n'è uno solo....!
Mi correggo ce ne sono 2 ma uno è morto 2004 anni fà l'altro
invece se sente che anch'io ho poteri paranormali mi fa fuori...!!
Mi consenta.
Ciao.
@Alex.

Vorrei chiederti la cortesia di poterti scrivere una Mail
diretta.
Se non hai problemi inviamela a 
ik2...@libero.it
Nulla di grave, ma mi serve un Test su un applicativo
che invierò al SC abbastanza complesso.
Ciao.
@Alex.